我已将所有jsp放在views文件夹的classpath中。
文件夹结构是:
src/main/resources/
src/main/resources/static/
src/main/resources/static/views/
src/main/resources/static/views/*.jsp
src/main/resources/static/views/*.png
我可以从静态文件夹中检索图像文件。但是当谈到jsp时,我会遇到以下错误。
点击网址时:http://localhost:9001/login
There was an unexpected error (type=Not Found, status=404).
/views/login/login.jsp
然而,login.jsp存在于给定位置。
答案 0 :(得分:1)
我创建了一个" WEB-INF / jsp"文件夹下的" src / main / resources / META-INF / resources"并将JSP文件放在那里。它的工作原理。检查屏幕截图。
https://i.stack.imgur.com/P3jUI.png
答案 1 :(得分:1)
Springboot 默认的tomcat容器不处理 JSP 。所以我们需要使用以下依赖项来处理它:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
如果您在 JSP 中使用 JSTL 标记,则还要在jar下方添加:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
答案 2 :(得分:0)
JSP等模板与静态内容(如图像文件)完全相反。将模板放在src/main/resources/templates
中。
答案 3 :(得分:0)
src/main/resources/templates
2.这三个依赖项可以帮助你:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
答案 4 :(得分:0)
我应该用战争作为包装。罐装包装在jsp的情况下不起作用。
答案 5 :(得分:-1)
我相信默认情况下Spring Boot会查找html文件。要更改此行为,您必须更改application.properties
,如下所示使用jsp-s:spring.view.suffix: .jsp
甚至可以更改spring.view.prefix
以指向静态资源。
我个人建议在Thymeleaf中使用html-s。