idea 整合 Tomcat


文章目录

  • idea 整合 Tomcat
  • 基本流程
  • 创建JavaWeb项目
  • 版本选择
  • 部署项目
  • 选择部署方式
  • 示例
  • 部署非JavaWeb项目
  • 常见问题


基本流程

创建JavaWeb项目

版本选择

不同JavaEE版本对应的Tomcat版本和Servlet版本如下:

JavaEE版本

Tomcat版本

Servlet版本

运行环境

1.3

4.1

2.3/1.2

JDK1.3

1.4

5.0

2.4/2.0

JDK1.4

5.0

5.5/6.0

2.5/2.1

JDK5.0

6.0

7.0

3.0/2.2

JDK6.0

7.0

8.0

3.1/2.3

JDK7.0

8.0

9.0

4.0

JDK8.0

低版本的Tomcat不支持高版本的JavaEE。高版本的Tomcat支持低版本的JavaEE,可能会出现问题,所以最好一一对应。

我们JDK8支持对应的JavaEE 8.0,Tomcat9.0,Servlet4.0为例。从Servlet3.0开始就支持注解配置了,所以我们可以不勾选web.xml。

idea哪个版本支持lua idea哪个版本支持javaee_idea哪个版本支持lua

安装完项目之后,我们会得到以下目录结构,src存放我们的java代码,而web目录下存放HTML,CSS,JS等前端资源,还有jar包依赖。

idea哪个版本支持lua idea哪个版本支持javaee_web_02

部署项目

按照图示依次选择:

  • 右上角的ADD CONFIGURATIONS
  • +号
  • Tomcat Server 的Local

idea哪个版本支持lua idea哪个版本支持javaee_java_03

部署项目

idea哪个版本支持lua idea哪个版本支持javaee_tomcat_04

如果你点击了Artifact不是直接到了这个界面,而是有一个选择框。一般会有两个同名但是后缀不一样的war打包方式,我们选择后缀名为exploded的生产环境方式部署。生产环境部署支持热部署,就是在程序运行的时候修改项目也能立刻生效,而另一种打包方式是发布方式,只能重启服务器来更改配置。

Application context为虚拟路径,建议把后缀名去掉,即改为项目名。如果你把虚拟路径设置为/,那么我们直接访问localhost:8080/ 即可直接访问项目,但是对于多个项目的部署不推荐,个人学习的时候部署单个项目可以这么做。

idea哪个版本支持lua idea哪个版本支持javaee_java_05

选择部署方式

如图:

  • Application server:表示tomcat服务器版本,如果你电脑配合正确,这里可以直接看到你安装的Tomcat
  • Tomcat启动完毕之后,克可以选择弹出浏览器,并且浏览器自动打开你配置的虚拟目录,方便立刻查看结果,可以选择浏览器,点击After lauch关闭此功能
  • On Update action :我们的服务器控制界面有一个Update按钮,默认情况下是Restart Server,如果我们选择Update classes and resource则我们使用热部署的范式部署更新我们的更改。
  • HTTP port:端口号,默认8080.如果改为HTTP的默认端口80,则我们访问目录是可以直接:/localhost/项目名,不需要输入localhost:80/项目名

idea哪个版本支持lua idea哪个版本支持javaee_jar包_06

示例

这里我部署了一个简单的前端界面

idea哪个版本支持lua idea哪个版本支持javaee_web_07

启动tomcat

右上角启动(快捷方式)

idea哪个版本支持lua idea哪个版本支持javaee_idea哪个版本支持lua_08

下方菜单栏启动

idea哪个版本支持lua idea哪个版本支持javaee_java_09

这时候会看到控制台疯狂打印红色字,这不是错误,而是日志信息,稍微等待几秒只有,看到以下内容就说明启动成功了!

idea哪个版本支持lua idea哪个版本支持javaee_web_10

由于之前设置虚拟路径为/JavaWeb,成功访问项目

idea哪个版本支持lua idea哪个版本支持javaee_jar包_11

部署非JavaWeb项目

有点时候我们已经有一个普通的Java项目,如果要是用tomcat服务器,暴力的方式是复制粘贴到新的JavaWeb项目中,但是这不好的,我们的IDEA支持我们在已有的项目基础上添加新的模块

idea哪个版本支持lua idea哪个版本支持javaee_web_12

添加web模块

点击右上角的项目结构按钮,点击Module。点击+号,然后选择Web模块,就叫Web不要选JavaEE什么的。然后他会提示你会生成一个web文件夹和web.xml文件,路径你可以自己修改。如果不需要web.xml可以web.xml的-号删除web.xml文件夹的创建。

idea哪个版本支持lua idea哪个版本支持javaee_tomcat_13

我们看到新增加的web目录,以及自动生成的web.xml文件。

idea哪个版本支持lua idea哪个版本支持javaee_jar包_14

添加打包方式

生成了web目录还不过,还要添加一下war打包。

idea哪个版本支持lua idea哪个版本支持javaee_java_15

弹出对话框选出你要添加的war的打包项目,对于一个项目有多个子模块时,这里有多重选择,选自己要打包的。

idea哪个版本支持lua idea哪个版本支持javaee_jar包_16

去tomcat部署项目,此时可以正常部署

idea哪个版本支持lua idea哪个版本支持javaee_java_17

常见问题

端口被占用

我们可以杀死8080线程,也可以切换端口,一台计算机可以开启多个tomcat,但是端口不能冲突

idea哪个版本支持lua idea哪个版本支持javaee_web_18

部署项目之后,后序做出的更改没有生效

比如我们部署了一个项目,可能我们进行大量代码的修改,下一次启动服务器时,还是之前的效果。这个问题和打包和缓存有关系,解决方法是重新打包,方法也很简单,直接把out文件或者叫target文件删除,让JVM重新编译一遍即可。

idea哪个版本支持lua idea哪个版本支持javaee_web_19

jar包没找到

在我们之前的项目中,我们导入jar包都是直接加入到lib目录中的,在web项目中,我们需要把这个lib转移到web目录下,不然报类型找不到异常。

idea哪个版本支持lua idea哪个版本支持javaee_idea哪个版本支持lua_20

将jar包添加到WEB-INF/lib目录下即可

idea哪个版本支持lua idea哪个版本支持javaee_tomcat_21