반응형
내장 객체 종류
request
- 반환 유형 : javax.servlet.http.HttpServletRequest
- 웹 브라우저의 HTTP 요청 정보를 저장
response
- 반환 유형 : javax.servlet.http.HttpServletResponse
- 웹 브라우저의 HTTP 요청에 대한 응답 정보를 저장
out
- 반환 유형 : javax.servlet.jsp.jsp.jspWriter
- JSP 페이지에 출력할 내용을 담고 있는 출력 스트림
session
- 반환 유형 : javax.servlet.http.HttpSession
- 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장
application
- 반환 유형 : javax.servlet.ServletContext
- 웹 애플리케이션의 콘텍스트 정보를 저장
pageContext
- 반환 유형 : javax.servlet.jsp.PageContext
- JSP 페이지의 정보를 저장
page
- 반환 유형 : java.lang.Object
- JSP 페이지를 구현한 자바 클래스
config
- 반환 유형 : javax.servlet.ServletConfig
- JSP 페이지의 설정 정보를 저장
exception
- 반환 유형 : java.lang.Throwable
- JSP 페이지의 예외 발생을 처리
속성 처리 메소드
request, pageContext, session, application에서 사용 (저장소 어쩌구 ..)
setAttribute(String name, Object value)
- 반환 유형 : void
- 해당 내장 객체의 속성 이름이 name인 속성 값을 value로 저장 한다.
getAttribute(String name)
- 반환 유형 : Object
- 해당 내장 객체의 속성 이름이 name인 속성 값을 가져온다.
removeAttribute(String name)
- 반환 유형 : void
- 해당 내장 객체의 속성 이름이 name인 속성을 삭제한다.
getAttributeNames ()
- 반환 유형 : java.util.Enumeration
- 해당 내장 객체의 모든 속성 이름을 가져온다(단. pageContext 내장 객체는 이 메소드를 제공X).
- pageContext는 로컬 변수랑 별 차이가 없다.
request 내장 객체
- JSP 페이지 에서 가장 많이 사용되는 기본 내장 객체
- 웹 브라우저에서 서버의 JSP 페이지로 전달하는 정보 저장
요청 파라미터
- 사용자가 폼 페이지에 데이터를 입력한 후 서버에 전송할 때 전달되는 폼 페이지의 입력된 정보 형태
- <name=value> 형식으로 웹 브라우저에서 서버의 JSP 페이지로 전송됨
요청 파라미터 관련 메소드의 종류
getParameter(String name)
- 반환 유형 : String
- 요청 파라미터 이름이 name인 값을 전달받는다. 요청 파라미터 값이 없으면 null 반환
getParameterValues(String name)
- 반환 유형 : String[]
- 모든 요청 파라미터 이름이 name인 값을 배열 형태로 전달받는다. 요청 파라미터 값이 없으면 null 반환
getParameterNames()
- 반환 유형 : java.util.Enumeration
- 모든 요청 파라미터의 이름과 값을 Enumeration 객체 타입으로 전달받는다.
getParameterMap()
- 반환 유형 : java.util.Map
- 모든 요청 파라미터의 이름과 값을 Map 객체 타입으로 전달받는다.
request.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>requestFrom.jsp</title>
</head>
<body>
<h2>Request Form</h2>
<hr />
<form method="POST" action="requestResult.jsp"> //POST 방식으로 전송하는 경우 한글이 깨짐
<fieldset>
<legend>request form</legend>
<label for="name">이름</label>
<input type="text" name="name" id="name" />
[성별]
<label for="job">[직업]</label>
<select name="job" id="job">
<option>회사원</option>
<option>전문직</option>
<option>학생</option>
<option>무직</option>
</select><br />
[관심분야]
<label for="favorite1">정치</label>
<input type="checkbox" name="favorite" id="favorite1" value="정치" />
<label for="favorite2">경제</label>
<input type="checkbox" name="favorite" id="favorite2" value="경제" />
<label for="favorite3">사회</label>
<input type="checkbox" name="favorite" id="favorite3" value="사회" />
<label for="favorite4">문화</label>
<input type="checkbox" name="favorite" id="favorite4" value="문화" />
<input type="submit" value="전송" />
</fieldset>
</form>
</body>
</html>
requestResult.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%
String name = request.getParameter("name");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>requestResult.jsp</title>
</head>
<body>
<h2>파라미터 정보</h2>
<h4>이름:<%=name %> </h4>
</body>
</html>
get방식이 아닌, post방식으로 작성할 경우, request.setCharacterEncoding("UFT-8");
을 추가해줘야한다.
요청 HTTP 헤더
- 웹 브라우저는 HTTP헤더에 부가적인 정보를 담아 서버로 전송함
요청 HTTP헤더 관련 메소드
종류 | 반환 유형 | 설명 |
---|---|---|
getHeader(String name) | String | 설정한 name의 헤더 값을 가져온다 |
getHeaders(String name) | Enumeration | 설정한 name의 헤더 목록 값을 가져온다 |
getHeaderNames( ) | Enumeration | 모든 헤더 이름을 가져온다 |
getIntHeader(String name) | int | 설정한 name의 헤더 값을 정수로 가져온다 |
getDateHeader(String name) | long | 설정한 name의 헤더 값을 시간 값으로 가져온다 |
gerCookies( ) | javax,servlet, http, Cookie | 모든 쿠키 값을 가져온다 |
URL(웹 브라우저/서버) 관련 메소드
메소드 | 반환유형 | 설명 |
---|---|---|
getRemoteAddr( ) | String | 웹 브라우저의 IP주소를 가져온다 |
getContentLength( ) | long | 웹 브라우저의 요청 파라미터 길이를 가져온다 |
getCharacterEncoding( ) | String | 웹 브라우저의 문자 인코딩을 가져온다 |
gerContentType( ) | String | 웹 브라운저의 콘텐츠 유형을 가져온다 |
getProtocol( ) | String | 웹 브라우저의 요청 프로토콜을 가져온다 |
getMethod( ) | String | 웹 브라우저의 HTTP요청 메소드(GET,POST)를 가져온다 |
getRequestURI( ) | String | 웹 브라우저의 요청한 URI 경로로 가져온다 |
getContextPath( ) | String | 현재 JSP 페이지의 웹 애플리케이션 콘텍스트 경로로 가져온다 |
getServerName ) | String | 서버 이름을 가져온다 |
getServerPort( ) | int | 실행 중인 서버 포트 번호를 가져온다 |
getQueryString( ) | String | 웹 브라우저의 전제 요청 파라미너 문자열(물음표(?) 다음 URL에 할당된 문자열)을 가져온다. |
속성을 공유할 수 있는 유효 범위
영역 | 내장 객체 | 속성의 유효 범위 |
---|---|---|
page | pageContext | 해당 페이지가 클라이언트에게 서비스를 제공하는 동안 유효 |
request | request | 클라이언트의 요청이 처리되는 동안 유효 |
session | session | 세션이 유지되는 동안 유효 |
applicaion | application | 웹 애플리케이션이 실행되고 있는 동안 유효 |
Response 내장 객체
응답 HTTP 헤더 관련 메소드
- 서버가 웹 브라우저에 응답하는 정보에 헤더를 추가하는 기능을 제공
- 주로 서버에 대한 정보 저장
반응형