A>종류
request :http의 요청 정보
response : http요청에 대한 응답정보
session: 클라이언트의 세션 정보
pageContext: pageContext 를 저장한 객체
out: 응답 페이지 전송을 위한 출력 스트림
applicatoin: application context 정보를 저장한 객체
config: 해당 페이지의 서블릿 설정 정보 저장 객체
page: 해당 페이지 서블릿 객체
exception: 예외 처리를 위한 객체
1.request의 메소드
- getParameter(String name)
-getParameterValues(String name) : 주로 checkbox에 이용 , 하나의 이름으로 여러개의 값을 뽑아낼 때
-getParameterNames() : 요청에 필요한 모든 파라미터 이름을 java.util.Enumeration 객체로 리턴
2.session의 메소드
-getSession() :session 객체 가져오기
-getSession(Boolean create) : create 가 false일때에는 이전에 생성된 객체가 없으면 null 리턴
-getRequestSessuibId(): 요청을 한 클라이언트의 세션 id 가져오기
3.URI,URL
Cookie[] getCookies : 헤더에 포함된 쿠키 정보 배열로 리턴
getName : 쿠키의 이름
getValue : 쿠키이름의 값
String getServerName() : 서버의 도메인 명을 문자열로 리턴
int getServerPort():서버의 포트번호 리턴
String getRequestURI() : 요청 URI 문자열로 리턴
String getQueryString() : 요청에 사용된 쿼리 문장 리턴
String getReomteAddr() : 클라이언트의 ip주소 리턴
String getMethod (): 요청방식 리턴
String getContextPath() : 해당 페이지의 컨텍스트 경로 리턴
server.xml의 context 태그의 path 정보
= 웹 어플리케이션의 path 정보
4.response
-setHeader (String headerName, String value ): 응답에 포함될 헤더 정보에 headerName의 이름으로
value값을 추가한다.
-addCookie(Cookie cookie): Cookie 형식의 쿠키를 응답헤더에 추가
-sendRedirect (String url): URL 로 요청을 재전송 한다.
-setContentType(String type): 응답 페이지 contentType 설정
5.pageContext
-ServletRequest getRequest() :클라이언트의 요청 정보를 가지고 있는 객체 리턴
-ServletResponse getResponse() : 요청에 대한 응답 객체를 리턴한다.
-JspWriter getOut() : 응답 출력 스트림을 리턴
-Object getPage(): page 내장 객체 리턴
-HttpSession getSession() : 세션을 얻어낸다.
-forward(String url) : 현재 페이지의 요청과 응답에 관한 제어권을
영구적으로 url로 넘긴다. (= 포워드)
포워드 된 페이지의 요청 처리가 종료되면
응답도 종료된다.
-include(String url) : 현재 페이지의 요청과 응답에 관한 제어권을 임시로 넘긴다.
include된 페이지의 처리가 끝나면
제어권은 다시 원래의 페이지로 돌아온다.
6.session 객체
클라이언트와 서버와의 연결 유지에 사용된다.
- String getId() : 세션 id 를 문자열로 리턴
- long getCreationTime() : 해당 세션이 생성되고 나서의 경과 시간을 밀리초로 리턴
- long getLastAccessedTime() : 해당 세션에 마지막으로 접근된 경과 시간을 밀리초로 리턴
- int getMaxInactiveInterval(): 클라이언트 요청이 없을 시 서버가 해당 세션을 유지하도록
지정된 시간을 초 단위로 리턴
- invalidate : 세션 종료
- booleadn isNew() : 새로운 세션이면 true 리턴, 기존 세션이 유지되고 있으면 false
- void setMaxinactiveInterval(int second) : 클라이언트의 요청이 없더라도
세션이 유지할 시간을 초 단위의 정수값으로 설정한다.
음수로 설정하면 invalidate 되지 않는다.
=즉 invalidate 를 입력하지 않는한 계속 유지된다.
7.application 객체
- String getMimeType(String file) : 서버에 존재하는 file이란 이름을 가진 파일의
MIME 타입을 문자열로 리턴
- java.net.URL getResource(String path) : path로 지정된 경로의 자원을 URL객체로 리턴
자원이 없으면 null
- inputStream getResourceAsStream(String path) : path 지정된 경로의 자원을 inputStream으로 리턴
없으면 null
- String getRealPath(String path): path에 지정된 경로의 자원을 서버의 실제 경로로 리턴
B>내장 객체의 영역 과 속성
1. pageContext : 해당 페이지가 클라이언트에 서비스를 제공하는 동안에만 유효
각 페이지마다 pageContext를 가지고 있다.
2. request : 클라이언트의 요청이 처리되는 동안 유효
포워딩 또는 include를 이용하는 경우 여러개의 페이지에서도
요청이 계속 유지됨
request 영역의 속성을 여러 페이지에서 공유가 가능
3. session : session이 유지되는 동안 유효 = 하나의 브라우저에 1개의 세션이 생성됨
4. application : 웹 어플리케이션이 실행되고 있는 동안 유효
= 웹 컨테이너(ex: 톰캣 등)가 실행되고 있는 동안 유효
C> 영역객체와 관련된 메소드
Object getAttribute(String key) : key 값의 속성을 Object 타입으로 리턴
Enumeration getAttributeNames() : 해당 영역에 등록되어 있는 모든 속성들의 이름을 리턴
void setAttriburte(String key, Object obj) : 객체 등록
void removeAttribute(String key): 객체 삭제
Y>pageContext
pageContext 는 흐름을 제어한다.
X>포워딩과 리다이렉트
1.포워드
디스패치 방식
요청, 응답에 대한 권한을 다른페이지에 넘기기 때문에
요청, 응답의 정보도 살아있다.
제어권을 넘기는 것이기 때문에 url도 유지된다.
2.리다이렉트
url이 유지되지 않는다.
마찬가지로 응답과 요청 정보도 유지되지 않는다.
'웹 > jsp' 카테고리의 다른 글
jsp 8 - java bean (0) | 2021.01.26 |
---|---|
jsp 7 - 여러가지 태그 (0) | 2021.01.26 |
jsp5 - 지시어와 태그 (0) | 2021.01.26 |
jsp4 - session (0) | 2021.01.26 |
jsp4 -한글처리 (0) | 2021.01.25 |