Web アプリケーション要素を作成する
Web アプリケーションの要素とデプロイ設定は、Web モジュールのデプロイ記述子 web.xml に定義されています。これは、モジュールで Web アプリケーションのサポートを有効にする と自動的に作成されます。
ユーザインターフェースとの整合性のために、モジュールデプロイ記述子は アセンブリ記述子とも呼ばれます。
エディターを使用し、IntelliJ IDEA コーディング支援を使用してソースコードを編集することができます。
Web アプリケーション要素のテンプレートを定義する
IntelliJ IDEA は、サーブレット、リスナー、フィルターを作成するためのデフォルトのテンプレートを提供しません。 ただし、これらのテンプレートは自分で定義できます。
Web アプリケーションの一部としての サーブレット(英語)は、 web.xml Web アプリケーションデプロイ記述子の <servlet> および <servlet-name> エレメントを介して作成および構成されます。
Ctrl+Alt+S を押して設定を開き、 を選択します。
ファイル タブで、
をクリックして新しいファイルテンプレートを作成します。
新しいテンプレートに
Servletという名前を付け、ファイル名としてServletを指定します。 拡張子がjavaであることを確認してください。次のコードをテンプレートの本文として貼り付けます。
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; @WebServlet(name = "${Class_Name}", value = "/${Class_Name}") public class ${Class_Name} extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }変更を適用して、ダイアログを閉じます。

サーブレット要素はサーブレットの名前を定義し、それを実装するコンパイルされたクラスを指定します。 あるいは、サーブレットクラスを指定する代わりに、JSP を指定することもできます。
Servlet 要素には、初期化属性の定義も含まれています。
エディターでアノテーションを使用してサーブレットを呼び出す URL のセットにサーブレットを関連付ける URL パターンをマップできます。
リスナーは、Web アプリケーションのデプロイ / アンデプロイメント、HTTP セッションのアクティブ化 / 非アクティブ化、アプリケーション / セッションの属性の追加、削除、置換など、Web アプリケーションに関連するイベントの通知を受け取ります。
Ctrl+Alt+S を押して設定を開き、 を選択します。
ファイル タブで、
をクリックして新しいファイルテンプレートを作成します。
新しいテンプレートに
Listenerという名前を付け、ファイル名としてListenerを指定します。 拡張子がjavaであることを確認してください。次のコードをテンプレートの本文として貼り付けます。
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") import javax.servlet.*; import javax.servlet.http.*; public class ${Class_Name} implements ServletContextListener, HttpSessionListener, HttpSessionAttributeListener { public ${Class_Name}() {} @Override public void contextInitialized(ServletContextEvent sce) { /* This method is called when the servlet context is initialized(when the Web application is deployed). */ } @Override public void contextDestroyed(ServletContextEvent sce) { /* This method is called when the servlet Context is undeployed or Application Server shuts down. */ } @Override public void sessionCreated(HttpSessionEvent se) { /* Session is created. */ } @Override public void sessionDestroyed(HttpSessionEvent se) { /* Session is destroyed. */ } @Override public void attributeAdded(HttpSessionBindingEvent sbe) { /* This method is called when an attribute is added to a session. */ } @Override public void attributeRemoved(HttpSessionBindingEvent sbe) { /* This method is called when an attribute is removed from a session. */ } @Override public void attributeReplaced(HttpSessionBindingEvent sbe) { /* This method is called when an attribute is replaced in a session. */ } }変更を適用して、ダイアログを閉じます。

Ctrl+Alt+S を押して設定を開き、 を選択します。
ファイル タブで、
をクリックして新しいファイルテンプレートを作成します。
新しいテンプレートに
フィルターという名前を付け、ファイル名としてフィルターを指定します。 拡張子がjavaであることを確認してください。次のコードをテンプレートの本文として貼り付けます。
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") import javax.servlet.*; import javax.servlet.annotation.*; @WebFilter(filterName = "${Class_Name}") public class ${Class_Name} implements Filter { public void init(FilterConfig config) throws ServletException { } public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { chain.doFilter(request, response); } }変更を適用して、ダイアログを閉じます。

要素を追加する
新しい要素を追加する前に、その要素の ファイルテンプレートが作成されていることを確認してください。
プロジェクト ツールウィンドウ (Alt+1 または ) で、 Web モジュールにある パッケージを右クリックし、 Servlet、 フィルター 、または Listener を選択します。
新しい要素に名前を付けて、 OK をクリックします。