Tomcatのサーブレットとサンプルを実行します

Tomcatのサーブレットとサンプルを実行します

この記事では、サーブレットを作成し、その後のTomcatプロセス全体に展開します。本明細書では「徹底的な解体Tomcat_Jetty」コンテンツを参照。

まず、開発ステップベースのweb.xml

  1. ダウンロードは、Tomcatをインストールします。
  2. MyServletはHttpServletのJavaクラスの継承を書きます。
  3. Javaクラスファイルは、クラスファイルにコンパイル。
  4. Webアプリケーションのディレクトリ構造を確立し、web.xmlファイルを設定します。
  5. Webアプリケーションの展開。
  6. Tomcatを起動します。
  7. ブラウザのアクセスは、結果を確認します。
  8. Tomcatのログを表示します。

1件のダウンロード、Tomcatをインストール

Tomcatの公式ウェブサイト(https://tomcat.apache.org/download-90.cgi)に最新のTomcatを(、対応するシステムのバージョンをダウンロードし、実際の状況を選択し、一例として、本論文のMacOSシステムする必要があります)をダウンロードしてください。ダウンロードが完了したら、あなたは抽出することができます。

ファイル

2書き込みに、MyServletクラス

クラスを継承するのHttpServletクラスを作成し、その複製のdoGet()メソッドとdoPost()メソッドがmyservlet。

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @Version V1.0
 * @Description: MyServlet 类
 */
public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("MyServlet 在处理 get()请求...");
        PrintWriter out = resp.getWriter();
        resp.setContentType("text/html;charset=utf-8");
        out.println("<strong>doGet My Servlet!</strong><br>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("MyServlet 在处理 post()请求...");
        PrintWriter out = resp.getWriter();
        resp.setContentType("text/html;charset=utf-8");
        out.println("<strong>doPost My Servlet!</strong><br>");
    }
}

3.コンパイルに、MyServlet

ここで私たちはIDEの方法を使用していないのでMyServlet.javaクラスをコンパイルするとき、そう、私たちは、javacコマンドを使用します。私たちは、クラスでのHttpServletに、MyServletを継承したので、しかし、我々は、注意を払う必要はなくHttpServletのJDK独自のクラス、それは一緒にパッケージのjarパッケージのHttpServletを持参する必要があるので!それ以外の場合は、次のエラーメッセージ:

私たちの最初のTomcatは、同じディレクトリにコピーMyServlet.java下のディレクトリのlib /サーブレット-api.jarのを抽出しに、MyServletをコンパイルするには、次のコマンドを実行します。

javac -cp ./servlet-api.jar MyServlet.java

4ビルドWebアプリケーションのディレクトリ

フォルダを作成し、次のようにプロジェクトMyWebApp、その主なカタログであります:

MyWebApp/WEB-INF/web.xml
MyWebApp/WEB-INF/classes/MyServlet.class

前記コンテンツのweb.xmlは次のように:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
  http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">
 
    <description> Servlet Example. </description>
    <display-name> MyServlet Example </display-name>
    <request-character-encoding>UTF-8</request-character-encoding>
 
    <servlet>
      <servlet-name>myServlet</servlet-name>
      <servlet-class>MyServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
      <servlet-name>myServlet</servlet-name>
      <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
 
</web-app>

5アプリケーションの展開MyWebApp

MyWebAppこのディレクトリは、WebアプリケーションTomcatのインストールディレクトリの下のディレクトリにコピーされます。

Tomcatの6開始

それはWindowsシステムの場合はstartup.batを実行し、binディレクトリの下にTomcatのインストールディレクトリを検索し、Linuxシステムならば、startup.shを実行

7ブラウザアクセス

お使いのブラウザでこのURLにアクセスしてください: http://localhost:8080/MyWebApp/myservlet

同様に、ポストインボークは、同様の結果が得られます!

8ビューTomcatのログ

私たちは、ログを表示するには、次のコマンドを使用して、ログの下のTomcat / catalina.outファイルを見ることができます:

tail -100f catalina.out

第二に、注釈ベースの開発@WebServlet

実質的に一貫性のある上述のステップのweb.xmlに基づき、以下の点が異なっています!

MyServletクラスコード:それは1と異なっています

以下のように、に、MyServletに@WebServletコードを追加します。

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @Version V1.0
 * @Description: MyServlet 类
 */
@WebServlet("/myAnnotationServlet")
public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("MyServlet 在处理 get()请求...");
        PrintWriter out = resp.getWriter();
        resp.setContentType("text/html;charset=utf-8");
        out.println("<strong>doGet My Servlet!</strong><br>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("MyServlet 在处理 post()请求...");
        PrintWriter out = resp.getWriter();
        resp.setContentType("text/html;charset=utf-8");
        out.println("<strong>doPost My Servlet!</strong><br>");
    }
}

設定の削除のweb.xml:2から2つの異なり

ノートは、関連する設定が施されているので、MyWebAppプロジェクトの下には、web.xmlのを設定する必要はありません。

33差異:アクセスアドレスの変更

@WebServletの設定パス/ myAnnotationServletので、ここではそのためのアクセス・パスは、次のようになります。
http://localhost:8080/MyWebApp/myAnnotationServlet

残りのステップは、もはや住む基本的にはweb.xmlファイルで同じ設定ではありません!後期この場合は、分析は、Tomcatのサーブレットがロードおよび実行する方法を説明します!

マイクロチャンネル公共数:ソース・ベイ

出典ベイ:我々は、マイクロチャネル公共数に焦点を歓迎します。この数は、随時、公開は〜ソースコードに関連して、関連する技術開発、共同発展と共通の進捗状況を共有します


ブログ:

  • ジェーン帳:https://www.jianshu.com/u/91378a397ffe
  • CSDN:https://blog.csdn.net/ZhiyouWu
  • オープンソース中国:https://my.oschina.net/u/3204088
  • ナゲッツ:https://juejin.im/user/5b5979efe51d451949094265
  • パークブログ:https://www.cnblogs.com/zhiyouwu/
  • マイクロチャンネル公共数:ソース・ベイ
  • マイクロ手紙:WZY1782357529(歓迎通信)

おすすめ

転載: www.cnblogs.com/zhiyouwu/p/11612523.html