JSP - 내장객체
18 Feb 2021 | JSPJSP - 내장객체
-
JSP 내장객체
- 내장객체는 JSP 에서 기본적으로 제공해주는 객체들이다
- JSP 컨테이너에 의해 생성되고 제공되기 때문에 따로 선언하거나 생성하지 않아도 사용할 수 있다
- session, exception 객체는 page 지시어의 설정에 따라 사용여부를 결정할 수 있다
-
request
- 범위(scope) : Request
- 서블릿의 service 메소드의 매개변수인 HttpServletRequest와 동일하게 사용한다
- 주요 메소드
클라이언트 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 데이터와 요청 파라미터와 관련된 메소드
<!-- 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] %> <% } %>
- 요청헤더 정보처리 관련 메소드
<!-- reqex3.jsp --> <% Enumeration enumData = request.getHeaderNames(); while(enumData.hasMoreElements()) { String headerName = (String) enumData.nextElement(); String headerValue = request.getHeader(headerName); %> <%= headerName %> = <%= headerValue %><br> <% } %>
-
response
- 범위(scope) : Request
- 서블릿의 service 메소드의 매개변수인 HttpServletResponse와 동일하게 사용한다
참고 자료
KG 아이티뱅크 강의 자료
처음해보는 JSP&Servlet 웹 프로그래밍