IDEA2021 tomcat10 サーブレットの新しいバージョンの落とし穴

IDEA2021 tomcat10 サーブレットの新しいバージョンの落とし穴

私が学習していたときに使用していたバージョンは比較的新しいものであり、インターネット上のチュートリアルはすべて古いバージョンであったため、多くの問題が発生しました。以下は、他の初心者が落とし穴を回避するのに役立つ要約です。
さっそくですが:

1:
ファイル->新規->プロジェクトで通常の Java プロジェクトを作成します。

プロジェクト名は任意に付けることができます

2:
プロジェクト名を右クリック -> フレームワーク サポートの追加:

Webアプリケーションをチェックして[OK]をクリックします

3:
プロジェクト名 -> web -> WEB-INF を展開し、WEB-INF の下に classes と lib という 2 つの新しいフォルダーを作成します。

4:
Ctrl + Alt + Shift + S を押してプロジェクト構造を表示します。
[モジュール] -> [パス] を選択し、ラジオ ボタンで [モジュール xxxxx を使用する] を選択して、作成したクラスへの 2 つのパスを変更します。

次に、依存関係を選択し、下の + 記号をクリックして、jars または dirxxxxxxxx を選択し、作成した lib ディレクトリを選択します。使用するディレクトリを選択する場合は、jar direxxxxxxx を選択してチェックし、適用をクリックして、OK をクリックします。

5:
tomcat/lib ディレクトリにある servlet-api.jar を、作成した lib ディレクトリにコピーします。

6:
右上隅のハンマーの横にある [構成の追加] をクリックし、プラス記号をクリックして、tomcat サーバー -> ローカルを選択します。ここで tomEE を選択しないように注意してください。 2 つのアイコンは同じですが、同じものではありません。その他の構成は変更されません。aply で [fix] をクリックします。アプリケーション コンテキストには好きな名前を付けることができます。/ で十分であることが推奨されます。それでは申請してください。OK。

7:
index.jsp のタイトルと末尾を変更して実行します。以下のようになっていれば基本的にOKです。

8:
src に新しい Java クラスを作成し、サーブレットを記述してみます。
これも他のバージョンとは異なります。古いバージョンはすべて javax.servlet.xxxxx をインポートしますが、ここでは jakarta.servlet.xxxxx をインポートします。servlet-api.jar を展開すると、インポートする必要がある特定のパッケージを確認できます。

ここに画像の説明を挿入

jakarta.servlet.ServletException をインポートします。
jakarta.servlet.annotation.WebServlet をインポートします。
jakarta.servlet.http.HttpServlet をインポートします。
jakarta.servlet.http.HttpServletRequest をインポートします。
jakarta.servlet.http.HttpServletResponse をインポートします。
java.io.IOException をインポートします。
java.io.PrintWriter をインポートします。

@WebServlet(名前 = "ログイン")
パブリッククラスLoginはHttpServletを拡張します{
    @オーバーライド
    保護された void doPost(HttpServletRequest リクエスト、HttpServletResponse レスポンス)
            ServletException、IOException をスローします {
        レスポンス.setContentType("text/html");
        PrintWriter 出力 = response.getWriter();
        out.println("<!DOCTYPE HTML>");
        out.println("<HTML>");
        out.println(" <HEAD><TITLE>ログイン</TITLE></HEAD>");
        out.println(" <BODY>");
        out.print(" これはログインページです");
        out.print(this.getClass());
        out.println(" </BODY>");
        出力をprintln("</HTML>");
        出力をフラッシュします。
        out.close();
    }

    @オーバーライド
    保護された void doGet(HttpServletRequest リクエスト、HttpServletResponse レスポンス)
            ServletException、IOException をスローします {
        レスポンス.setContentType("text/html");
        PrintWriter 出力 = response.getWriter();
        out.println("<!DOCTYPE HTML>");
        out.println("<HTML>");
        out.println(" <HEAD><TITLE>ログイン</TITLE></HEAD>");
        out.println(" <BODY>");
        out.print(" これはログインページです");
        out.print(this.getClass());
        out.println(" </BODY>");
        出力をprintln("</HTML>");
        出力をフラッシュします。
        out.close();
    }
}

次に、web.xml ファイルを次のように変更します。

サーブレット

-name は、大文字と小文字が一致していれば任意の名前にすることができます。servlet-class はクラス名と同じである必要があります。url-pattern は、Java クラスの @WebServlet(name="xxxx") の xxxx と同じである必要があります。ここで、xxxx はパスです。
この時点でコンパイルして実行し、アドレスバーに書き込んだ URL を入力すると、動的リソースにアクセスできます。

これで、IDEA2021 tomcat10 サーブレットの新しいバージョンの落とし穴に関するこの記事は終わりです。idea2021 tomcat サーブレットの関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • IntelliJ IDEA2021.1 設定完了 (超詳細チュートリアル)
  • 最新のidea2021最新のアクティベーション超詳細なチュートリアル
  • 最新のidea2021登録コードは永久に有効化されます(2100まで有効化)
  • 最新のIDEA2020.2.1、2.2、3以降のクラッキング、アクティベーション失敗、再アクティベーションの問題について
  • IntelliJ IDEA 2020.2.3 永久クラッキングおよびアクティベーション チュートリアル (テスト済み、効果的)
  • IDEA2021.2 のインストール後の設定と再インストールの問題の詳細な説明

<<:  CSS を使用して要素のスクロールバーを非表示にするサンプルコード

>>:  JavaScript と CSS を最適化してウェブサイトのパフォーマンスを向上させる

推薦する

アイデアを使用して Springboot 初期化サーバーを構築する際の問題分析

問題の説明最近、Springbootプロジェクトを構築していたところ、会社のネットワークケーブルに接...

JSネイティブ2列シャトル選択ボックスの実装例

目次いつ使うか構造的ブランチコードいつ使うか選択動作を完了するには、2 つの列間で要素を直感的に移動...

CSS スティッキーフッター実装コード

この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...

Docker5フル機能の港湾倉庫構築プロセス

Harbor は、Docker イメージを保存および配布するためのエンタープライズ レベルのレジスト...

条件によるMysqlカウントの複数の実装方法を詳細に解説

最近、あるウェブサイトのバックエンドに一連の統計機能を追加していたのですが、条件によるカウントが必要...

Docker と Intellij IDEA の融合により、Java 開発の生産性が 10 倍向上

目次1. 開発前の準備2. 新しいプロジェクトIdea は Java 開発のための強力なツールであり...

JS ベースのページフローティングボックスを実装するためのサンプルコード

スクロール バーを下に引くと、主にposition:fixed;スタイルにより、フローティング ボッ...

mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル

目次リレーショナルデータベースとは何ですか?非リレーショナルデータベースとは何ですか? MySQL ...

すべてまたは逆の選択機能を実現するJavaScript

この記事では、全選択または選択を反転する機能を実現するためのJavaScriptの具体的なコードを参...

SpringbootはDockerデプロイメントを統合し、Dockerイメージを構築する2つの方法を実装します。

Docker は、あらゆるアプリケーション用の軽量でポータブルな自己完結型コンテナーを簡単に作成で...

jQueryはすべての選択と逆選択操作ケースを実装します

この記事では、全選択と逆選択操作を実装するためのjQueryの具体的なコードを参考までに共有します。...

Dockerコンテナ内で2つのプロセスを開始するときのDockerfile実装コード

最近、cronスケジュールタスク用のdockerを作りたいと思っており、Dockerfileで次のよ...

HTML+CSS マージテーブル境界線サンプルコード

table タグと td タグに境界線を追加すると、デフォルトでは次のように二重境界線が使用されます...

MySQL 5.7.20 zip インストール チュートリアル

MySQL 5.7.20 zipインストール、具体的な内容は次のとおりです(1)圧縮パッケージを解凍...

Docker プライベート ウェアハウスを構築する (自己署名方式)

作成したイメージを一元管理し、サービスの展開を容易にするために、プライベート Docker リポジト...