Spring Boot MVC 应用程序 JSP 不显示


我是 Spring boot

的新手,尝试使用 Spring boot 编写 MVC 应用程序。控制器正在获得控制权,但未显示 JSP。我尝试将 JSP 放在 WebApp 文件夹中,Webapp/Web-Inf 文件夹它不起作用。下面是代码。

应用程序属性:

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

登录控制器:

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

项目结构

尝试更改

<packaging>jar</packaging>

<packaging>war</packaging>

在庞.xml

像下面这样更改前缀,

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

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

您的 JSP 页面位于 WEB-INF 中,因此您需要将prefix更改为以下内容,以便它可以查看 JSP:

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

,然后将welcome.jsp移动到jsp文件夹。

我们需要添加嵌入式 jasper 依赖项

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

在 Pom 中.xml并且这种依赖关系在 Spring 初始化器生成的项目中不存在

spring.mvc.view.prefix: /webapp/更改为spring.mvc.view.prefix: /webapp/jsp/,您就完成了!末尾的"/"非常重要。您当然需要将碧玉依赖项添加到您的pom中:

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

最新更新