springboot集成jsp

以前用springboot集成jsp的时候遇到一些坑 在这里记录下

1 首先 jsp依赖的一些包我们得在pom文件中引入

   <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>compile</scope>

        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>compile</scope>

        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>

2 然后在main目录下建个webapp文件夹 目录如图

这里写图片描述

3 在application文件中配置j
spring.mvc.view.prefix=/page/
spring.mvc.view.suffix=.jsp
4 编写对应的controller

 @RequestMapping("/login")
    public String login() {
        return "login";
    }

这个时候启动去访问的话 还是会报
Whitelabel Error Page
IDEA下
这是因为在classpath下spring并没有把webapp下的文件放进去
这个时候我们需要在pom文件中加入资源配置

<resources>
     <resource>
         <directory>src/main/webapp</directory>
         <targetPath>META-INF/resources</targetPath>
         <includes>
             <include>**/*.*</include>
         </includes>

     </resource>
 </resources>

还有注意controller 别用@RestController  @ResponseBody (这个相当于向浏览器端返回j字符串了)

好了 大概就这些吧 现在再去访问就能成功了
springboot不推荐我们用jsp  它本质上还是个servlet还得编译一次,我们可以使用模板.
posted @ 2018-08-05 17:53  pointsl  阅读(119)  评论(0)    收藏  举报