requestとresponseの概念
6236 ワード
requestは、リクエストオブジェクトresponseが表す応答オブジェクトを表します.
RequestFacadeはHttpServertRequestというインタフェースを実現していますが.ただし、対応するリクエスト機能は完了していません.すなわち,このクラスはその実装機能クラスではない.RequstとResponseこそHttpServeretRequestとHttpServeretResponseの実装機能クラスをフェースデザインモードと呼ぶ
tomcatではrequst,responseをゲートモードで操作する.対外的に提供するのはRequestFacade ResponseFacadeの2つのクラスであるが、直正に機能を果たすのはReqeust,Responseクラスである.
1.1.1 requestについてresponseまとめ:1.その役割:requestはhttpリクエストオブジェクトを表し、requestによってHttpリクエスト情報を取得することができる.responseはhttp応答オブジェクトを表し、responseで応答情報を設定できます.
1.応答行の応答行において重要なのはステータスコードである.responseオブジェクトはsetStatus(int num)メソッドで操作できます.•setStatus(int)•共通ステータスコード:200、302、304、404、500
例2:responseにより応答ヘッダを制御、指定時間の指定ページへのジャンプを完了する.
プロトコルパス付きresponse.setHeader(「refresh」、プロトコルパスresponse.setHeader(「refresh」、「3;url=/web_03/index.html」)
String path="E:教育課程javase課程java-se-ppt講義pptjavaWebweb_030.jpg";
//入力ストリームオブジェクトを作成画像情報を読み取るFileInputStream in=new FileInputStream(path);
リクエスト方式postとgetのパラメータの問題1.postリクエストの場合、リクエスト本文にリクエストパラメータが表示されます.username=tom&password=123
request.getMethod()///GET POSt 2.リクエストパスを取得する.getRequestURI();///servlet 00/demo URI統一資源識別子request.getRequestURL().toString();//http://localhost:8080/servlet00/DemoURL統合リソースロケータ
request.getProtocol();
1.1.2 requestについてクライアント情報を取得する.要求時のパラメータ情報requestを取得する.getQueryString();は、要求時に入力されたパラメータ(?番号の後ろの部分) です.
////1.取得要求方式//String method = request.getMethod();//System.out.println(method);//GET//////2.取得要求uri//string uri=request.getRequestURI();//System.out.println(uri);//servlet 00/demo//取得要求url//string url=request.getRequestURL().toString();//http://localhost:8080/servlet00/Demo
//3.取得プロトコル//String protocol=request.getProtocol();//System.out.println(protocol);//HTTP/1.1//////4.クライアントのipアドレス//String ip=requestを取得する.getRemoteAddr();//System.out.println(“IP:” + ip);//
//6. 要求時のパラメータ情報String cs=reqを取得する.getQueryString(); System.out.println(cs);
1.1【requestドメインオブジェクト】サーブレットの3つのドメインオブジェクト:request、session、application(サーブレットContextのオブジェクト)には、>void setAttribute(String name,Object value)>Object getAttribute(String name)>void removeAttribute(String name);
requestの作成と破棄リクエストが来るとtomcatサーバはrequest,responseオブジェクトを作成します.応答が生成されると、requestオブジェクトは破棄されます.すなわち,リクエストごとに新しいリクエストである.
RequestFacadeはHttpServertRequestというインタフェースを実現していますが.ただし、対応するリクエスト機能は完了していません.すなわち,このクラスはその実装機能クラスではない.RequstとResponseこそHttpServeretRequestとHttpServeretResponseの実装機能クラスをフェースデザインモードと呼ぶ
Servlet request response
HttpServletRequest ------> ServletRequest
HttpServletResponse -----> ServletResponse
tomcatではrequst,responseをゲートモードで操作する.対外的に提供するのはRequestFacade ResponseFacadeの2つのクラスであるが、直正に機能を果たすのはReqeust,Responseクラスである.
1.1.1 requestについてresponseまとめ:1.その役割:requestはhttpリクエストオブジェクトを表し、requestによってHttpリクエスト情報を取得することができる.responseはhttp応答オブジェクトを表し、responseで応答情報を設定できます.
2. servlet request,response ?
tomcat , service servle 。
tomcat request , http request .
3.
ServletReqeust------>HttpServletReqeust--------> 。tomcat RequestFacade
ServletResponse----->HttpServletResponse-------> 。tomcat ResponseFacade
http
1.応答行の応答行において重要なのはステータスコードである.responseオブジェクトはsetStatus(int num)メソッドで操作できます.•setStatus(int)•共通ステータスコード:200、302、304、404、500
2.
setHeader():
addHeader():
setDateHeader();
setIntHeader(); int
3.
, :
response.setContentType("text/html;charset=utf-8");
例2:responseにより応答ヘッダを制御、指定時間の指定ページへのジャンプを完了する.
プロトコルパス付きresponse.setHeader(「refresh」、プロトコルパスresponse.setHeader(「refresh」、「3;url=/web_03/index.html」)
:
//
String path="E:教育課程javase課程java-se-ppt講義pptjavaWebweb_030.jpg";
//入力ストリームオブジェクトを作成画像情報を読み取るFileInputStream in=new FileInputStream(path);
//
// io-jar ( )
byte[] b=IOUtils.toByteArray(in);
// ,
resp.getOutputStream().write(b);
リクエスト方式postとgetのパラメータの問題1.postリクエストの場合、リクエスト本文にリクエストパラメータが表示されます.username=tom&password=123
2. get , .
url?username=tom&password=1234
1. http .
1.
request.getMethod()///GET POSt 2.リクエストパスを取得する.getRequestURI();///servlet 00/demo URI統一資源識別子request.getRequestURL().toString();//http://localhost:8080/servlet00/DemoURL統合リソースロケータ
URI URL,URI URL
URI
URL
3.
request.getProtocol();
1.1.2 requestについてクライアント情報を取得する.
1. ip .
request.getRemoteAddr();
2.
getContextPath(); , .
/servlet00/Demo
/servlet00----> .
/Demo---->
////1.取得要求方式//String method = request.getMethod();//System.out.println(method);//GET//////2.取得要求uri//string uri=request.getRequestURI();//System.out.println(uri);//servlet 00/demo//取得要求url//string url=request.getRequestURL().toString();//http://localhost:8080/servlet00/Demo
//3.取得プロトコル//String protocol=request.getProtocol();//System.out.println(protocol);//HTTP/1.1//////4.クライアントのipアドレス//String ip=requestを取得する.getRemoteAddr();//System.out.println(“IP:” + ip);//
//5.
//String pname=request.getContextPath(); //
//System.out.println(pname);
//6. 要求時のパラメータ情報String cs=reqを取得する.getQueryString(); System.out.println(cs);
request
1.String getParameter(String name)
name value .
2.String[] getParameterValues(String name);
, checkbox。
3.Enumeration getParameterNames();
name .
4.Map getParameterMap()
name value map
//
response.setContentType("text/html;charset=utf-8");
// post
request.setCharacterEncoding("utf-8");
String username = request.getParameter("username"); //
// name , name, null .
// username = new String(username.getBytes("iso-8859-1"), "utf-8");
System.out.println(username);
1.1【requestドメインオブジェクト】サーブレットの3つのドメインオブジェクト:request、session、application(サーブレットContextのオブジェクト)には、>void setAttribute(String name,Object value)>Object getAttribute(String name)>void removeAttribute(String name);
ServletContext .
requestの作成と破棄リクエストが来るとtomcatサーバはrequest,responseオブジェクトを作成します.応答が生成されると、requestオブジェクトは破棄されます.すなわち,リクエストごとに新しいリクエストである.
request , 。
setAttribute()
getAttribute()
removeAttribute();