サーブレットのHttpServletResponseオブジェクト、HttpServletRequestをオブジェクト

 

従来の方法の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要求を行います。

訪問者がページをクリックするとサイトへのリンクを提供します(他のサイトのページ内のリンクをクリックしてください)ではない、それがホットリンクされています。

 

おすすめ

転載: www.cnblogs.com/chy18883701161/p/11401181.html