JSP 내장 객체
1. request
: javax.servlet.ServletRequest(javax.servlet.http.httpRequest)
>> client의 http 요청정보를 저장하고 있는 객체
2. response
: javax.servlet.ServletResponse(javax.servlet.http.httpResponse)
>> http 요청에 대한 응답정보를 저장하는 객체
3. session
: javax.servlet.http.HttpSession
>> client 가 서버에 접속했을 때 세션정보를 저장한 객체
4. pageContext
: javax.servlet.jsp.PageContext
>> 응답 페이지 실행에 필요한 Context정보를 저장한 객체
5. out
: javax.servlet.jsp.JspWriter
>> 응답 페이지 전송을 위한 출력 stream
6. application
: javax.servlet.ServletContext
>> 동일한 Application 의 Context 정보를 저장하고 있는 객체
7. config -- 설정에 관련
: javax.servlet.ServletConfig
>> 특정 페이지의 서블릿 설정 정볼르 저장하고 있는 객체
8. page
: java.lang.Object
>> 특정 페이지의 서블릿 객체(인스턴스화된 객체)
9. exception
: java.lang.Throwable
>> 예외 처리를 위한 객체
*** Request Object ***
1. request parameters 와 관련된 method
: return value method
----------------------------------------------------------
String getParameter(String name)
>> name 이란 이름으로 지정된 파라미터에 할당된 값을 리턴
지정된 이름이 없는 경우 null을 리턴
String[] getParmeterValues(String name)
>> name 이란 이름으로 지정도니 파라미터의 모든 값을 String 배열로 리턴
checkbox 같은 tag를 사용했을 때 주로 사용
Enumeration getParmeterNames()
>> 요청에 포함된 모든 파라미터 이름을 java.util.Enumeration 객체로 리턴
2. http header 정보와 관련된 method
: return value method
----------------------------------------------------------
String getHeader(String headerName)
>> headerName 으로 지정된 이름의 값을 리턴
지정된 headerName 이 없는 경우 null을 리턴
Enumeration getHeader(String headerName)
>> 지정된 이름으로 할당된 모든 값을 java.util.Enumeration 객체로 리턴
Enumeration getHeaderNames()
>> HTTP 요청 header 에 포함된 모든 header 이름을 java.util.Enumeration 객체로 리턴
int getIntHeader(String headerName)
>> headerName 으로 지정된 이름의 값을 integer 타입으로 리턴
값을 integer 타입으로 변환할 수 없을 경우 NumberFormatException이 발생되고
headerName 이 없을 경우에는 -1을 리턴
3. session 정보와 관련된 method
: return value method
----------------------------------------------------------
HttpSession getSession()
>> 요청한 클라이언트에 지정된 HttpSession 객체
이전에 생성된 HttpSession 객체가 없으면 새로운 객체를 생성
httpSession getSession(Boolean create)
>> create 가 true 일 경우 getSession() 메서드와 동일한 결과를 리턴
하지만 create 를 false로 지정하면 이전에 생성된 HttpSession 객체가
없을 경우 null 을 리턴 한다.
String getReqeustedSessionID()
>> 요청한 클라이언트에 지정된 세션의 ID를 문자열로 리턴
booelan isRequestedSessionIdValid()
>> 요청에 포함된 클라이언트의 세션 ID가 유효하면 true 를 리턴
4. cookie , URL/URI, 요청방식과 관련된 메서드
: return value method
----------------------------------------------------------
Cookie[] getCookie()
>> HTTP 요청 메시지의 헤더에 포함된 쿠키를 javax.servlet.http.Cookie 배열로 리턴
String getServerName()
>> 서버의 도메인명을 문자열로 리턴
integer getserverPort()
>> 서버의 포트번호를 integer 타입으로 리턴
StringBuffer getRequestURL()
>> 요청 URL 을 StringBuffer로 리턴
String getRequestURI()
>> 요청 URI 를 문자열로 리턴
String getQueryString()
>> 요청에 사용된 쿼리 문장을 문자열로 리턴
String getRemoteHost()
>> 클라이언트의 호스트 이름을 문자열로 리턴
String getRemoteAddr()
>> 클라이언트의 주소를 문자열로 리턴
String getProtocol()
>> 요청에 사용된 프로토콜을 문자열로 리턴
String getMethod()
>> 요청에 사용된 요청방식(get, post)를 문자열로 리턴
String getContextPath()
>> 해당 JSP 페이지의 컨텍스트 경로를 문자열로 리턴
%%%%
URL(Uniform Resource Locator) : 인터넷에서 접근가능한 자원의 주소 표현 형식
URI(Uniform Resource Identifier) : 존재하는 자원을 식별하기 위한 일반식별자 규정
요청된 URL에서 HTTP 프로토콜, 호스트명, port번호를 뺀 것
예) http://127.0.0.1:8080/study/ch04/requestExample1.jsp 에서
URL : http://127.0.0.1:8080/study/ch04/requestExample1.jsp
URI : study/ch04/requestExample1.jsp
<------------------------------ JSP 페이지 만들기.. ------------------------------------------>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="java.util.Enumeration" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Header Information</title>
</head>
<body>
<h1> 헤더 정보 </h1>
<table border="0" >
<tr>
<td>HeaderName</td>
<td>Value</td>
</tr>
<%
Enumeration e = request.getHeaderNames();
while(e.hasMoreElements()){
String name = (String)e.nextElement();
%>
<tr>
<td><%= name %></td>
<td><%=request.getHeader(name) %></td>
</tr>
<%
}
%>
</table>
<table border="0">
<tr>
<td colspan="2"> <h1> 쿠키 정보 </h1> </td>>
</tr>
<tr>
<td> 쿠키 정보 </td>
<%
Cookie[] cookie = request.getCookies();
if(cookie == null){
%>
<td>쿠키가 존재 하지 않습니다..</td>
<%
}else{
for(int i=0;i<cookie.length;i++){
%>
<td>
<%=cookie[i].getName()%>(<%=cookie[i].getValue() %>)
</td>
<%
}
}
%>
</tr>
<tr>
<td>서버의 도메인명</td>
<td><%=request.getServerName()%></td>
</tr>
<tr>
<td>서버의 포트번호</td>
<td><%=request.getServerPort()%></td>
</tr>
<tr>
<td>요청 url</td>
<td><%=request.getRequestURL()%></td>
</tr>
<tr>
<td>요청 uri</td>
<td><%=request.getRequestURI()%></td>
</tr>
<tr>
<td>query</td>
<td><%=request.getQueryString()%></td>
</tr>
<tr>
<td>클라이언트의 호스트 이름</td>
<td><%=request.getRemoteHost()%></td>
</tr>
<tr>
<td>클라이언트의 주소</td>
<td><%=request.getRemoteAddr()%></td>
</tr>
<tr>
<td>요청에 사용된 프로토콜</td>
<td><%=request.getProtocol()%></td>
</tr>
<tr>
<td>요청에 사용된 요청방식</td>
<td><%=request.getMethod()%></td>
</tr>
<tr>
<td>컨텍스트 경로</td>
<td><%=request.getContextPath()%></td>
</tr>
</table>
</body>
</html>
--------------- 화면 출력 ----------------------------------
*** Respose Object ***
1. setHeader (String headerName, String value)
>> 응답에 포함될 헤더 정보에 headerName 의 이름으로 value 값을 설정
2. addCookie (Cookie cookie)
>> 쿠키를 헤더에 추가
3. sendRedirect (String url)
>> 지정된 url로 요청을 재전송
4. setContentType (String type)
>> 응답 페이지의 contentType 을 설정..
*** pageContext Object ***
: return value method
----------------------------------------------------------
ServletRequest getRequest()
>> 클라이언트의 요청정보를 담고 있는 객체를 리턴(request)
ServletResponse getResponse()
>> 요청에 대한 응답 객체를 리턴(response)
JspWriter getOut()
>> 응답 출력 스트림을 리턴(out)
Object getPage()
>> 서블릿 인스턴스 객체를 리턴 (page 내장객체)
ServletConfig getServletConfig()
>> 서블릿의 초기 설정 정볼르 담고 있는 객체(config)
ServletContext getServletContext()
>> 서블릿의 실행 환경정볼르 담 있는 객체를 리턴(application)
HttpSession getSession()
>> 클라이언트의 세션 정보를 담고 있는 객체 리턴(session)
forward(String url) -- 전달방식
>> 현재 페이지의 요청과 응답에 관한 제어권을 url로 지정된 주소로 영구적으로 넘긴다..
포워드 된 페이지의 요청처리가 종료되면 응답도 종료
include(String url) -- 삽입방식
>> 현재 페이지의 요청과 응답에 관한 제어권을 url로 지정 된 주소로 임시적으로 넘긴다..
include 된 페이지의 처리가 끝나면 제어권은 다시 원래의 페이지로 돌아온다.
따라서 include로 지정된 페이지의 내용을 원래 페이지에 삽입하는 효과
*** Session Object ***
: return value method
----------------------------------------------------------
String getId()
>> 해당 세션의 세션 아이디를 문자열로 리턴
세션 아이디는 세션 객체 생성시에 웹 컨테이너에 의해 자동으로 할당
long getCreationTime()
>> 1970년 1월 1일 00시 00분 00초 부터 해당 세션이 생성된 순간까지의 경과시간을 밀리초로
계산하여 long형으로 리턴
long getlastAccessedTime()
>> 세션이 마지막으로 접근된 시간까지의 경과시간을 밀리초로 계산
integer getMaxInacticeInterval()
>> 클라이언트의 요청이 없을 시 서버가 해당 세션을 유지하도록 지정된 시간을 초 단위의 정수로 리턴
boolean inNew()
>> 새로운 세션일 경우 true 리턴
invalidate()
>> 세션의 속성값으로 저장된 모든 객체를 반납하고 해당 세션을 종료
setMaxInactiveInterval(int seconds)
>> 클라이언트의 요청이 없더라도 세션을 유지할 시간을 초단위로 정수값으로 설정
'WEB > ETC' 카테고리의 다른 글
iBatis Framework 이란? (0) | 2014.03.10 |
---|---|
Maven Eclipse 설치 (0) | 2014.02.22 |
HTTP 응답 코드 종류 && HTTP 메소드 종류 (0) | 2014.02.22 |
HTML5 웹 소켓 (Web Socket) (0) | 2014.02.22 |
JBOSS 설치 환경설정 & JNDI (0) | 2014.02.22 |