이번 챕터에서는 request,response객체에 대해 글을 써 볼려고한다.
REQUEST 객체
웹 브라우저를 통해 서버에 어떤 정보를 요청하는것을 request 라고한다.
이러한 요청정보는 request객체가 관리
아래는 request관련 메소드 예제이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <html> <head>
<meta charset="UTF-8"> </head>
<body>
<h2>Request객체</h2>
<h4>사용자 접속IP : <%=request.getRemoteAddr() %></h4>
<h4>사용자의접속포트 : <%=request.getRemotePort() %></h4>
<h4>사용자의접속방식 : <%=request.getMethod() %></h4>
<h4>서버이름: <%=request.getServerName() %></h4>
<h4>서버포트: <%=request.getServerPort() %></h4>
<h4>사이트구분 : <%=request.getContextPath() %></h4> <!-- 한 서버에서 여러 사이트를 운영할때 이용 -->
<h4>현재접속페이지 경로 : <%=request.getRequestURI() %></h4> <!-- 통계 구할때 많이 사용 --> String = request.getParameter(String name)
String[] = request.getParameterValues(String name) 사용자가 입력한 값이 여러개일경우 사용! </body>
</html> |
request 관련 메소드
request.getServerName() : 서버이름을 얻는다.
request.getServerPort() : 해당 포트를 얻는다.
request.getMethod() : get방식과 post방식을 구분
request.getProtocol() : 해당 프로토콜을 얻는다.
request.getRequestURL() : 요청 url을 얻는다.
request.getRequestURI() : 요청 uri를 얻는다.
Parameter 메소드
jsp 페이지를 제작하는 목적이 데이터 값을 전송하기 위해서 이므로 parameter 관련메소드는 중요.
getParameter(String name) : name에 해당하는 파라미터 값을 구함.
getParameterNames(): 모든 파라미터 이름을 구함.
getParameterValues(String name) : name에 해당하는 파라미터값들을 구함.
다음 아래예제는 parameter메소드를 이용한 예제이다.
form.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="requestparam.jsp" method="post">
이름 : <input type="text" name="name" size="10"><br/>
아이디 : <input type="text" name="id" size="10"><br/>
비밀번호 : <input type="password" name="pw" size="10"><br/>
취미 : <input type="checkbox" name="hobby" value="read">독서
<input type="checkbox" name="hobby" value="cook">요리
<input type="checkbox" name="hobby" value="run">조깅
<input type="checkbox" name="hobby" value="swim">수영
<input type="checkbox" name="hobby" value="sleep">취침<br/>
전공 : <input type="radio" name="major" value="kor">국어
<input type="radio" name="major" value="eng" checked="checked">영어
<input type="radio" name="major" value="mat" >수학
<input type="radio" name="major" value="des" >디자인<br/>
<select name="protocol">
<option value="http">http</option>
<option value="ftp" selected="selected">ftp</option>
<option value="smtp">smtp</option>
<option value="pop">pop</option>
</select><br/>
<input type="submit" value="전송">
<input type="reset" value="초기화">
</form>
</body>
</html> |
request.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <%@page import="java.util.Arrays"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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>Insert title here</title>
</head>
<body>
<%!
String name, id, pw, major, protocol;
String[] hobbys;
%>
<%
request.setCharacterEncoding("EUC-KR");
name = request.getParameter("name");
id = request.getParameter("id");
pw = request.getParameter("pw");
major = request.getParameter("major");
protocol = request.getParameter("protocol");
hobbys = request.getParameterValues("hobby");
%>
이름 : <%= name %><br />
아이디 : <%= id %><br />
비밀번호 : <%= pw %><br />
취미 : <%= Arrays.toString(hobbys) %><br />
전공 : <%= major %><br />
프로토콜 : <%= protocol %><br />
</body>
</html> |
Response 객체
웹브라우저의 요청에 응답하는것을 response 라고하며, 이러한 응답 정보를 가지고있는 객체를 response객체라고 한다.
Response 객체 관련 메소드
getCharacterEncoding() ; 응답할 때 문자의 인코딩 형태를 구함
addCookie(Cookie) : 쿠키를 지정
sendRedirect(URL) : 지정한 URL로 이동
예제
request.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="request_send.jsp">
당신의 나이는 : <input type="text" name="age" size="5">
<input type="submit" value="전송">
</form>
</body>
</html> |
request_send_jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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>Insert title here</title>
</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> |
ng.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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>Insert title here</title>
</head>
<body>
<%!
int age;
%>
<%
String str = request.getParameter("age");
age = Integer.parseInt(str);
%>
미성년자 입니다. 주류구매가 불가능 합니다.
<a href="requestex.html">처음으로 이동</a>
</body>
</html> |
pass.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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>Insert title here</title>
</head>
<body>
<%!
int age;
%>
<%
String str = request.getParameter("age");
age = Integer.parseInt(str);
%>
성인 입니다. 주류구매가 가능 합니다.
<a href="requestex.html">처음으로 이동</a>
</body>
</html> |
'JSP' 카테고리의 다른 글
XML 과 JSON (0) | 2016.08.27 |
---|---|
JSP,자바스크립트간의 정보 전송 (0) | 2016.04.06 |
[JSP|JAVA]JSP빨리 알아보기_2(스크립트,지시자,주석) (0) | 2015.10.29 |
[JSP|JAVA]Servlet 빨리 알아보기[get,post]_1 (0) | 2015.10.27 |
[자바(JSP)](01)개발환경설정[JAVA,PATH,Eclipse]세팅!!!! (0) | 2015.10.26 |