Tomcat 版本
Tomcat 9 之后的 Servlet
是 jakata.servlet.Servlet
的包名,Tomcat 9 以及之前的版本是 javax.servlet.Servlet
的包名。
本文基于 Tomcat 10 所写。
需要的插件
-
Tomcat 插件
Tomcat for Java
插件已经废弃,需要使用 Red Hat 提供的Community Server Connectors
插件。 -
Java 插件
在我的机器上
Java Language Support
会报无法启动错误,所以用的也是Red Hat 提供的Language Support for Java(TM)by Red Hat
。 -
Maven 插件
Maven for Java
添加 Maven 本地依赖
-
本地依赖
<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/servlet-api.jar</systemPath> </dependency>
-
通过网络添加
启动实例遇到的问题及解决方案
404 的解决办法
-
1.文件存放结构错误
-
2.servlet配置路径错误
在
web.xml
文件检查mapping
类名、路径。 -
3.war 包结构异常
用maven原生的命令进行打包。
-
4.jre环境变量
除了
JAVA_HOME
环境变量,还需要添加JRE_HOME
环境变量。
高版本的JDK看不到JRE目录,需要手动生成。
进入JDK根目录,用管理员权限打开dos窗口,执行
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
命令。
500 的解决办法
-
1.缺失jar包
在
WEB_INF
目录新建lib
文件夹,添加依赖包,并在 Maven 中配置。 -
2.配置文件类名错误
检查
web.xml
中的 java 类名。 -
3.引用包名错误
根据 Tomcat 版本检查 java 文件的包名,检查 Maven 依赖中的包名。
Tomcat 控制台中文乱码
在 Tomcat 的 conf
目录下,打开 logging.properties
,在50行左右修改 UTF-8 为 GBK 编码
java.util.logging.ConsoleHandler.encoding = GBK
。
参考的文档
Deploying a WAR file gives me a 404 Status Code on Tomcat