JSP

[JSP] 내부객체

shb 2022. 3. 24. 18:11

* 내부 객체 (Implicit Object)
- 내부객체 : 객체를 생성하지 않고 바로 사용할 수 있는 객체를 의미 
                   (※ 번역서에 따라 ‘내장객체’ 로 기술한것도 있다)  
JSP에서 제공되는 내부객체는  JSP 컨테이너에 의해 ‘Servlet으로 변환될 때’ ‘자동으로 객체가 생성’된다.  

* 내부 객체의 종류
입출력 객체 : 
           request - doGet, doPost 메서드의 첫번째 파라미터와 동일한 역할
           response - doGet, doPost 메서드의 두번째 파라미터와 동일한 역할
           out - 웹브라우저로 HTML코드를 출력하는 기능 (javax.servlet.jsp.jspWriter)
 서블릿 객체 : 
            page - JSP페이지로 부터 생성된 서블릿
            config - JSP 페이지의 구성정보를 가져오는 기능
 세션 객체 : 
           session - 세션과 관련된 기능
 예외 객체 : 
          exception - 예외처리와 관련된 기능

test_out.jsp

하단에 선언부 태그 사용 코드 추가

일반적인 ‘변수’는 스크립트릿 에서도 선언이 가능하나,  ‘메소드’ 정의는 선언부태그에서만 가능.
** 스크립트릿에 메소드 정의하면 어떻게 될까?


* request 객체 :사용자(클라이언트)의 요청을 관리하는 객체

*관련 메소드
getContextPath() : 웹 어플리케이션의 컨텍스트 패스를 얻어올 때 사용하는 메소드
getMethod() : get방식과 post방식을 구분하기 위해서 사용하는 메소드
getSession() : 세션 객체를 얻을 때 사용하는 메소드
getProtocol() : 해당 프로토콜을 얻어올 때 사용하는 메소드
getRequestURL() : 요청한 URL을 얻어올 때 사용하는 메소드
getRequestURI() : 요청 URI를 얻어올 때 사용하는 메소드
getQueryString() : 쿼리스트링 얻습니다.

 

test_request.jsp

 


* request 객체 :  parameter 관련 메소드

- getParameter(String name) : name에 해당하는 파라미터의 값을 구할 때 사용
- getParameterValues(String name) : name에 해당하는 파라미터의 값들을 얻어올 수 있다.(반환타입은 배열) 
- getParameterNames() : 모든 파라미터의 이름(name)들을 얻어 올 때 사용한다.

test_request_param.jsp

이와 같이 JSP 에서도 request 객체를 통해 form 데이터 처리가 가능
html에서 jsp 페이지를 요청하면 서블릿이 실행되어 처리가 됨 - 동작원리 이해

 


* response 객체 
- getCharacterEncoding() : 응답할 때 문자 인코딩을 얻어올때
- addCookie(Cookie) : 쿠키를 지정할 때
- sendRedirect(URL) :   redirect 이동하고자 하는 URL을 지정할 때

ex)  특정조건 (ex: 나이) 에 따라 성인용 페이지와 비성인용 페이지로 보여지게 할 수 있다.

 

input_age.html
test_response.html

- request로 받아온 폼데이터는 일단 String 이다.  산술연산을 위한거라면 parseInt() 등의 메소드로 변환시켜줘야 한다
- redirect는 새로운 url 로 request를 발생시킨다.  그 url을 명시한다.
- age 값에 따라 response 객체의 sendRedirect() 메소드를 사용하여 response 페이지를 redirect(재지정) 할 수 있습니다.

adult.jsp
underage.jsp

 

'JSP' 카테고리의 다른 글

[JSP] 쿠키  (0) 2022.03.25
[JSP] 액션 태그  (0) 2022.03.24
[JSP] 태그, 지시자  (0) 2022.03.24
[JSP] Form 태그를 이용한 서블릿 처리  (0) 2022.03.24
[JSP] - doGet, doPost  (0) 2022.03.22