Spring Download 4 Non-Rendering JSP 404

I have the following project structure

-src -main -java -com -test Application.java -controllers MyController.java -webapp -WEB-INF -jsp main.jsp 

I want to do something similar to this , but I have the following in my controller

 @Controller @RequestMapping("/my/**") public class MyController { @RequestMapping("/home") public String loadHomePage(Model m) { m.addAttribute("name", "CodeTutr"); System.out.println("Test the view controller"); return "main"; } } 

and when I go to http://localhost:8080/my/home , I get a log message and 404. I thought that in spring 4 I do not need a view qualifier, but if so, how to set it up.

Update

I created application.properties with the following ...

 spring.view.prefix: /WEB-INF/jsp/ spring.view.suffix: .jsp application.message: Hello Phil 

But it still does not work.

Update 2

The given spring sample also seems unsuccessful in a similar way with the following build.gradle ....

 buildscript { repositories { mavenLocal() mavenCentral() maven { url "http://repo.spring.io/snapshot" } maven { url "http://repo.spring.io/milestone" } } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.4.BUILD-SNAPSHOT") } } apply plugin: 'war' apply plugin: 'spring-boot' apply plugin: 'groovy' war { baseName='itext' } repositories { mavenLocal() mavenCentral() maven { url "http://repo.spring.io/snapshot" } maven { url "http://repo.spring.io/milestone" } maven { url "http://repo.spring.io/libs-release" } } dependencies { compile("org.springframework.boot:spring-boot-starter-web") compile("org.springframework.boot:spring-boot-starter-websocket") compile("org.springframework:spring-messaging") providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") testCompile("org.springframework.boot:spring-boot-starter-test") compile 'org.codehaus.groovy:groovy-all:2.2.0' compile 'com.lowagie:itext:4.2.1' compile 'com.google.code.gson:gson:2.2.4' } 

Update

I also tried to be explicit ...

 @Bean public ViewResolver getViewResolver(){ InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/jsp/"); resolver.setSuffix(".jsp"); return resolver; } 

This does not work either.

+2
spring-mvc spring-4
source share
5 answers

Adding this to build.gradle seems to fix the problem ...

 compile 'com.google.code.gson:gson:2.2.4' compile 'javax.servlet.jsp.jstl:jstl:1.2', 'taglibs:standard:1.1.2' providedRuntime 'org.apache.tomcat.embed:tomcat-embed-jasper:8.0.8' 
+1
source share

I have the same problem and I decided to add this article to pom.xml:

  <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> 

I do not understand why...

+1
source share

You may not encounter any errors when adding the following dependencies. It worked for me.

As I understand it, the jsp page does not display with the built-in tomcat unless you add some dependencies.

 <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> <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> </dependencies> 
+1
source share

Created a template for the same and shared on Github https://github.com/nagasrinu88/spring-boot-template

 <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> 

Got the same problem and solved by adding the above lines using spring boot 1.4.0.RELEASE

0
source share

Do you have a built-in intuitive interface in spring configuration?

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> 
-3
source share

All Articles