Posted
Filed under JSP, JAVA
<%@ page buffer="8kb" %>
페이지 버퍼는 기본적으로 8kb로 지정 되어 있으며 , 반드시 단위 "kb" 를 명시 해야 한다.

8kb인 기본 적인 버퍼 설정이 가장 일반적인 사이즈 이며 가장 최적의 성능을 낸다고 한다.
2009/07/17 20:22 2009/07/17 20:22
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