[JSP] 내장 객체

JunHyeok_Yoo·2022년 10월 9일
0
post-thumbnail

내장객체

  • JSP 페이지에서 사용할 수 있도록 JSP 컨테이너에 미리 정의된 객체
  • JSP 페이지가 서블릿 프로그램으로 번역시 JSP 컨테이너가 자동으로 내장 객체를 멤버변수, 메소드 매개변수 등의 각종 참조 변수(객체)로 포함
  • JSP 페이지에 별도에 import 없이 사용가능
  • 스크립틀릿 태그나 표현문 태그에 선언을 하거나 객체를 생성하지 않고도 직접 호출하여 사용 가능

내장객체 종류

속성처리 메소드 종류

  • 모든 내장 객체는 JSP 컨테이너가 관리하는 객체
  • 속성은 내장객체가 존재하는 동안 페이지 사이에서 정보를 주고받거나 공유 하는데 사용

request 내장객체의 속성처리 메소드 예제

<%
   request.setAttribute("RequestAttribute","requset 내장 객체");
%>
${requsetScope.RequestAttribute}

request 내장객체

웹 브라우저에서 서버의 JSP페이지로 전달하는 정보를 저장

  • JSP에서 가장 많이 사용되는 기본 내장 객체
  • WEB browser => server jsp
  • 폼페이지로부터 입력된 data를 전달하는 요청 파라미터의 값을 JSP페이지로 가져옴
  • JSP 컨테이너는 웹 브라우저에서 서버로 전달되는 정보를 처리하기 위해 request 내장객체를 사용하여 사용자의 요구사항을 얻어냄

요청 파라미터 관련 메소드

요청 파라미터란 사용자가 폼 페이지에 데이터를 입력한 후 서버에 전송할 때 전달되는 폼 페이지의 입력된 정보 형태

  • 요청 파라미터는 <name = value> 형식으로 웹 브라우저에서 서버의 JSP 페이지로 전송
<!-- form page -->
<form action = "process.jsp" method ="post">
  <input type = "text" name = "name" />
  <input type = "submit" value ="전송" />
</form>

<!-- jsp page -->
<%
   String name = request.getParameter("name")
 %>

<%=name%>

요청 HTTP 헤더 관련 메소드

  • 웹 브라우저는 HTTP 헤더에 부가적인 정보를 담아 서버로 전송
  • 헤더 정보나 쿠키관련 정보
<%
   String hostValue = request.getHost("host");
%>
<%
   Enumeration en = request.getHeaderNames();
   while (en.hasMoreElements){
   	String headName = (String) en.nextElement();
   	Stirng headValue = request.getHeader(headname);
%>
  <%=headName%> <%=headValue%>
<%
   }
%>

웹 브라우저/ 서버 관련 메소드

response 내장 객체

서버의 JSP페이지에서 웹 브라우저로 전달하는 정보를 저장

  • 서버는 응답 헤더와 요청 처리 결과 data를 웹 브라우저로 보냄
  • 웹 브라우저 <= 서버

forward 방식 vs redirect 방식

forward

  • forward 방식은 현재 JSP 페이지에서 이동할 URL로 요청 정보를 그대로 전달하므로 사용자가 최초로 요청한 정보가 이동된 URL에서도 유효함
  • <jsp:forward page = "이동할 페이지" />
  • 제어권만 넘기고 URL 처음 요청 그대로

redirect

  • redirect 방식은 현재 JSP 페이지로부터 이동할 URL을 웹 브라우저로 반환함
  • response.sendRedirect("이동할 페이지")
  • 제어권과 URL 모두 넘김

페이지 이동 관련 메소드

  • 페이지 이동 = redirect : 사용자가 새로운 페이지를 요청할 때와 같이 페이지를 강제로 이동
  • 서버는 웹 브라우저에게 다른 페이지로 강제 이동 하도록 response 내장 객체의 redirect 메소드 제공

응답 HTTP 헤더 관련 메소드

응답 http 헤더 관련 메소드는 서버가 웹브라우저에 응답하는 정보에 헤더를 추가하는 기능을 제공

  • 헤더정보에는 주로 서버에 대한 정보가 저장되어있음

응답 http헤더 관련 메소드 종류

<%
	response.setHeader("Cache_control" ,"use_cache");
	response.setHeader("contentType" ,"text/html; charset = utf-8");
	response.setIntHeader("Refresh",5); <!-- 5초마다 새로고침-->
%>

응답 콘텐츠 관련 메소드

response 내장 객체는 웹 브라우저로 응답하기 위해 MIME유형, 문자 인코딩, 오류 메시지, 상태 코드 등을 설정하고 가져오는 응답 콘텐츠 관련 메소드 제공

<%
	response.setCharacterEncoding("utf-8");
	response.setContentType("text/html; charset = utf-8");
%>
<%
	response.sendError(404,"요청 페이지를 찾을 수 없습니다.");
	<!-- 응답할 오류 코드 및 오류 메세지 설정-->
%>

out 내장 객체

웹 브라우저에 data를 전송하는 출력 스트림 객체

  • JSP 컨테이너는 JSP 페이지에 사용되는 모든 표현문 태그와 HTML, 일반 텍스트 등을 out 내장 객체를 통하여 웹 브라우저에 그대로 전달
  • 스크립틀릿 태그에 사용하여 표현문 태그와 같은 결과를 얻을 수 있음

profile
just do it

0개의 댓글