1、问题概述?

Springboot对Thymeleaf支持的要更好一些,Springboot内嵌的Tomcat默认是没有JSP引擎,不支持直接使用JSP模板引擎。这个时候我们需要自己配置使用。

2、Springboot整合使用JSP过程

现在很多的IDEA版本即使创建的项目类型是WAR工程,但是在项目中也没有webapp目录和web.xml目录,这个是需要重点解决的问题。

2.1、创建工程,引入相关包信息

1、核心包就是tomcat-embed-jasper

2、由于我们创建的是springboot工程spring-boot-starter-tomcat包是不需要的。

3、由于在jsp模板引擎中我们喜好使用JSTL+EL表达式,如果需要也可以导入JSTL的包,但如果只是测试JSP是否能成功访问,要不要这个包不影响大局。

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

3.1.7

com.txc

springjspdemo2

0.0.1-SNAPSHOT

war

springjspdemo2

springjspdemo2

17

org.springframework.boot

spring-boot-starter-web

org.apache.tomcat.embed

tomcat-embed-jasper

provided

org.projectlombok

lombok

true

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

paketobuildpacks/builder-jammy-base:latest

org.projectlombok

lombok

src/main/java

**/*.xml

2.2、通过IDEA生成webapp及web.xml配置文件

2.2.1、选择File->Project Structure

2.2.2、选择Modules-> + -> Web

2.2.3、创建webapp根目录

这步重点就是创建webapp目录,我选择创建在src下,创建在其他地方都是可以的。

2.2.4、选择Web->+ 添加web.xml文件

要将WEB-INF/web.xml创建在上面创建的webapp目录中

2.2.5、创建成功后效果

有些版本创建后,可能会出现没有web.xml配置文件或者web.xml没有内容。这个时候只要webapp创建没有问题,直接从其他地方拷贝一个web.xml也是有效的。

2.3、在application.properties中配置视图解析器

由于视图解析器中配置的目录在WEB-INF/view目录,所以还需要手动在创建view目录。

【application.properties】

server.port=8081

spring.mvc.view.prefix=/WEB-INF/view/

spring.mvc.view.suffix=.jsp

【application.yml】

如果使用的是yml文件,配置相同,写法不同

server:

port: 8081

spring:

mvc:

view:

prefix: /WEB-INF/view/

suffix: .jsp

2.4、创建view目录及index.jsp测试页面

${username}是获取后端request/session/application/ModelMap等中保存的值,一会会使用到。

2.5、创建测试类

 

@Controller

public class TestController {

@RequestMapping("/index")

public String test(HttpSession session){

session.setAttribute("username","博主-雾林小妖");

System.out.println("====1=23=2=====");

return "index";

}

}

2.6、启动工程,访问程序

访问地址:http://localhost:8081/index

 

3、源码下载

https://download.csdn.net/download/tangshiyilang/88676797

 

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。