<request>
: 요청 정보를 담고 있는 객체
<get.Parameter 예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Request Example1</h1>
성명: <input name = "name"><br/>
학번: <input name = "studentNum"><br/>
성별: 여자 <input type = "radio" name = "gender" value = "woman" checked>
남자<input type = "radio" name = "gender" value = "man"><br/>
전공: <select name = "major">
<option selected value = "국문학과">국문학과</option>
<option value = "영문학과">영문학과</option>
<option value = "수학과">수학과</option>
<option value = "정치학과">정치학과</option>
<option value = "체육학과">체육학과</option>
</select><br/>
<input type = "submit" value = "보내기">
</form>
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
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
|
<%@ 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>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String studentNum = request.getParameter("studentNum");
String gender = request.getParameter("gender");
String major = request.getParameter("major");
if(gender.equals("woman")) {
gender = "여자";
} else {
gender = "남자";
}
%>
<h1>Request Example1</h1>
성명: <%= name %><p/>
학번: <%= studentNum %><p/>
성별: <%= gender %><p/>
학과: <%= major %>
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
get.Parameter 명령을 통해 form의 데이터를 '요청'
-결과
<웹 브라우저와 웹 서버의 정보 request>
<response>
-메소드
void setHeader(name, value)
: 응답에 포함될 Header를 설정
void setContentType(type)
: 출력되는 페이지의 contentType을 설정
String getCharacterEncoding()
: 요청에 사용된 Query문장을 반환
void sendRedirect(url)
: 리디렉트. 지정된 URL로 요청을 재전송
-Redirect
:재전송
다른 페이지로 이동한다는 점에서 forward와 공통점이 있지만, 주소는 그대로인 상태로 화면만 바뀌는 forward와 달리
1)주소와 화면 모두가 바뀌고
2)이전 페이지와는 별개의 영역으로 request 영역을 공유하지 않는다.
<예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<%@ 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>
<h1>Response Example1</h1>
<%
response.sendRedirect("response1_1.jsp");
%>
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
redirect 요청 페이지
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<%@ 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>
<%
response.setHeader("Pragma", "no-cache");
if(request.getProtocol().equals("HTTP/1.1")) {
response.setHeader("Cache-Control", "no-store");
}
%>
<h1>Response Example1</h1>
http://localhost/myapp/ch07/response1_1.jsp로 변경이 되었습니다.
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
redirect 요청 페이지
*no-cache: 뒤로가기 불가...
<out>
: 출력 객체, jsp 페이지가 클라이언트에게 보내는 모든 정보는 out 객체를 통해 전달된다. java.io.Writer 클래스를 상속받은 javax.servlet.jsp.JspWriter 클래스 타입의 객체이다.
<예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
buffer = "5kb"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int totalBuffer = out.getBufferSize();
int remainBuffer = out.getRemaining();
int useBuffer = totalBuffer - remainBuffer;
%>
<h1>Out Example1</h1>
<b>현재 페이지의 Buffer 상태</b><p/>
출력 Buffer의 전체 크기: <%= totalBuffer %>byte<p/>
남은 Buffer의 크기: <%= remainBuffer %>byte<p/>
현재 Buffer의 사용량: <%= useBuffer %>byte<p/>
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
-실행
'20.03 ~ 20.08 국비교육 > JSP' 카테고리의 다른 글
내부객체3. page, config, exception (0) | 2020.04.24 |
---|---|
내부객체2. session, application, pageContext (0) | 2020.04.24 |
내부 객체(Implicit Object) (0) | 2020.04.23 |
액션(Action) (0) | 2020.04.23 |
지시자(Directive) (0) | 2020.04.22 |