Posted
Filed under JSP, JAVA

page 디렉티브는 autoFlush 속성을 제공하고 있으며, 이속성을 사용하면 버퍼가 다 찼을 경우 AutoFlush가 treu이면
   - 버퍼가 다 찾을 경우 버퍼를 플러시하고 계속해ㅔ서 작업을 진행한다.

AutoFlush가 false 이면
   - 버퍼가 다 찼을 경우 예외를 발생시키고 작업을 중지한다.


//autoFlush 의 값이 false, ture값에 따른 에런 메시지 출력

<예제>

<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page buffer="1kb" autoFlush="false" %>

<%
 for(int i=0; i<=1000; i++){
%>
 1234
<%
 }
%>



<err_code>

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /autoFlush.jsp at line 6

3: 
4: <%
5: 	for(int i=0; i<=1000; i++){
6: %>
7: 	1234
8: <%
9: 	}


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:404)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.io.IOException: Error: JSP Buffer overflow
	org.apache.jasper.runtime.JspWriterImpl.bufferOverflow(JspWriterImpl.java:165)
	org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:328)
	org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:342)
	org.apache.jsp.autoFlush_jsp._jspService(autoFlush_jsp.java:59)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.


 

2009/07/17 20:22 2009/07/17 20:22
Posted
Filed under JSP, JAVA
/WEB-INF/ - 웹 어플리케이션을 실행하는데 필요한 클래스 파일 및 설정 파일등이 저장.

/WEB-INF/web.xml - 웹 어플리케이션에 대한 전반적인 설정 정보 저장

/WEB-INF/classes - 웹 어플리케이션에 사용하는 클래스 파일이 위치한다.

/WEB-INF/lib - 웹 어플리케이션에서 사용하는 jar 파일이 위치한다.

/WEB-INF/tld  - 태그 라이브러리 관련 설정 파일은 보통 tld폴더에 저장 한다.


--> WEB-INF 폴더 및 그하위 폴더를 제외한 나머지 폴더는 웹 어플리케이션에서 사용 되는 jsp,
      HTML파일이 위치 한다.
2009/07/17 20:22 2009/07/17 20:22
Posted
Filed under JSP, JAVA

톰켓이 설치된 폴더의 /webapps/폴더명  ==>  localhost/폴더명 으로 메칭된다.
가령  /webapps/visualp  폴더가 있다면 하나의 어플단위로 인식하여 localhost/visualp/로 인식 한다.

Root 폴더는 기본 웹 어플리케이션으로 이식하여 실행한다.
단 webapps/  하위에 어플이 존재할 경우 먼저 실행한다 없다면 Root 폴더 실행

webapps 경로 설정을 변경하기 위해서는 server.xml파일을 직접 설정 정보를 추가한다.


<Host>
      <Context path=""  docBase="" />
</Host>


path  - 웹 어플리케이션의 경로명 (논리적)
docBase - 웹 어플리케이션이 위치한 경로명 (물리적)
HOST 테그 사이에 Context  테그를 추가한다.

2009/07/17 20:21 2009/07/17 20:21
Posted
Filed under JSP, JAVA

<%@ page contentType="text/html; charset=euc-kr"%>
<%
     String forwardPage=null;
   
    //조건에 따른 이동할 페이지 지정
    if(Condition1){
     forwardPage="url1";
   } else if(Condition2{
    forwardPage="url1";
   }
%>

<jsp:forward page="<%=forwardPage%>" />

전 페이지에서 넘어온 form값도 전달이 됨으로 게시판에서 분기문으로 사용 하면 유용 할듯


이동할 페이지에 정보 전달하기
<jsp:forward page="">
       <jsp:param name="first" value="visualp">
       <jsp:param name="second" value="jsp">
</jsp:forward>

2009/07/17 20:21 2009/07/17 20:21
Posted
Filed under JSP, JAVA
<jsp:include page="" flush="false">
     <jsp:param name="name1"  value="value1" />
     <jsp:param name="name2"  value="value2" />
</jsp:include>


//php의 include와 같은 역할
2009/07/17 20:21 2009/07/17 20:21
Posted
Filed under etc

exe 파일을 무한데로 감염시키는 악성 바이러스 ..
메모리 검사후 치료 하는 백신입니다.
안철수 연구소에서....

v3virut.com

2009/07/17 20:20 2009/07/17 20:20
Posted
Filed under music
My life would suck without you - 네가 없다면 내 삶은 형편없을거야
2009/07/17 20:20 2009/07/17 20:20
Posted
Filed under C#
[펌] - http://www.xevious7.com/342 

#에서 MySQL을 연동하기 위해서 기본적으로 선행해야 될것들에
대한 짧은 정리

mysql org 사이트의 net관련 Connecter를 다운로드하여 설치한다.
http://dev.mysql.com/downloads/connector/net/5.2.html

관련 프로젝트에서 Project(프로젝트) -> Add Reference(참조추가) 에서
.NET 탭에서  MySQL.Data 를 추가한다.


실제로 프로그래밍을 위한 문서와 샘플은 다음의 디렉토리에 있다.
Program Files -> MySQL ->MySQL Connecter -> Document
Program Files -> MySQL ->MySQL Connecter -> Samples

접속의 예)
private MySqlConnection  conn;
private void connectBtn_Click(object sender, System.EventArgs e)
 {
  if (conn != null)
   conn.Close();

  string connStr = String.Format("server={0};user id={1}; password={2}; database=mysql; pooling=false",
   server.Text, userid.Text, password.Text );
// 코넥션 스트링을 외부텍스트콘트롤 server, userid , password 의
text값을 이용하여 생성
.

  try
  {
   conn = new MySqlConnection( connStr ); // 코넥션 스트링으로 새로운 코낵션생성
   conn.Open(); // 접속

   GetDatabases();
  }
  catch (MySqlException ex) // 익섹션처리는 MySqlException으로 정의
  {
   MessageBox.Show( "Error connecting to the server: " + ex.Message );
  }
 }

명령의 실행의 예)
private void GetDatabases()
 {
  MySqlDataReader reader = null;

  MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", conn);
  try
  {
   reader = cmd.ExecuteReader();
   databaseList.Items.Clear();
   while (reader.Read())
   {
    databaseList.Items.Add( reader.GetString(0) ); // 리스트콘트롤에 결과값을 추가함
   }
  }
  catch (MySqlException ex)
  {
   MessageBox.Show("Failed to populate database list: " + ex.Message );
  }
  finally
  {
   if (reader != null) reader.Close();
  }
 }

위 소스는 샘플 디렉토리의 샘플소스에서 발췌하였고 , 주석은 설명을 위해
추가작성함.

2009/07/17 20:19 2009/07/17 20:19
Posted
Filed under C#
1. Flash Player 설치

2. VS2005 도구상자(Toolbox) - 항목선택(Choose Items) - COM 구성요소(Components) - Shockwave Flash Object 추가

3. AxInterop.ShockwaveFlashObjects.dll 을 Flash 를 사용하는 프로젝트의 obj/Debug 폴더 안에 추가

4. 도구상자에 추가된 SFO(ShockwaveFlashObject)를 디자인 창으로 가져온다.

 

c# 코드===================

private void axShockwaveFlash1_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            //Flash 로부터 정보 받기
            XmlDocument XmlDoc = new XmlDocument();
            XmlDoc.LoadXml(e.request);

            XmlNodeList ArgumentList = XmlDoc.GetElementsByTagName("arguments");

            String XmlArguments = ArgumentList[0].InnerText;// +Environment.NewLine;
            String[] arg = XmlArguments.Split('|');

            if (arg[0] == "GetWaitList")
                MessageBox.Show("Success");


        }   public Form1()
        {
            InitializeComponent();
            this.axShockwaveFlash1.FlashCall +=
              new AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEventHandler(this.axShockwaveFlash1_FlashCall);

        }


        private void axShockwaveFlash1_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            //Flash 로부터 정보 받기
            XmlDocument XmlDoc = new XmlDocument();
            XmlDoc.LoadXml(e.request);

            XmlNodeList ArgumentList = XmlDoc.GetElementsByTagName("arguments");

            String XmlArguments = ArgumentList[0].InnerText;// +Environment.NewLine;
            String[] arg = XmlArguments.Split('|');

            if (arg[0] == "ButtonClick")
            {
                MessageBox.Show("ButtonClick Success");
               
            }
            else if (arg[0] == "ReceivedFlex")
                MessageBox.Show("ReceivedFlex Success");


        }

        private void sendToFlash(string value1, string value2)
        {
            string args;

            args = "<invoke name=\"receive\" returntype=\"xml\">";
            args += "<arguments>";
            args += "<string>" + value1 + "</string>";
            args += "<string>" + value2 + "</string>";
            args += "</arguments>";
            args += "</invoke>";

            //Call Flash Function

            this.axShockwaveFlash1.CallFunction(args);

        }

        private void button1_Click(object sender, EventArgs e)
        {
            sendToFlash("SendToFlex", "bb");
        }

    }


Flex 코드 ======================

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
 
 <mx:Script>
  <![CDATA[
  import flash.external.ExternalInterface;
  import flash.events.*;
  import flash.utils.*;
  import flash.events.TimerEvent;
  import mx.controls.Alert;
  import flash.display.*;
 
  private function initApp():void
  {   
   if(ExternalInterface.available)
   {
    ExternalInterface.addCallback("receive", receive);    
   }
   
  }
 
  private function gender():void
  {
   ExternalInterface.call("call", "ButtonClick|");
 
  } 
 
  private function receive(value1:String, value2:String):void
  {
   if(value1=="SendToFlex")
   {    
   
   // mx.controls.Alert.show("통신 불가");
    ExternalInterface.call("call", "ReceivedFlex|");
   
   }
   
  }
 
  ]]>
 </mx:Script>
 <mx:Button x="137.5" y="370" label="Button" width="202" height="111" click="gender();"/>
  <mx:Text text="육심원" width="238" height="114" fontSize="36" fontWeight="bold" fontFamily="Georgia" textAlign="center" x="119.5" y="290" id="Textbox1"/>
 
</mx:Application>


[출처] c# flash 연동|작성자

2009/07/17 19:14 2009/07/17 19:14

blog.visualp.com

Posted
Filed under Action Script
var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
    if (success) {
    trace(this.toString());
    } else {
    trace("Error loading/parsing LoadVars.");
    }
};
my_lv.load(http://www.helpexamples.com/flash/params.txt);


//로컬경 뿐만 아니라 웹 경로 까지 가능
2009/07/17 19:14 2009/07/17 19:14

blog.visualp.com