Springboot整合JSP

Springboot应用默认支持的动态网页技术是Thymeleaf,并不支持JSP;因此在Spring boot应用中想要使用JSP需要通过手动整合来实现

做法:

1. 添加依赖

  1. tomcat-embed-jasper依赖
    该依赖集成tomcat,让其支持JSP

依赖版本查看网址:https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper

<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <version>9.0.40</version>
</dependency>
  1. JSTL依赖
    减少JSP文件的java代码,使得java代码与HTML代码分离。

依赖版本查看网址:https://mvnrepository.com/artifact/javax.servlet/jstl/1.2

<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

2.改变项目打包方式为war

在pom.xml文件中添加:

<packaging>war</packaging>

比如:
在这里插入图片描述

3.添加目录

在src/main目录下如下的目录以及文件
在这里插入图片描述

4.运行项目

此时运行项目,启动完成之后,在浏览器输入框输入:http://localhost:8080/index.jsp
即可访问步骤3中Index.jsp中的内容

以上是直接访问jsp内容,也可以在springboot中直接返回jsp路径,从而访问jsp文件。
比如:
在这里插入图片描述
当访问http://localhost:8080/role/getRole的时候,会访问到index.jsp的内容。

如果觉得return必须既要写上\,也要写后缀.jsp,比较麻烦,可以在application.yaml全局配置文件中配置SpringMVC视图解析方式

spring:
  mvc:
    view:
      prefix: / # /表示默认访问webapp目录下的资源,如果想要把资源放在某目录下,比如:admin目录下,则需要改为:prefix: /admin/
      suffix: .jsp # 表示要访问的文件后缀

版权声明:本文为chen__cheng原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。