サーブレットの知識の概要

サーブレット:サーバーアプレット
*コンセプト:サーバー側のアプレットを実行する
    サーブレットは、ブラウザ(Tomcatの認識)がアクセスするJavaクラスのルールを定義するインタフェースであります*。
    *今後の私たちは、クラス、Servletインタフェース複製方法をカスタマイズします。


* はじめに:
  1.のJavaEEプロジェクト作成
  Servletインタフェースを実装するクラスを定義します。2.を

      パブリッククラスServletDemo1は、サーブレットを実装します

  3.抽象インタフェースのメソッドを実装
  4.サーブレットが配置
    web.xmlに配置されました:

<! - 設定サーブレット - >
<servlet>
<servlet-name>のDEMO1 </サーブレット名>
<servlet-class>のcn.itcast.web.servlet.ServletDemo1 </サーブレットクラス>
</サーブレット>

<のservlet-mapping>
<servlet-name>のDEMO1 </サーブレット名>
<url-pattern> / DEMO1 </のurl-pattern>
</のservlet-mapping> 

 

* 原則の実装:
  サーバは、クライアントのブラウザからのリクエストを受信1.リクエストのURLパスを解析するには、リソースへのパスサーブレットへのアクセスは、アクセス
  の<url-pattern>がある場合は、2検索web.xmlファイルをタグ対応ボディコンテンツ。
  3.存在する場合、対応の<servlet-class>の完全なクラス名を見つける
  メモリにロードされたファイルをバイトコードになる4. Tomcatを、その目的を作成することです
  、そのメソッドを呼び出す5.

 

* サーブレットでのライフサイクル・アプローチ:
  1が作成されます。initメソッド、一度だけ
    *サーブレットたときに作成されていますか?
      *デフォルトでは、それがアクセスされた最初の時間は、サーブレットが作成された
      *は、サーブレットは、機会を作成、実行するように構成することができます。
        *に設定<サーブレット>タグ
          1の場合に最初にアクセスし、作成された
            *の<load-on-startup>負の値
          2.サーバが作成起動
            0 *の<load-on-startup>値をまたは正の整数

    *サーブレットの初期化方法は、1つのオブジェクトのみがメモリ内に存在するサーブレットを示し、一度だけ行わ、サーブレットは、シングルトンである
    複数のユーザが同時に*アクセスすると、スレッド安全性の問題が存在してもよいです。
    *解決策:サーブレットでのメンバ変数を定義しないようにしてください。あなたはメンバ変数を定義した場合でも、の値を変更しないでください

  2.サービスの提供:サービス実行方法は、複数の実行
    *あなたがサーブレットを訪れるたびに、サービスメソッドが一度呼び出されます。   

  3.破壊される:実装では、方法は、一度だけ実行される破壊
    *サーブレットが破棄された場合に実行されます。サーバーがシャットダウンされると、サーブレットが破壊され
    、通常は閉じ*サーバーのみ、destroyメソッドを実行します。
    サーブレットが実行破壊される前に*一般的なリリースのリソースに対して、法を破壊します

 

* Servlet3.0:
  *メリット:注釈の設定のためのサポート。あなたは、web.xmlを必要としない場合があります。

  *手順:
    1. web.xmlの作成することはできません、JavaEEのプロジェクトを選択しサーブレットのバージョン3.0以上を作成
    Servletインタフェース実装するクラスの2.定義
    3.レプリケーションの方法
    クラスの4 @WebServlet注釈を設定

1 @WebServlet( "リソース・ルート" 2  @Target(ElementType.TYPE {})
 3。 @Retention(RetentionPolicy.RUNTIME)
 4。 @Documented
 5。 パブリック @のインターフェイスWebServlet {
 6。      文字列名()デフォルト ""; // 同等<名前サーブレット> 
7  
。8      文字列[]の値()デフォルト {}; // 代表urlPatterns()属性構成
9。 
10      列[] urlPatterns()デフォルト {}; // 等価<URLパターン> 
。11  
12であり、     int型 loadOnStartup( )デフォルト-1; // 相当于の<load-on-startup> 
13      
14      WebInitParam [] initParams()デフォルト{}。
15  
16      ブール asyncSupported()デフォルト はfalse ;
17  
18      文字列smallIcon()デフォルト "" 19  
20      文字列largeIcon()デフォルト "" 21  
22      文字列の記述()デフォルト「」23  
24      文字列のdisplayName()デフォルト "" ;
25 }

 

 Servletアーキテクチャ 

    サーブレット-インタフェース
      |
   GenericServletから-抽象クラス
      |
    
のHttpServlet -抽象クラス

  *でGenericServlet:Servletインタフェースはデフォルトの空の実装を行うための他の方法は、抽象として、唯一のサービス()メソッドです
    * GenericServletからを継承することができ、将来のサーブレットクラスを定義する場合、サービスを実現()メソッドは、することができ

  * HttpServletを:操作簡素化するために、HTTPプロトコルのパッケージ、
    1クラスを定義するには、HttpServletを継承します
    。2.複製のdoGet / doPostメソッドを

 

* Servlet構成
  1. URL-partten:サーブレットアクセスパスが
    1サーブレットがアクセスパスを複数定義することができる。@WebServlet({ "/ D4"を、 "/ DD4"、 "/ DDD4"})
  2.パス定義ルール:
    1. / XXX:一致パス
    2 / XXX / XXX:多層パス、ディレクトリ構造
    3 * .doという:拡張マッチ(か要求またはPOST要求は、* .doというを使用することができます)

 

* のServletContextオブジェクト:
  1.コンセプト:ウェブアプリケーションの代表的な、通信するための容器もよいプログラム(サーバ)
  2.取得:
    1. Get要求オブジェクト
       request.getServletContextを();
    のHttpServletによって得られた2
       this.getServletContext()。
    3.機能:
      1.取得のMIMEタイプ:
        * MIMEタイプ:インターネットデータ通信プロセスの文書型定義
          型の大型/小型タイプtext / htmlのイメージ/ JPEG:*フォーマット

          *取得:のgetMimeType文字列(文字列ファイル)
  2.ドメインオブジェクト:共有データ
    1のsetAttribute(文字列名、オブジェクト値)
    2のgetAttribute(文字列名)
    3. removeAttribute(文字列名)

    *のServletContext対象範囲:すべてのユーザーはすべてのデータを要求された
  実際のファイル(サーバー)のパスを取得3.
    文字列getRealPath(文字列のパス):1.メソッドを

      ServletContextコンテキスト= request.getServletContext()。

      列B = context.getRealPath( "/ B.TXT "); //ウェブディレクトリのアクセスリソースの下
      のSystem.out.println(b)は、

      文字列C = context.getRealPath( "/ WEB-INF / c.txt");ディレクトリアクセスの下のリソース// WEB-INF
      のSystem.out.println(c)は、

      文字列A = context.getRealPath( "/ WEB-INF /クラス/ A.TXT");ディレクトリアクセスの下// SRC資源
      システム。 out.printlnを(A)。

  

おすすめ

転載: www.cnblogs.com/churujianghudezai/p/11758875.html