JavaWeb-Serviceの詳細


サーブレット略称
ユーザーが動的webリソースを送信するには、1、Javaクラスを作成し、servletインタフェースを実現する2つのステップを完了する必要があります.2、開発したJavaクラスをwebサーバに配備する.
サーブレットの実行手順
    Servlet    WEB     ,web         Servlet     :
               ①Web                  Servlet     。   ,      ④ ,  ,   ② 。
          ②      Servlet       。 
          ③  Servlet     init()  。
          ④        HTTP     HttpServletRequest       HTTP     HttpServletResponse  ,    Servlet service()                   。
          ⑤WEB              ,Servlet     Servlet,        Servlet destroy()  。 

**
サーブレットインタフェース実装クラス
**サーブレットインタフェースSUN社は、Genericサーブレット、Httpサーブレットの2つのデフォルト実装クラスを定義しています.HttpServletとは、HTTPリクエストを処理できるservletを指し、既存のServletインタフェースにHTTPプロトコルとの処理方法を追加し、Servletインタフェースよりも強力です.したがって、開発者は、サーブレットインタフェースを直接実装することなく、通常、このクラスを継承する必要があります.HttpServletは,Servletインタフェースを実装する際にサービスメソッドを上書きし,このメソッド内のコードはユーザのリクエスト方式を自動的に判断し,GETリクエストであればHttpServletのdoGetメソッドを呼び出し,PostリクエストであればdoPostメソッドを呼び出す.したがって、開発者はサーブレットを作成する際に、サービスメソッドを上書きするのではなく、doGetメソッドまたはdoPostメソッドを上書きするだけです.
**
サーブレットアクセスURLマッピング構成
**クライアントはURLアドレスでWebサーバのリソースにアクセスするため、サーブレットプログラムが外部からアクセスされるには、servletプログラムをURLアドレスにマッピングする必要があります.この作業は、Web.xmlファイルで要素と要素を使用して完了します.要素はサーブレットを登録するために使用されます.2つの主要なサブ要素が含まれています.および、サーブレットの登録名とサーブレットの完全なクラス名を設定するために使用されます.1つの要素は、登録されたサーブレットをマッピングするための外部アクセスパスであり、2つのサブ要素を含む:および、サーブレットの登録名とサーブレットの外部アクセスパスをそれぞれ指定するための
サーブレットアクセスURLは*ワイルドカードを使用してサーブレットにマッピングされたURLにもワイルドカードを使用できますが、固定形式は2つしかありません.1つは「.拡張子」で、もう1つは正のスラッシュ(/)で始まり「/*」で終わります.例:
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/serlvet/*</url-pattern>
    </servlet-mapping>
``
<servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

サーブレット1から/abc/*サーブレット2へのマッピング、/*サーブレット3から/abcサーブレット4へのマッピング、*.doへのマッピングに関するいくつかのマッピング関係:要求URLが「/abc/a.html」である場合、「/abc/」と「/」が一致し、どのサーブレット応答サーブレットエンジンがサーブレット1を呼び出すか.要求URLが「/abc」である場合、「/abc/*」と「/abc」が一致し、どのservlet応答サーブレットエンジンがサーブレット3を呼び出すか.要求URLが「/abc/a.do」の場合、「/abc/」と「.do」が一致し、どのservlet応答サーブレットエンジンがサーブレット1を呼び出すかが一致します.要求URLが「/a.do」の場合、「/」と「.do」が一致し、どのservletがサーブレットエンジンに応答してサーブレット2を呼び出すか.要求URLが「/xxx/yyy/a.do」の場合、「/」と「.do」が一致し、どのservletがサーブレットエンジンに応答してサーブレット2を呼び出すか.一致の原則は、「誰がもっと似ているか」``
  
**Servlet Java **
Servlet Java (Servlet ) Java , , Servlet 。
Servlet , , Servlet , Servlet , , , web ,servlet 。
Servlet ,Servlet init 。 Servlet Servlet servlet service 。 ,Servlet HttpServletRequest HttpServletResponse , Servlet service() ,service doXXX 。
`要素であり、WEBアプリケーションは起動時にサーブレットのインスタンスオブジェクトをロードして作成し、サーブレットインスタンスオブジェクトを呼び出すinit()メソッドを呼び出す.
用途:起動時にマウントし、Webアプリケーション全体に必要なデータベーステーブルとデータを作成するように構成されたInitServiceletをWebアプリケーションに書きます.
デフォルト・サーブレットサーブレットマッピング・パスが正のスラッシュ(/)のみの場合、このサーブレットは現在のWebアプリケーションのデフォルト・サーブレットになります.Web.xmlファイルに一致する要素のURLが見つからない場合、それらのアクセス要求はデフォルトのサーブレット処理に渡されます.つまり、デフォルトのサーブレットは他のサーブレットが処理しないすべてのアクセス要求を処理するためにconf/web.xmlにデフォルトのサーブレットを構成し、静的ソースへのアクセスとエラーページの出力はこのデフォルトのサーブレットによって処理されます.デフォルトservletを自分で書いてお父さんのweb.xmlのデフォルトservletを上書きすると、静的webリソースにアクセスできません.構成は推奨されません.