JSP (9) - JSP 3
requsetオブジェクト
Webブラウザを介してサーバに何らかの情報を要求することを要求と呼ぶ.また、これらの要求情報は、要求オブジェクトによって管理される.
request(リクエスト)、response(レスポンス)の構造は、上記の画像と同じです.これは簡単な構造です.Webブラウザが要求を発行すると、要求がサーバに送信され、Webブラウザに戻って応答します.
リクエスト・オブジェクトに関連するメソッド
requestオブジェクトに関連する方法は次のとおりです.
getContextPath():Webアプリケーションのコンテキストパスを取得します.
getMethod():get方式とpost方式を区別できます.
getSession():セッションオブジェクトを取得します.
getProtocol():対応するプロトコルを取得します.
getRequestURL():要求URLを取得します.
getRequestURI():要求URIを取得します.
getQuery String():クエリーを取得!
パラメータを処理する方法もいくつかあります.前述したリクエスト関連メソッドと比較して,実際に多く用いられるメソッドはparameter関連メソッドである.Jspページ作成の目的はデータ値の転送であるため,パラメータ関連手法が重要である.
getParameter(String name):nameに対応するパラメータ値を取得します.
getParameterName():すべてのパラメータ名を取得します.
getParameterValue(String name):nameに対応するパラメータ値を取得します.
例を見てみましょう.
form.html
<!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>
requestobj.jsp<%@ 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>
<%
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 />");
%>
</body>
</html>
getを利用して欲しい情報を取得することです.requestparam.jsp
<%@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>
getParameterメソッドを使用して、対応する値を取得します.しゅつりょく
応答オブジェクト
Webブラウザに応答する要求を応答と呼び、これらの応答(応答)情報を持つオブジェクトを応答オブジェクトと呼ぶ.
レスポンスメソッド
応答に関する方法は次のとおりです.
getCharacterEncoding():レスポンスを取得するときの文字の符号化形式.
addCookie(Cookie):Cookieを指定します.
sendRedirect(URL):指定したURLに移動します.
上以外にもいろいろな方法があります.よく使うものです.
例を見てください.
requestex.html
<!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<%@ 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>
年齢によっては20歳以上で通過しますjspまたはngでjspに移動します.pass.jsp
<%@ 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>
20歳以上なので大人ですお酒類を購入できます.で行ないます.ng.jsp
<%@ 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>
20歳未満、未成年、酒類の購入はできません.で行ないます.今日はここまでです。
JSPのrequest,responseオブジェクトとメソッドを簡単にまとめた.大切な、よく使うものです.書くと自然に暗記します.
Reference
この問題について(JSP (9) - JSP 3), 我々は、より多くの情報をここで見つけました https://velog.io/@dlwpwns/JSP-9-JSP-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol