본문 바로가기

개인 공부방/JSP

declaration 선언문, 내장객체

▷ 선언문
<%!
전역변수 or 메소드 - 1번 처리
%>
파일생성 \WebContent\script\declaration.jsp 두 수의 합과 곱을 구하는 함수를 구현한다.




<%@ page language="java" contentType="text/html; charset=EUC-KR"

pageEncoding="EUC-KR"%>


<h2>스크립트 - declaration (선언문)</h2>


<%!

    public int hap(int a, int b){

    return a+b;

    }

    public int gop(int a, int b){

    return a*b;

    }

%>


합 : <%=hap(2,5)%><br>

곱 : <%=gop(2,5)%><br>

 

<%! 로 선언문임을 명시해 주어야 한다.

이유는 

C:\1300 JSP\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\JSP\org\apache\jsp\script

폴더에 declaration_jsp.java 파일을 열어보면

<%로만 선언을 하면 jspService 안에 들어간다.

<%!로 선언을 해주어야 class안에 변수로 들어가서 코딩이 제대로 가능하다.




▶ 내장객체

▷ out : javax.servlet.jsp.JspWriter
JSP 페이지에 출력할 내용을 가진 출력 스트림

파일생성 \WebContent\innerObject\outTest.jsp 버퍼의 크기를 출력한다.
▷ application : javax.servlet.ServletContent
웹 어플리케이션 Context의 정보를 저장

파일수정 \WebContent\WEB-INF\web.xml 설정값 추가
<context-param>
<description> Debug </description>
<param-name> debugLevel </param-name>
<param-value> 5 </param-value>
</context-param>
파일생성 \WebContent\innerObject\applicationTest.jsp 서버의 정보와 설정값의 정보를 출력한다.

▷ request : javax.servlet.http.HttpServletReqeuest 
클라이언트의 요청 정보를 저장

파일생성 \WebContent\innerObject\requestTestForm.jsp 이름 나이 성별을 입력한다.
파일생성 \WebContent\innerObject\requestTest.jsp 입력받은 정보를 출력한다.
파일생성 \WebContent\innerObject\requestMethodTest.jsp 서버와 클라이언트의 정보를 출력한다.

▷ response : javax.servlet.http.HttpServletResponse
클라이언트의 요청에 대한 응답 정보를 저장
파일생성 \WebContent\innerObject\responseTest1.jsp 리다이렉트 이전 페이지
파일생성 \WebContent\innerObject\responseTest2.jsp 리다이렉트된 페이지
▷ session : javax.servlet.http.HttpSession
세션 정보를 저장

▷ pageContent : javax.servlet.jsp.PageContext
JSP 페이지에 대한 정보를 저장

▷ page   : javax.servlet.jsp.HttpJspPage
JSP 페이지를 구현한 자바 클래스 객체

▷ config   : javax.servlet.ServletConfig
JSP 페이지에 대한 설정 정보를 저장

▷ exception   : java.lang.Throwable
JSP 페이지에서 예외 발생시에만 사용

서블릿은 out.println을 쓰기위해 out의 객체를 새로 생성하였다.
그런데 jsp는 out을 객체를 만들지 않고 사용 하였는데 이유는 내장 객체 때문이다.



C:\1300 JSP\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\JSP\org\apache\jsp\script\
declaration_jsp.java파일을 열어보면 javax.servlet.jsp_JspWriter out = null; 으로 내장객체가 선언되어 있는 것을 볼 수 있다.


 실습

InnerObject 폴더에 outTest.jsp



<%@ page language="java" contentType="text/html; charset=EUC-KR"

buffer="10kb"

pageEncoding="EUC-KR"%>


<h2>내장객체 - out</h2>


<%

int bufferSize = out.getBufferSize();

int remainSize = out.getRemaining();

int useSize = bufferSize - remainSize;

%>


버퍼의 크기 : <%=bufferSize%><br>

남은 크기 : <%=remainSize%><br>

사용한 크기  :<%=useSize%><br>


버퍼를 10kb로 주고 하였다. ( buffer="10kb" )

 




내장객체 - application

 


파일수정 \WebContent\WEB-INF\web.xml 설정값 추가

<context-param>

<description> Debug </description>

<param-name> debugLevel </param-name>

<param-value> 5 </param-value>

</context-param>

web.xml에 추가후 서버 재부팅

 

<%@page import="java.util.Enumeration"%>

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<h2>내장객체 - application</h2>


<%

String serverInfo = application.getServerInfo();

int major = application.getMajorVersion();

int minor = application.getMinorVersion();

%>


서버 정보 : <%=serverInfo%><br>

서버 버전 : <%=major%>.<%=minor%><br>


<% 

Enumeration <String> e = application.getInitParameterNames();

while(e.hasMoreElements()){

String name = e.nextElement();

String value = application.getInitParameter(name);

%>

이름 : <%=name%><br>

값  : <%=value%><br>

<%

}

%>




'개인 공부방 > JSP' 카테고리의 다른 글

내장객체3  (0) 2011.12.09
내장객체2  (0) 2011.12.09
scriptlet, expression  (0) 2011.12.08
JSP로 만들기  (0) 2011.12.08
이클립스 JSP 백업하기  (0) 2011.12.07