spring-boot basic JSP 404 Not Found

匿名 (未验证) 提交于 2019-12-03 01:12:01

问题:

Can't load a very simple JSP page with spring-boot, getting 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> 

Getting 404 even though debugger shows that "welcome" is being returned from the Controller RequestMapping.

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sat Mar 07 19:35:15 EST 2015 There was an unexpected error (type=Not Found, status=404).

回答1:

I have already tried many solutions, but couldn't find a working one.

If you are using Intellij IDEA

$ cd {your_project_folder_path}  $ ls //Check if you are in the same place with the pom.xml 

and then type

$ mvn spring-boot:run 

Now your application is served at localhost:8080.



回答2:

I needed to add this to my application.properties file:

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


回答3:

In latest spring versions, the properties to be put in application.properties file look like following:

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

Note "mvc" included in "spring.view.prefix"

Also, in newer versions of Spring, there is an annotation @SpringBootApplication for @Configuration, @EnableAutoConfiguration, @ComponentScan



回答4:

Normally Spring boot doesnot require any configuration besides adding dependency while working with Thymeleaf.

To run JSP in Spring Boot, you have to have some configurations:

Dependencies needed:

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

If you are connecting with MySQL Database then:

 <dependency>         <groupId>mysql</groupId>         <artifactId>mysql-connector-java</artifactId>         <scope>runtime</scope>     </dependency> 

In Application.Properties file:

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

Now your Good to go !!! :D



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!