IDEA2020.2创建Maven web项目,并配置Tomcat服务器

环境
IDEA2020.2 Tomcat9(不建议10,后期实现Servlet接口会出现问题)

1、新建Java Enterprise,jdk1.8,Build Tool:Maven Test Runner:JUnit

image-20210319205802876

2、创建web工程

image-20210319205848912

image-20210319205908734

项目结构

image-20210319210111863

3、配置Tomcat

image-20210319210225000

image-20210319210302339

注意:只能选择Tomcat server --> Local,不能选择TomEE Server

4、设置Tomcat

deployment:部署项目

artifact:指部署项目的类型,两种类型:

  1. war
  2. war -exploded,扩展的war包,适用于调试

image-20210319210444005

更改项目访问路径

image-20210319210718355

实现Tomcat热部署

image-20210319211231970

  • Update resources,更新静态资源文件,如html css js等
  • Update classes and resources和静态资源文件,更新java类,jsp和静态资源文件
  • Redeploy,重新部署,删除war包,重新创建并部署war包,但不重启服务器
  • Restart server,重启服务器,以上所有都更新

On Update action:当手动触发更新操作时,idea要做的事

On frame deactivation:当idea失去焦点时,idea要做的事。例如切换到其他窗口,最小化idea等

然后通过debug进入热部署

至此,Tomcat部署Maven web项目完成,可以通过访问index.jsp和实现Servlet接口的类测试项目

ServletDemo.java

@WebServlet("/ss")
public class ServletDemo extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }
}
org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常

主要是因为Webservlet代码地址填写错误导致,总结了一下几点可能错误的情况,可能会有疏漏,不过肯定是因为地址问题

  1. 地址忘了加"/"
  2. 地址重复
    • 这里需要好好检查,我的就是这种情况,比如有一个地址是/floor/list,而另一个类中的地址也是/floor/list(复制粘贴后遗症),就是地址不能重复,请大家务必好好检查哦
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐