Archive

JSP - 내장객체

|

JSP - 내장객체


  1. JSP 내장객체

    내장객체

    • 내장객체는 JSP 에서 기본적으로 제공해주는 객체들이다
    • JSP 컨테이너에 의해 생성되고 제공되기 때문에 따로 선언하거나 생성하지 않아도 사용할 수 있다
    • session, exception 객체는 page 지시어의 설정에 따라 사용여부를 결정할 수 있다
  2. request

    • 범위(scope) : Request
    • 서블릿의 service 메소드의 매개변수인 HttpServletRequest와 동일하게 사용한다
    • 주요 메소드

    request

    클라이언트 IP : <%= request.getRemoteAddr() %><br>
    요청정보 길이 : <%= request.getContentLength() %><br>
    요청정보 인코딩 : <%= request.getCharacterEncoding() %><br>
    요청정보 컨텐트타입 : <%= request.getContentType() %><br>
    요청정보 프로토콜 : <%= request.getProtocol() %><br>
    요청정보 전송방식 : <%= request.getMethod() %><br>
    요청 URL : <%= request.getRequestURL().toString() %><br>
    요청 URI : <%= request.getRequestURI() %><br>
    컨텍스트 경로 : <%= request.getContextPath() %><br>
    서버이름 : <%= request.getServerName() %><br>
    서버포트 : <%= request.getServerPort() %><br>
    

    실행


    • HTML Form 데이터와 요청 파라미터와 관련된 메소드

    Form메소드

    <!-- reqex2.jsp -->
    <form action="viewParameter.jsp" method="post">
    이름: <input type="text" name="name" size="10"><br>
    주소: <input type="text" name="address" size="30"><br>
    좋아하는 동물:
    	<input type="checkbox" name="pet" value="dog">강아지
    	<input type="checkbox" name="pet" value="cat">고양이
    	<input type="checkbox" name="pet" value="pig">돼지
    <br>
    <input type="submit" value="전송">
    </form>
    
    <!-- viewParameter.jsp -->
    <b>request.getParameter() 메소드 사용</b><br>
    name 파라미터 = <%= request.getParameter("name") %><br>
    address 파라미터 = <%= request.getParameter("address") %><br>
    <br><br>
    <b>reqeust.getParameterValues() 메소드 사용</b><br>
    <%
    	String[] values = request.getParameterValues("pet");
    	if(values != null) {
    		for(int i=0; i<values.length; i++){
    %>
    	<%= values[i] %>
    <%
    		}
    	}
    %>
    <br><br>
    <b>request.getParameterNames() 메소드 사용</b><br>
    <%
    	Enumeration enumData = request.getParameterNames();
    	while(enumData.hasMoreElements()){
    		// 강제 형변환 필요
    		String name = (String) enumData.nextElement();
    %>
    	<%= name %>
    <%
    	}
    %>
    <br><br>
    <b>request.getParameterMap() 메소드 사용</b><br>
    <%
    	Map parameterMap = request.getParameterMap();
    	String[] nameParam = (String[])parameterMap.get("name");
    	if(nameParam != null) {
    %>
    	name = <%= nameParam[0] %>
    <%
    	}
    %>
    

    실행1

    실행2


    • 요청헤더 정보처리 관련 메소드

    헤더

    <!-- reqex3.jsp -->
    <%
    	Enumeration enumData = request.getHeaderNames();
    	while(enumData.hasMoreElements()) {
    		String headerName = (String) enumData.nextElement();
    		String headerValue = request.getHeader(headerName);
    %>
    <%= headerName %> = <%= headerValue %><br>
    <%
    	}
    %>
    

    실행


  3. response

    • 범위(scope) : Request
    • 서블릿의 service 메소드의 매개변수인 HttpServletResponse와 동일하게 사용한다

    response



참고 자료


KG 아이티뱅크 강의 자료

처음해보는 JSP&Servlet 웹 프로그래밍