欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot集成jsp

程序员文章站 2024-02-10 17:06:10
...

以前用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文件夹 目录如图

springboot集成jsp

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还得编译一次,我们可以使用模板.