Servlet基礎学習(一)

2421 ワード

Servlet基礎学習
一、JavaWEBが開発したディレクトリ構造
--アプリケーションルートディレクトリ/--WEB-INFディレクトリ:必須ディレクトリ--web.xml:Webアプリケーション展開記述ファイル、必須ディレクトリ--clasesディレクトリ:バイトコードファイルを保存する--libディレクトリ:第三者クラスファイルを保存する--その他の静的ファイル:HTML、CSS、JavaScript、図面など
二、Java Webアプリケーションの開発の流れ
  • 設計カタログ構造:具体的な業務の必要に応じて、規範的なディレクトリ構造に従ってWebアプリケーションのディレクトリ構造を設計する。
  • Webアプリケーションコードを作成する:ビジネスロジックを作成するために必要なJavaコード。
  • は、配置記述ファイルを作成する。Servlet、初期化パラメータなどを配置記述ファイルweb.xmlに定義する。
  • コンパイルコード:作成されたJavaソースコードをバイトコードにコンパイルします。
  • は、Webアプリケーションをパッケージ化する:全体のWebアプリケーションをJarパッケージにし、配置を容易にする。
  • は、Webアプリケーションを展開する:ヒットしたWarパケットをWebサーバに展開する。
  • は、Webアプリケーションを実行する:Webサーバを起動し、クライアントブラウザを利用してアクセステストを行う。注意:具体的な開発過程では、IDEツールを使用して、IDEツールを使ってWebアプリケーションの開発を行う場合、開発者だけが前の3つのステップを完了する必要があります。他のステップIDEツールは自動的に完了します。
  • Java Servletは、プラットフォームとは無関係のサーバコンポーネントであり、Servlet容器で実行される。Servlet容器は、Servletとクライアントとの通信及びServletを呼び出す方法を担当し、Servletとクライアントとの通信は、「要求/応答」のモードを採用する。
    三、Java Webアプリケーションを手動で展開する
  • ウェブコンテント対応のルートディレクトリをwebappsディレクトリにコピーしました。
  • プログラムで使用した*.classファイルをclassディレクトリにコピーします。
  • アプリケーションが使用する第三者jarパケットがあれば、libディレクトリにコピーする。
  • 四、手動コピーの解決
  • build pathでdefault folderのデフォルトパスを修正し、以降に生成される*.classファイルは、自動的にtomcatのwebappsに出力されます。
  • WebConteentディレクトリを手動でコピーしたくない場合、webappsにcatalina/localhost/*.xmlファイルxmlファイルのdocBaseとはWebConteetの物理経路、path=「/」、reloadable=「true」、reloadableを作成できます。
  • 五、Servlet容器:Servlet、JSP、Filterなどのソフトウェア環境を実行します。
  • は、Servletを作成し、Servletに関するライフサイクル方法を呼び出すことができる。
  • JSP、Filter、Listener、Tag…はすべてServlet容器の中で運行して、しかも関連しているライフサイクルの方法はすべてServlet容器によって管理されます。
  • 六、Servletライフサイクルの方法:以下の方法はすべてServlet容器から呼び出される。
  • コンストラクタ:一回だけ呼び出されて、Servletを初めて要求した時に、Servletを作成する例があります。コントラクターを呼び出します。これはServletが単一の例であることを示しています。
  • init方法:一回だけ呼び出しられ、インスタンスを作成した直後に呼び出しられ、現在のServletを初期化するために使用されます。
  • service:複数の呼び出しがあり、要求に応じて実際にservice方法を呼び出す。
  • destroy:一回だけ呼び出されて、現在のServletがあるウェブアプリケーションはアンインストールされる前に呼び出され、現在のServletが占有するリソースを解放するために使用されます。
  • 七、load-on-startupパラメータ:
  • は、servletノードに構成される:
  •     
            helloServlet
            com.lucus.javaweb.HelloServlet
            
            1
        
    
  • load-on-startup:Servletが作成されたタイミングを指定できます。負の数であれば、最初の要求の時に呼び出しられます。負の数でない場合は、現在のウェブアプリケーションがServlet容器にロードされた時にインスタンスを作成し、数値が小さいほど早く作成されます。