Spring Boot MVC应用程序JSP不显示

时间:2018-04-10 12:27:43

标签: spring-mvc spring-boot

我是初次尝试使用Spring启动编写MVC应用程序的spring boot。控制权来自控制器,但JSP未显示。我已经尝试将JSP放在webapp文件夹,webapp / web-inf文件夹中,它不起作用。下面是代码。

application.properties:

server.port=8099
spring.mvc.view.prefix: /webapp/
spring.mvc.view.suffix: .jsp

的LoginController:

    @Controller
    public class LoginController {  
        @RequestMapping("/login")
        public ModelAndView login(Model model) {
            System.out.println("*********************************");
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.setViewName("welcome");
            return modelAndView;
        }
}

project structure

4 个答案:

答案 0 :(得分:0)

尝试改变

<packaging>jar</packaging>

<packaging>war</packaging>

在pom.xml中

答案 1 :(得分:0)

更改前缀如下,

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

并将welcome.jsp移到jsp文件夹中,根据您的项目结构,它位于/ WEB-INF /文件夹中,并转到jsp文件夹。

答案 2 :(得分:0)

我们需要添加embeded-jasper依赖

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
pom.xml中的

并且这个依赖项不会出现在spring initialiser生成的项目中

答案 3 :(得分:0)

spring.mvc.view.prefix: /webapp/更改为spring.mvc.view.prefix: /webapp/jsp/,您就完成了! 最后的“/”非常重要。 你当然需要将jasper dependdeny添加到你的pom中:

<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
   <!-- scope must be as per default compile -->
   <!-- <scope>compile</scope>-->
</dependency>