학원/JSP

11/21 47-2 [JSP] ScriptingBasic 추가(내장객체)

도원결의 2022. 11. 21. 19:45

[JSP 내장객체에 관하여] 직관적으로 . 하면 나오는 아이들 !!!
JSP 컨테이너가 자동으로 제공하는 객체로 9가지의 기본객체가 있다.
기본적으로 기본 객체와 타입은 외워야 함 !!!
(기본객체 : 타입)
1.request : HttpServletRequest ( 클라이언트의 요청 정보 저장 )
2.response : HttpServletResponse ( 응답정보 저장 )
3.out : JspWriter ( 웹브라우저에 출력을 위한 출력 스트림 )
4.session : HttpSession ( 세션 정보를 저장 )
5.application : ServletContext ( 웹 어플리케이션에 대한 정보 저장)
6.pageContext : PageContext ( jsp페이지에 대한 정보 저장 )
7.page : Object ( JSP 페이지 자체를 나타내는 객체 , page 객체는 this reference로 page 객체를 참조 가능 )
8.config : ServletConfig( 하나의 서블릿에 대한 정보 저장 )
9.exception : Throwable ( 예외개체.에러 페이지에서만 사용가능 )

*** 중요하다고 하셨는데 아직 뭘 의미하는지는 모르겠음 하지만 까먹을 거 같으니 적어는 놈
나중에 깨닫게 되면 수정하자 !
application 은 ServletContext
==> context 추상화 해서 만든 게 .ServletContext 내장객체 로는 application


선언부 <%! %> 에서 내장객체 사용하는 방법! " out = JspWriter "

방법1.
멤버변수 선언

 <%!
    //멤버변수 선언
    private JspWriter out;
    private void showMessage(String message){
    	try {
    		out.println(message);	 // try절에 들어감..? IO예외처리 따로 해줘야 함 
    	}
    	catch(IOException e){e.printStackTrace();}
    }       
 %>

방법2.
매개변수로 전달 받기

<%!
	 private void showMessage(String message,JspWriter out){  // 인자로 out을 받음 
    	try {
    		out.println(message);	    
    	}
    	catch(IOException e){e.printStackTrace();}
    }    
 %>


클래스의 멤버변수(this.out) = 지역변수(out)
선언부에서 선언된 out(멤버변수)에 _jspService( )메소드에서 선언된 out(지역변수)대입

    //방법1일 때 
    this.out = out; //얘 없으면 바로 밑은 실행 x
    showMessage("<h4>this.out = out방식으로 선언부에 선언한 내장 객체 전달</h4>");
			
    //방법2일 때 
    //두 번째 인자는 _jspService()메소드에서 선언된 내장객체
	showMessage("<h4>매개변수에 내장 객체 전달</h4>",out);
브라우저에 출력하게 하는 out !!