spring-boot 基本 JSP 404 未找到
Posted
技术标签:
【中文标题】spring-boot 基本 JSP 404 未找到【英文标题】:spring-boot basic JSP 404 Not Found 【发布时间】:2015-05-09 10:37:53 【问题描述】:无法使用spring-boot加载一个非常简单的JSP页面,得到404 Not Found。
src/main/java/SampleWebJspApplication.java
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class SampleWebJspApplication extends SpringBootServletInitializer
public static void main(String[] args) throws Exception
SpringApplication.run(SampleWebJspApplication.class, args);
src/main/java/WebController.java
@Controller
public class WebController
@RequestMapping("/")
public String welcome()
return "welcome";
src/main/webapp/WEB-INF/jsp/welcome.jsp
<!DOCTYPE html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html lang="en">
<body>
<h1>Hello.</h1>
</body>
</html>
即使调试器显示控制器 RequestMapping 正在返回“欢迎”,也得到 404。
白标错误页面
这个应用程序没有明确的 /error 映射,所以你看到 这是一个后备。
2015 年 3 月 7 日星期六 19:35:15 EST 出现意外错误(type=Not 已找到,状态=404)。
【问题讨论】:
【参考方案1】:我已经尝试了很多解决方案,但找不到可行的解决方案。
如果您正在使用 Intellij IDEA 并在拉头发时阅读此内容:请勿尝试使用 IDE 的运行 ▶︎ 按钮运行 Spring Boot 应用程序(带有动态 .jsp 视图)。
$ cd your_project_folder_path
$ ls //Check if you are in the same place with the pom.xml
然后输入
$ mvn spring-boot:run
现在您的应用程序已发送至localhost:8080
。
【讨论】:
这意味着问题出在您的构建工具上,而不是 IDE 本身 @fg78nc 请看docs.spring.io/spring-boot/docs/current/reference/html/…【参考方案2】:在最新的 spring 版本中,要放在 application.properties 文件中的属性如下所示:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
注意“mvc”包含在“spring.view.prefix”
中另外,在较新版本的 Spring 中,@SpringBootApplication
有一个注解 @Configuration
、@EnableAutoConfiguration
、@ComponentScan
【讨论】:
【参考方案3】:通常 Spring boot 不需要任何配置,除了在使用 Thymeleaf 时添加依赖项。
要在 Spring Boot 中运行 JSP,您必须进行一些配置:
需要的依赖:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
如果您连接的是 mysql 数据库,那么:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
在 Application.Properties 文件中:
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
现在你的好去! :D
【讨论】:
【参考方案4】:我需要将此添加到我的 application.properties 文件中:
spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp
【讨论】:
@Crash-ID,知道了。谢谢。以上是关于spring-boot 基本 JSP 404 未找到的主要内容,如果未能解决你的问题,请参考以下文章
如何在 spring-boot 中拦截嵌入式 Tomcat 上的“全局”404