springboot + jsp打包为jar 运行时,为什么打开 jsp页面会出现 404
时间: 2023-05-27 09:01:13 浏览: 127
springboot的默认打包方式是打成可执行的jar包,在运行时,使用的是嵌入式的Tomcat容器作为Web服务器。但是,嵌入式Tomcat默认并不支持解析JSP文件,需要添加JSP支持的依赖和配置。
解决方法:
1. 在pom.xml文件中添加JSP支持的依赖:
```
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
```
2. 在src/main/resources目录下添加META-INF目录,然后在其中创建一个web.xml文件,并添加JSP配置信息。
```
<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">
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
<include-prelude>/WEB-INF/jsp/common.jsp</include-prelude>
</jsp-property-group>
</jsp-config>
</web-app>
```
3. 在src/main/resources目录下添加一个templates目录,并将JSP文件放在该目录下。
4. 编译打包后,运行jar包即可访问JSP页面。
阅读全文