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文件夹 目录如图
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还得编译一次,我们可以使用模板.
推荐阅读