request 객체의 이해
웹브라우저를 통해 서버에 어떤 정보를 요청하는 것을 request라고 한다. 그리고 이러한 요청정보는 request객체가 관리한다.
Request객체 관련 메서드
Parameter메서드
실제 JSP
에서 많이 쓰이는 메서드는 parameter
와 관련된 메서드이다.
JSP
페이지를 제작하는 목적이 데이터값을 전송하기 위해서 쓰므로, parameter
관련 메서드들은 중요하다.
예시
<!-- Form.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="requestparam.jsp" method="post">
이름 : <input type="text" name="name"> <br />
아이디 : <input type="text" name="id"> <br />
비밀번호 : <input type="password" name="pw"> <br >
취미 : <input type="checkbox" name="hobbys" value="read"> 독서
<input type="checkbox" name="hobbys" value="cook"> 요리
<input type="checkbox" name="hobbys" value="run"> 조깅
<br />
<input type="radio" name="major" value="kor"> 국어
<input type="radio" name="major" value="eng"> 영어
<input type="radio" name="major" value="math"> 수학
<br />
<select name="protocol">
<option value="http">http</option>
<option value="ftp" selected="selected">ftp</option>
<option value="sftp">sftp</option>
</select>
<input type="submit" value="전송">
</form>
</body>
</html>
<!-- requestparam.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!
String name, pw, id, 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("hobbys");
%>
이름 : <%= name %>;
아이디 : <%= id %>;
비밀번호 : <%= pw %>;
전공 : <%= major %>;
취미 : <%= Arrays.toString(hobbys) %>;
프로토콜 : <%= protocol %>;
</body>
</html>
response 객체의 이해
웹브라우저의 요청에 응답하는것을 response
라고 하며, 응답 정보를 가지고 있는 객체를 response
객체라고 한다.
response 관련 메서드
예시
<!-- request.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="request_send.jsp">
당신의나이는 ? <input type="text" name="age">
<input type="submit" value= "전송">
</form>
</body>
</html>
<!-- request_send.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String str = request.getParameter("age");
int age = Integer.parseInt(str);
if (age >= 20) {
response.sendRedirect("pass.jsp?age=" + age);
} else {
response.sendRedirect("ng.jsp?age=" + age);
}
%>
</body>
</html>
위 예제를 보면 request.html
파일에서 데이터를 입력후 전송을 누르면 request_send.jsp
파일에서 검증을 한 후에 조건에 맞는 곳으로 redirect를 시켜준다. 위 예제는 이때 값을 보내는건 get방식으로 보냈다.