Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)

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是否能成功访问,要不要这个包不影响大局。



    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

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第1张图片

2.2.2、选择Modules-> + -> Web

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第2张图片

2.2.3、创建webapp根目录

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

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第3张图片

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

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第4张图片

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

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第5张图片

2.2.5、创建成功后效果

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

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第6张图片

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等中保存的值,一会会使用到。

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第7张图片

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

Springboot整合JSP-修订版本(Springboot3.1.6+IDEA2022版本)_第8张图片

3、源码下载

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

你可能感兴趣的:(springboot技术,springboot整合JSP,jsp模板引擎)