spring-boot基本JSP 404未找到

时间:2015-03-08 01:53:09

标签: java spring jsp spring-mvc spring-boot

无法使用spring-boot加载一个非常简单的JSP页面,获得404 Not Found。

的src /主/爪哇/ SampleWebJspApplication.java

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class SampleWebJspApplication extends SpringBootServletInitializer {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleWebJspApplication.class, args);
    }
}

的src /主/爪哇/ WebController.java

@Controller
public class WebController {
    @RequestMapping("/")
    public String welcome() {
        return "welcome";
    }
}

的src /主/ web应用/ 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>

获得404即使调试器显示从Controller RequestMapping返回“welcome”。

  

Whitelabel错误页面

     

这个应用程序没有/ error的显式映射,所以你看到了   这是一个后备。

     

2007年3月7日星期六19:35:15 2015年出现意外错误(类型=不是   找到了,状态= 404)。

4 个答案:

答案 0 :(得分:3)

我已经尝试了很多解决方案,但找不到合适的解决方案。

如果您正在使用 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提供。

答案 1 :(得分:1)

我需要将其添加到 application.properties 文件中:

spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp

答案 2 :(得分:1)

在最新的spring版本中,要放在application.properties文件中的属性如下所示:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

注意“spring.view.prefix”中包含的“mvc”

此外,在较新版本的Spring中,@SpringBootApplication@Configuration@EnableAutoConfiguration

有一个注释@ComponentScan

答案 3 :(得分:0)

正常情况下,除了在使用Thymeleaf时添加依赖项外,Spring启动不需要任何配置。

要在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