# Enable Web application support

> **TL;DR**
> Required plugins: [Jakarta EE: Persistence (JPA)](https://plugins.jetbrains.com/plugin/20202) (bundled), [Jakarta EE: Web/Servlets](https://plugins.jetbrains.com/plugin/20216) (bundled), and [Jakarta EE: Enterprise Java Beans (EJB)](https://plugins.jetbrains.com/plugin/16939) (not bundled)

When you enable Web Application support in IntelliJ IDEA, it can do the following:

* Create a web resource directory `web` with `index.jsp` intended as a starting page of your app and, optionally, a web app [deployment descriptor](https://en.wikipedia.org/wiki/Deployment_descriptor) `WEB-INF/web.xml`.

* Create a Web facet that lets you manage your deployment descriptors, web resource directories, and your Java web [source roots](null).

* Create an Exploded [WAR](https://en.wikipedia.org/wiki/WAR_(file_format)) [artifact](working-with-artifacts.html) configuration.

* Provide access to the [Web](web-tool-window.html) tool window.

If you enable Web Application support when creating a project or module and specify an application server, IntelliJ IDEA also creates a [run/debug configuration for that server](creating-run-debug-configuration-for-application-server.html).

Procedure: Create a new web application

1. Click New Project on the Welcome screen or select `File | New | Project`.

2. From the Generators list, select Jakarta EE.

3. Name the new project, select a build tool, a language you want to use, and select the Web application project template.

4. Select the Create Git repository option to place the new project under version control.

5. From the JDK  list, select the [JDK](sdk.html#jdk) that you want to use in your project.

* If the JDK is installed on your computer, but not defined in the IDE, select ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.nodes.jdk.png) Add JDK from Disk… and specify the path to the JDK home directory.

* If you don't have the necessary JDK on your computer, select ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.download.svg) Download JDK .

![Creating new Jakarta EE project](https://resources.jetbrains.com.cn/help/img/idea/2026.2/java_enterprise_new_project_step_1.png)

6. On the next step of the wizard, select the Jakarta EE version to be supported.

From the Dependencies list, select Servlet.

7. Click Create.

Procedure: Add web application support to existing module

> **Note:**
> This information is valid for projects that are built with the native IntelliJ IDEA builder. If you're using a build tool, such as [Maven](maven-support.html) or [Gradle](gradle.html), make all changes using the build file.

1. In the   Project tool window  (`Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+1` (NetBeans), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))) , select the necessary module.

2. Press `Ctrl+Shift+A` (Windows), `⌘ ⇧ A` (macOS), `⌘ ⇧ A` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ P` (macOS System Shortcuts), `Ctrl+Shift+A` (XWin), `Ctrl+Shift+A` (GNOME), `Ctrl+Shift+A` (KDE), `Escape, X` (Emacs), `Ctrl+Shift+P` (Sublime Text), `⌘ ⇧ P` (Sublime Text (macOS)), `Ctrl+I` (NetBeans), `Ctrl+Shift+A` (Visual Studio), `⌘ ⇧ A` (Visual Studio (macOS)), `Ctrl+Shift+A` (Eclipse), `⌘ 3` (Eclipse (macOS)) and type `Add Framework Support`.

Once the action is found, click it to open the Add Framework Support dialog.

3. In the dialog that opens, select Web Application and select a version of the Servlet specification.

4. If you want the deployment descriptor `web.xml` file to be created, select the `Create web.xml` checkbox.

Click OK.

![Adding support for a framework](https://resources.jetbrains.com.cn/help/img/idea/2026.2/ij_add_framework_support.png)

Procedure: Manage web application settings

You can manage your web app [deployment descriptors](https://en.wikipedia.org/wiki/Deployment_descriptor), web resource directories, and Java web [source roots](null) in the Project Structure dialog.

1. In the main menu, go to `File | Project Structure` or press `Ctrl+Alt+Shift+S` (Windows), `⌘ ;` (macOS), `⌘ ;` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ Comma` (macOS System Shortcuts), `Ctrl+Alt+Shift+S` (XWin), `Ctrl+Alt+Shift+S` (GNOME), `Ctrl+Alt+Shift+S` (KDE), `Ctrl+Alt+Shift+S` (Emacs), `Ctrl+Alt+Shift+S` (Sublime Text), `⌘ ;` (Sublime Text (macOS)), `Ctrl+Alt+Shift+S` (NetBeans), `Ctrl+Alt+Shift+S` (Visual Studio), `⌘ ;` (Visual Studio (macOS)), `Ctrl+Alt+Shift+S` (Eclipse), `⌘ ;` (Eclipse (macOS)).

2. In the left pane, select Modules or Facets.

3. Select the Web facet.

4. Configure the following:

Deployment Descriptors
: List of deployment descriptors for your app

Web Resource Directories
: Directories that contain your web app resources, such as web pages and images

Source Roots
: Source roots contain your web application Java classes, such as servlets, filters, and managed beans.

For more information, refer to [Web facet page](web-facet-page.html).

## Manage application artifacts

To manage your artifact configurations, use the Project Structure dialog (`File | Project Structure | Artifacts`).

To deploy your application to a server, you need an application [artifact](working-with-artifacts.html). For Java web applications, IntelliJ IDEA provides the following artifact formats:

* Web Application: Exploded. This is a decompressed Web application archive ([WAR](https://en.wikipedia.org/wiki/WAR_(file_format))), a directory structure that is ready for deployment onto a web server.

* Web Application: Archive. This is a WAR file.

For more information, refer to [Artifacts](working-with-artifacts.html).

## See also

### Procedures

[Developing a Jakarta EE Web Application](creating-and-running-your-first-jakarta-ee-application.html) [Application servers](application-servers-support.html)

### Reference

[Web facet page](web-facet-page.html)

