IDEA 添加 Tomcat
前言
很多的工程用IDEA打开调试,如果用到 tomcat服务,都要配置一下,比如,几乎每一个java写的CMS内容管理系统都会用到tomcat,所以,很有必要单独拿出来详细说明一下。
参考: https://blog.csdn.net/wsjzzcbq/article/details/89463304
安装Tomcat服务器
上官网(https://tomcat.apache.org/download-90.cgi)下载一个免安装的版本:
下载完后放到 C:\tomcat\ 目录下即可。
标准安装步骤是要添加环境变量的,我就先不加环境变量,看行不行。
添加环境变量
1.右击,计算机——属性——高级系统设置——打开环境变量的配置窗口,在系统环境变量一栏点击新建。变量名为TOMCAT_HOME,变量值为Tomcat安装目录,此处为:C:\tomcat\apache-tomcat-9.0.41。点击确定即可。
2.同样,在系统变量里点新建:
变量名:CATALINA_BASE
变量值:C:\tomcat\apache-tomcat-9.0.41;
3.再次新建:
变量名:CATALINA_HOME
变量值:C:\tomcat\apache-tomcat-9.0.41;
4.在系统变量中找到Path变量,在变量值后面添加%CATALINA_HOME%\bin;
启动服务器
打开bin目录,可以看到里面的可执行文件是 jar格式的,也就是说,启动之前必须要先装好java环境。
也有很多的批处理文件,如下:
要启动服务器,点击运行 startup.bat 即可,关闭则使用 shutdown.bat。
测试:
在浏览器输入 http://localhost:8080/ ,果然可以顺利访问了。
新建一个java helloworld最简命令窗口工程
其实,这一步是不需要的。后面tomcat的相关内容跟helloworld最简命令窗口工程没有任何关系。
源码如下:
package helloworldPack;
public class helloworld {
public static void main(String[] args){
System.out.println("------ hello world -------");
}
}
配置 tomcat
打开 Edit Configurations
点击 + 号,添加服务配置
找到 Tomcat Server,选择 Local
具体配置如下:
1.配置 Server:
2.配置 Deployment:
点击 + 号
选择需要添加 tomcat 的项目;右侧 Application content,可以设置访问路径名,比如使用 / (即没有路径名),读者可自行设置
返回 Server,点击 OK
可以看到编辑器左侧,出现了添加的 Tomcat
选择项目,点击运行
就可以看到Output框里有提示服务运行的信息,如下:
不用我打开浏览器,会自动弹出浏览器,如下:(由于没有放web文件,所以就会提示404的错误)
网上随便保存一个页面,用来作测试,如下:
由于tomcat是有默认名字的,所以要把 html文件改成 index.html
然后,再刷新浏览器,就可以看到:(注意看,路径是本地的。)
至此,大功告成。
附录1:批处理文件(可选)
目录 C:\tomcat\apache-tomcat-9.0.41\bin 新建一个文件,命名为: 在此处打开命令窗口.bat
内容为:
c:
cd C:\tomcat\apache-tomcat-9.0.41\bin
cmd
附录2:社区版配置Tomcat
安装 Tomcat 插件
因为我用的是免费的社区版IDEA,所以没有自带 Tomcat Server。而且,插件也只能找到 smart tomcat。
File --> Settings
搜索插件并安装,
安装完后,复位IDEA
配置 tomcat
由于上一步添加了插件,在工程配置(Run >> Edit Configurations )里就可以看了这个功能了,如下图:
点击之,就多一个配置,如下:
填写如下几项:
Name:配置的名字,
Tomcat Server:填你本地的Tomcat文件目录
Deployment Directory:你的项目路径 ,最终子目录一定是webapp不然404警告(排坑)
Contex Path:上下文路径。会识别并自己填上去。
Server Port:默认是8080,可以改成其它
VM options: 可选的。没有参数就不填
具体为:
但是出现了一个问题:
Tomcat Server 无法添加路径,见上图。
原因分析: 社区版不支持spring tomcat框架等,还是搞个旗舰版吧,不然到时候调web时还会遇到一推问题,即使解决了这个问题,还有其它问题。社区版缺少的功能 如下图所示: