tomcat点击startup.bat出现闪退
原因:
JAVA_HOME的环境变量没配好
叫了学长来帮我看,发现了一个更严重的问题,竟然找不到我的JDK!真离谱啊!!没有JDK我的idea是怎么活到现在的??
解决方法:
重新下载了JDK,配置JAVA_HOME环境变量和tomcat的环境变量,配好之后再双击startup.bat就可以打开tomcat了。(但是又出现了新的问题:tomcat打开之后会乱码)
tomcat的乱码问题:
原因:
使用tomcat时控制台用的是UTF-8而不是GBK
解决方法:
打开D:\Program Files\apache-tomcat-8.5.87-windows-x64\apache-tomcat-8.5.87\conf目录下的logging.properties,把UTF-8换成GBK,如图:
再次打开startup.bat就不会出现乱码了。
Servlet配置访问路径用WebServlet注解时报错
原因:
web-app标签3.0以上版本才可以使用servlet的注解的,这是必要条件。
打开web.xml检查web-app标签中的两个属性,我的web是4.0的啊为什么会报错呢
<?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">
</web-app>
然后就又发现一个问题:这里填写4.0会报错,我以为是版本太高了,于是换了3.1可是还是不行
解决方法:
学姐说是没有导入这个依赖
然后就添加了这么一段:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>7.0.47</version>
</dependency>
</dependencies>