- request 객체의 이해
- 웹브라우저를 통해 서버에 어떤 정보를 요청하는 것을 request라고 한다.
- 이러한 요청 정보는 requet 객체가 관리 한다.
- Request객체 관련 메소드
- getContextPath(): 웹어플리케이션의 컨텍스트 패스를 얻는다
- getMethod(): get방식과 post방식을 구분할 수 있다.
- getSession(): 세션 객체를 얻는다
- getProtocol(): 해당 프로토콜을 얻는다
- getRequestURL(): 요청 URL을 얻는다
- getRequestURI() : 요청 URI를 얻는다 -> domain 주소 제외한 나머지 값
- getQueryString() : 쿼리 스트링을 얻는다.
- requestobj.jsp
<%
out.println("서버 : " + request.getServerName() + "<br/>");
out.println("포트 번호 : " + request.getServerPort() + "<br/>");
out.println("요청 방식 : " + request.getMethod() + "<br/>");
out.println("프로토콜 : " + request.getProtocol() + "<br/>");
out.println("URL : " + request.getRequestURL() + "<br/>");
out.println("URI : " + request.getRequestURI() + "<br/>");
%>
Parameter 메소드
- 요청관련 메소드 보다 실제 ㅁ낳이 쓰이는 메소드는 parameter와 관련된 메소드들 이다.
- JSP 페이지를 제작하는 목적이 데이터 값을 전송하기 위해서 이므로, parameter 관련 메소드는 중요하다.
- getParameter(String name): name에 해당하는 파라미터 값을 구함
- getParameterNames(): 모든 파라미터 이름을 구함
- getParameterValues(String name): name에 해당하는 파라미터값들을 구함.
<%!
String name, id, pw, major, protocol;
String[] hobbys;
%>
<%
request.setCharacterEncoding("EUC-KR");
name = request.getParameter("name");
id = request.getParameter("id");
pw = request.getParameter("password");
major = request.getParameter("major");
protocol = request.getParameter("protocol");
hobbys = request.getParameterValues("hobby");
%>
이름 : <%= name %> <br/>
아이디 : <%= id %> <br/>
패스워드 : <%= pw %> <br/>
전공 : <%= major %> <br/>
프로토콜 : <%= protocol %> <br/>
취미 : <%= Arrays.toString(hobbys) %> <br/>
- response 객체의 이해
웹브라우저의 요청에 응답하는것을 response라고 하며, 이러한 응답의 정보를 가지고 있는 객체를 response 객체라고 한다.
response 관련 메소드
- getCharacterEncoding(): 응답할때 문자의 인코딩 형태를 구한다
- addCookie(Cooke): 쿠키를 지정
- sendRedirect(URL): 지정한 URL로 이동합니다.
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import="java.util.Arrays" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
</head>
<body>
<%!
int age;
%>
<%
String str = request.getParameter("age");
age = Integer.parseInt(str);
if(age >= 20){
response.sendRedirect("pass.jsp?age=" + age);
}else{
response.sendRedirect("ng.jsp?age=" + age);
}
%>
<%= age %>
</body>
</html>