首页 文章

Spring Boot MVC应用程序JSP不显示

提问于
浏览
0

我是初次尝试使用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

5 回答

  • 0

    试着改变

    <packaging>jar</packaging>
    

    <packaging>war</packaging>
    

    在pom.xml中

  • 0

    更改前缀如下,

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

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

  • 0

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

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

    并将您的 welcome.jsp 移动到 jsp 文件夹 .

  • 0

    我们需要添加embeded-jasper依赖项

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

    在pom.xml中,这个依赖项不会出现在spring initialiser生成的项目中

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

相关问题