従来の方法のHttpServletResponseオブジェクト(応答)
- setCharacterEncoding(「UTF-8」)//符号化文字集合の応答を設定
- setContentType( "テキスト/ HTML;のcharset = UTF-8")//レスポンスのコンテンツタイプ、符号化された文字セットを設定します
- getWriter()//出力バイナリコンテンツ、文字出力ストリーム、PrintWriterを取得していません。HTMLファイルなどのテキスト応答を、印刷に適しています。
- getOutputStream()//バイトの出力ストリーム、ServletOutputStreamを、いずれかの出力テキストを取得し、バイナリデータを出力することができます。
-
要求されたのsetHeader( "リフレッシュ"、 "3")//定期的に更新されたページ(現在のページ)
-
setHeader(、 "リフレッシュ" "3; URL =のhttp://www.baidu.com")//タイミングジャンプ。自動的に3秒後にはBaiduにジャンプ。現在のページのセミコロンのURLのデフォルトのデフォルトのURLで区切られた秒数、定期的に更新され、現在のページの間。
- sendRedirct( "/ servlet2")//リダイレクトします。リクエストにブラウザがUTLを指定し、ブラウザが自動的にURLにリクエストを送信します指示します。総ブラウザは、二回のHTTPリクエストを送信します。
一般的に使用されるHttpServletRequestオブジェクト(リクエスト)メソッド
- 文字列getRemoteAddrは()//クライアントのIPアドレスを取得します
- 文字列getLocalAddrは()//サーバのIPアドレスを取得します
- 文字列getServerNameは()//サーバのドメインアドレスを取得します
- 文字列getMethod()メソッドなどのポスト、取得など//取得要求メソッド、
- 文字列getQueryStringは()//リクエスト文字列を取得し、それは、アドレスバーのですか?(除く、&含めて?)、後者の内容全体。この方法では、唯一のget道を渡されたパラメータは、ポストを使用することはできません得ることができます。
- 文字列のgetHeader(文字列名)//リクエストヘッダに指定したフィールドの値を取得します。
- setCharactorEncoding( "UTF-8");要求パラメータの//セットコード化文字セット
//リクエストパラメータ(アドレスバー?後半、フォームデータ)を取得します
- 文字列のgetParameter(ストリング名)//指定されたパラメータ(フォーム)の値を取得します。パラメータ、戻りnullの場合、パラメータの場合、このパラメータは値を持たない、空の文字列を返す、複数のパラメータが存在する場合、最初の戻り値
- 文字列[]のgetParameter(ストリング名)//複数のパラメータが存在する場合、文字列の配列を返します。一般的に、チェックボックスの値を取得するために使用。
- 列挙getParameterNamesメソッドは()すべてのパラメータ名が含まれているEnumerationオブジェクトを返します//
- 地図getParameterMap()は、すべてのパラメータ、Mapオブジェクトの値を含む名前を返す//
//するRequestDispatcherディスパッチャはディスパッチ、配布、ディスパッチャを意味し、
- RequestDispatcher RD = request.getRequestDispathcer(文字列のパス)//获取するRequestDispatcher对象
- rd.forward(リクエスト、レスポンス)//要求が転送されます。サーブレットは、現在、別の処理要求によって要求URLを処理し、応答を返しません。内部サーバを実施し、クライアントは常に唯一のHTTPリクエスト一度送信します。
- rd.include(リクエスト、レスポンス)//リクエストは、URLに治療の他の結果が含まれ、クライアントに処理結果サーブレット応答と一緒に(文のコードを置き換え)、およびこの組成物を含有します。
//付属のRequestDispatcher転送要求は、他の属性データを使用して送信することができた場合
- request.setAttribute(文字列名、オブジェクト値)//セット、修正
- request.getAttribute(文字列名)//オブジェクト取出
- すべてを含む列挙getAttributeNames()// Enumerationオブジェクトを越え属性の名前を取得しました
- request.removeAttribute(文字列名)//削除、削除
いくつかの追加属性が要求に追加のデータであり、属性データ形式は、(パラメータ)が送信されません。
属性は、パラメータセット2は、独立した方法です。
ホットリンク保護
図1は // のリファラヘッダフィールド値を取得する 2 ストリングrequest.getHeaderリファラ=( "リファラー"を); 3。 // サイトのアドレスを取得するための要求 4 列sitePart = "HTTP://" + request.getServerName(TO); 5。 6。 // ないDaolian 。7 IF(リファラー=!ヌル && referer.startsWith(sitePart)){ 8。 // 要求されたページにアクセスしてください 9。 のrequestDispatcherのrequestDispatcher = request.getRequestDispatcher( "/ download.html" ); 10 のRequestDispatcher.forward(リクエスト応答); 11 } 12は、 他{ 13 @ Daolian ...... 14 }
Refererヘッダフィールドは、HTTPリクエストのソースを指します。いないクライアントのアドレス。
たとえば、ページがサイトhttp://www.example.com/index.html http://www.example.com/であり、このページの<A>のリンクがあります。http://www.example.com /articles/1.html、
誰かがこのリンクをクリックする<A>、彼のブラウザはリクエストのRefererヘッダフィールドはhttp://www.example.com/index.htmlで、HTTPリクエストを起動します。このaは、そのページからのリンクをクリックし、RefererヘッダフィールドのURLは、ページのソースです。
Refererヘッダフィールドは、ユーザーのアクセス元を検出するために使用することができます(ページの訪問者が通過しているから| Webサイトへ)。
訪問者がこのサイトを通じて、参照元サイトのリソースページ内のリンクをクリックした場合は、このウェブサイト上のリソース(時計の動画、ダウンロードリソース、など)にアクセスする訪問者は、彼のブラウザは、HTTP要求を行います。
訪問者がページをクリックするとサイトへのリンクを提供します(他のサイトのページ内のリンクをクリックしてください)ではない、それがホットリンクされています。