springboot整合jsp,并通过controller转发和直接访问jsp两种方式访问jsp页面

springboot默认没有提供jsp支持,所以想要支持jsp我们需要在pom里引入支持jsp的依赖包,并且需要在编译的时候将jsp页面指定到META-INF/resources目录下,下面是详细的整合步骤:

1.需要在pom里添加支持jsp的依赖包


    org.apache.tomcat.embed
    tomcat-embed-jasper


    javax.servlet
    jstl

2.需要在pom里将jsp页面放入META-INF/resources目录下(这里打包方式选择的是将配置文件和依赖的jar包分离打包的方式,如果不采用这种方式打包则需要将spring-boot-maven-plugin的版本指定为1.4.2.RELEASE,建议还是用这种分离包的方式,因为配置文件和依赖的jar包都比较少更新没必要每次都进行打包,如果有更新可以增量去更新)


    
        
        
            src/main/java
            
                **/*.xml
            
        
        
        
            src/main/resources
        
        
            
            src/main/webapp
            
            META-INF/resources
            
                **/**
            
        
    
    
        
        
            org.springframework.boot
            spring-boot-maven-plugin
            
                true
                -Dfile.encoding=UTF-8
            
        
        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        true
                        
                        lib/
                        
                        false
                        
                        com.springboot.jsp.JspApplication
                    
                    
                        
                        
                        ./config/
                    
                
                ${project.build.directory}
            
        
        
        
            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy-dependencies
                    package
                    
                        copy-dependencies
                    
                    
                        
                            ${project.build.directory}/lib/
                        
                    
                
            
        
        
        
            maven-resources-plugin
            
                
                    copy-resources
                    package
                    
                        copy-resources
                    
                    
                        
                            
                                src/main/resources
                            
                        
                        ${project.build.directory}/config
                    
                
            
        
    
    

3.需要在application.yml添加mvc配置

spring:
  mvc:
    view:
      prefix: /views/
      suffix: .jsp

4.在views目录下创建一个index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    主页


hello index!

5.写个IndexController做转发

package com.springboot.jsp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class IndexController {
    @RequestMapping("/index")
    public String index(){
        return "index";
    }
}

项目结构:

springboot整合jsp,并通过controller转发和直接访问jsp两种方式访问jsp页面_第1张图片

编译结果:

springboot整合jsp,并通过controller转发和直接访问jsp两种方式访问jsp页面_第2张图片

因为采用了配置文件和依赖jar包分离打包的方式,在服务器上运行的时候需要拷贝config、lib和springboot-jsp-0.0.1-SNAPSHOT.jar,然后执行springboot-jsp-0.0.1-SNAPSHOT.jar

运行结果:

方式一.通过controller转发

springboot整合jsp,并通过controller转发和直接访问jsp两种方式访问jsp页面_第3张图片

方式二.通过jsp的URL直接访问

springboot整合jsp,并通过controller转发和直接访问jsp两种方式访问jsp页面_第4张图片

代码资源地址:https://download.csdn.net/download/xiaowenK/12400425

你可能感兴趣的:(springboot)