본문 바로가기

Programming/Web_Development2

[JSP] Request & Response 객체 그리고 지시자

지시자, Request & Response 객체


지시자


JSP 페이지의 전체적인 속성을 지정할. 때 사용한다.

page, include, taglib이 존재하며, <%@ 속성 %> 형태로 사용한다.

page : 해당 페이지의 전체적인 속성을 지정

include : 별도의 페이지를 현재 페이지에 삽입

taglib : 태그 라이브러리의 태그 사용

page 지시자


페이지의 속성을 지정할 때 사용하며 주로 사용되는 언어 지정 및 import 문에 많이 사용한다.

ex) page.jsp

<%@ page import="java.util.Arrays"%>        <!-- Util 사용을 위한 import -->
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<%                                        <!-- Script let -->
    int[] iArr = {10, 20, 30};                //배열 초기화
    out.println(Arrays.toString(iArr));        //Arrays객체를 이용한 배열 출력
%>                                        

</body>
</html>
</html>

include 지시자


현재 페이지 내에 다른 페이지를 삽입할 때 사용한다. file 속성을 사용한다.

ex) include.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

    <h1>include.jsp page test1</h1>            <!-- header 1 -->
    <%@ include file="Page.jsp" %>            <!-- 같은 경로에 존재하는 Page.jsp 파일 삽입 -->
    <h1>include.jsp page test2</h1>            <!-- header 1 -->

</body>
</html>

taglib 지시자


사용자가 만든 tag들을 태그 라이브러리라고 부르며, 이러한 태그 라이브러리를 사용하기 위해 taglib 지시자를 사용한다.

uriprefix 속성이 존재하며, uri는 태그 라이브러리의 위치 값을 갖고 prefix는 태그를 가리키는 이름 값을 갖는다.

taglib 지시자에 대해서는 추후에 JSTL을 다룰 때 보다 심도깊게 알아보도록 한다.

cf)

HTML comments :

JSP comments : <%-- contents -->

Request 객체


웹 브라우저를 통해 서버에 어떠한 정보를 요청하는 것을 request 라고 한다.

그리고 이러한 요청 정보는 request 객체가 관리한다.

웹 브라우저(Client) ---------(request)-------> 서버

웹 브라우저(Client) <-------(response)------- 서버

Request 객체 관련 메소드


getContextpath() : 웹 어플리케이션의 context path를 얻는다.

getmMethod() : get 방식과 post 방식을 구분한다.

getSession() : 세션 객체를 얻어온다.

getProtocol() : 해당 프로토콜을 얻어온다.

getRequestURL() : 요청 URL 을 얻어온다.

getRequestURI() : 요청 URI를 얻어온다.

getQueryString() : 쿼리 스트링을 얻어온다.

위 메소드들과 함께 parameter 메소드들이 많이 쓰인다.

JSP 페이지를 제작하는 목적이 데이터 값을 전송하기 위함이므로, parameter관련 메소드는 매우 중요!

getParameter(String name) : name에 해당하는 파라미터의 값을 구해온다.

getParameterNames() : 모든 파라미터 이름을 구해온다.

getParameterValues(String name) : name에 해당하는 파라미터의 값(복수개)을 구해온다.

Response 객체의 이해


웹 브라우저의 요청에 응답하는것을 response라고 하며, 이러한 응답(response)의 정보를 가지고 있는 객체를 response객체라고 한다.

Request 객체 관련 메소드


getCharacterEncoding() : 응답시 문자의 인코딩 형태를 구해온다.

addCookie(Cookie) : 쿠키를 지정할 때 사용한다.

sendRedirect(URL) : 지정한 URL로 이동한다. -> forwarding 기능으로 굉장히 많이 쓰인다.

ex) request_send.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

    <%
        int age;
    %>

    <%
        String str = request.getParameter("age");    // getparam 메소드를 통해 값을 받아온다.
        age = Integer.parseInt(str);                // 받아온 값을 정수형으로 파싱

        if(age >= 20){        // 나이에 따른 분기 진행
            response.sendRedirect("pass.jsp?age=" + age);
        } else {
            response.sendRedirect("error.jsp?age=" + age);
        }
    %>

</body>
</html>
</html>