- Posted
- Filed under JSP, JAVA
blog.visualp.com
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>
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.
톰켓이 설치된 폴더의 /webapps/폴더명 ==> localhost/폴더명 으로 메칭된다.
가령 /webapps/visualp 폴더가 있다면 하나의 어플단위로 인식하여 localhost/visualp/로 인식 한다.
Root 폴더는 기본 웹 어플리케이션으로 이식하여 실행한다.
단 webapps/ 하위에 어플이 존재할 경우 먼저 실행한다 없다면 Root 폴더 실행
webapps 경로 설정을 변경하기 위해서는 server.xml파일을 직접 설정 정보를 추가한다.
<Host>
<Context path="" docBase="" />
</Host>
path - 웹 어플리케이션의 경로명 (논리적)
docBase - 웹 어플리케이션이 위치한 경로명 (물리적)
HOST 테그 사이에 Context 테그를 추가한다.
<%@ 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>
exe 파일을 무한데로 감염시키는 악성 바이러스 ..
메모리 검사후 치료 하는 백신입니다.
안철수 연구소에서....
v3virut.com
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();
}
}
위 소스는 샘플 디렉토리의 샘플소스에서 발췌하였고 , 주석은 설명을 위해
추가작성함.