IDEA2022社区版搭建web项目,并用maven打包成war包,部署到tomcat9中

本文详细介绍了如何使用IDEA社区版创建JavaEE8Web项目,包括设置目录结构、编写web.xml、导入servlet-api.jar、创建Servlet和JSP页面。同时,通过Maven进行编译打包成war文件,并演示了如何在Tomcat服务器上部署和访问该应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.IDEA社区版搭建web项目

问题:

  • IDEA社区版没有创建Web工程的选项
  • IDEA社区版没有将Web工程打包成war包的选项

1.1 创建普通的java项目,此处不再赘述

在这里插入图片描述

1.2 构建web项目的目录结构

在这里插入图片描述

1.3 设置编译目录

在这里插入图片描述

1.4 在WEN-INF文件夹下新建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">
  <display-name>SimpleWebApp</display-name>
  <!-- display-name作用是在登录到tomcat管理页面可以看到显示名字 -->
  <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>com.bes.test.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>

此时 http://xmlns.jcp.org/xml/ns/javaee 和 http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd 会报红,原因是没有web.xml的约束文件。tomcat的lib中的servlet-api.jar包含所需的约束文件,因此可以手动导入该jar包,也可以通过pom.xml坐标导入该jar包(我建议通过坐标导入,因为后续通过Maven编译项目时,还是需要在pom.xml文件中导入坐标)。

1.4.1 手动导入servlet-api.jar(方法一)

在这里插入图片描述

1.4.2 导入pom.xml文件

1.4.2.1 添加pom.xml文件

web项目添加pom.xml,转变为Maven项目

  • 方式一:手动创建pom.xml文件,然后右键 Add as Maven Project

在这里插入图片描述

  • 方式二:点击我的项目, 右键找到Add Framework Support(此方式我行不通)
    在这里插入图片描述
    弹出以下页面,若没有maven,一直下拉,若还没有,检查你的项目中是否已有pom.xml文件,勾选Maven,点击Ok
    在这里插入图片描述
    pom.xml成功创建(已转变成maven项目),可以添加你的依赖了
1.4.2.2 导入servlet-api.jar坐标(方法二)

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>helloworld</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
            <!-- 已提供范围的依赖在编译classpath (不是运行时)可用。它们不是传递性的也不会被打包。
            https://www.cnblogs.com/nanyangzp/p/4813228.html -->
        </dependency>
    </dependencies>

</project>

2. 编写web项目

以下是一个简单的基于 Java EE 8 的 Web 应用示例,包括一个简单的 Servlet 和 JSP 页面:

  1. 创建 Servlet:

    • 创建一个 Java 类,继承自 javax.servlet.http.HttpServlet

    • 实现 doGet()doPost() 方法来处理请求和响应。

    • 在方法中可以编写业务逻辑,并将结果存储在请求属性或会话属性中。

      import javax.servlet.ServletException;
      import javax.servlet.http.HttpServlet;
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;
      import java.io.IOException;
      
      public class HelloServlet extends HttpServlet {
          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              String name = "World";
              request.setAttribute("name", name);
      
              request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);
          }
      }
      
  2. 创建 JSP 页面:

    • WEB-INF 文件夹下创建一个名为 hello.jsp 的文件,并添加以下内容:

      <%@ page contentType="text/html;charset=UTF-8" language="java" %>
      <html>
          <head>
              <title>Hello JSP</title>
          </head>
          <body>
              <h1>Hello, <%= request.getAttribute("name") %>!</h1>
          </body>
      </html>
      
  3. 配置 web.xml 文件:

    • WEB-INF 文件夹下创建 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">
          <display-name>SimpleWebApp</display-name>
          <servlet>
              <servlet-name>HelloServlet</servlet-name>
              <servlet-class>com.bes.test.HelloServlet</servlet-class>
          </servlet>
          <servlet-mapping>
              <servlet-name>HelloServlet</servlet-name>
              <url-pattern>/hello</url-pattern>
          </servlet-mapping>
          <welcome-file-list>
              <welcome-file>index.html</welcome-file>
          </welcome-file-list>
      </web-app>
      
  4. 编译和打包项目:

    • 将编写好的 Java 源代码和 JSP 文件放在正确的目录中。
    • web.xml 和其他资源文件放在正确的位置。
  5. 部署到支持 Java EE 8 的服务器(如 Tomcat 10 或 WildFly)并启动服务器。

  6. 访问 Web 应用:

    • 在浏览器中输入 http://localhost:{port}/context-path/hello,其中 {port} 是你的服务器端口,context-path 是你的应用上下文路径。
    • 应该会看到 “Hello, World!” 的字样。

这样就创建了一个简单的基于 Java EE 8 的 Web 应用。你可以根据需要添加更多的 Servlet 和 JSP 页面,并实现更多的业务逻辑。

3. maven编译web项目打包成war包

3.1 在pom.xml文件中确认当前打包方式为war

在这里插入图片描述

3.2 打包成war包

进入web工程根目录,执行mvn clean package
在这里插入图片描述
得到的war包如下:
在这里插入图片描述

4. 将war包部署到Tomcat9中

将war复制到Tomcat的webapps目录中,不需要重启Tomcat,会自动部署该目录下的工程。
在这里插入图片描述

5. 访问Tomcat中的项目

在这里插入图片描述

引用的文章:
IDEA社区版搭建web项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值