美文网首页Java实战技术
深入Spring Boot (十二):集成JSP

深入Spring Boot (十二):集成JSP

作者: JavaQ | 来源:发表于2018-11-13 20:37 被阅读0次

    之前在编写《深入Spring Boot (八):模板引擎使用详解》的时候有考虑过介绍如何集成JSP,但是在细看官方的文档及考虑实际使用情况后,将这个想法取消了,因为在使用嵌入式servlet容器时,会有一些已知的限制,所以Spring Boot不建议使用JSP,而且现在也很少用JSP作前端页面显示使用了。最近有朋友集成JSP时遇到了一些意想不到的问题,这里简单分享一下JSP的集成。

    代码实践

    话不多说,直接上代码。依赖管理pom.xml,需要添加servlet和嵌入式tomcat运行jsp需要的jar,详细依赖配置如下:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
       <modelVersion>4.0.0</modelVersion>
    
    
    
       <groupId>springboot-jsp</groupId>
    
       <artifactId>test</artifactId>
    
       <version>1.0-SNAPSHOT</version>
    
    
    
       <parent>
    
           <groupId>org.springframework.boot</groupId>
    
           <artifactId>spring-boot-starter-parent</artifactId>
    
           <version>2.0.0.RELEASE</version>
    
       </parent>
    
    
    
       <dependencies>
    
           <dependency>
    
               <groupId>org.springframework.boot</groupId>
    
               <artifactId>spring-boot-starter-web</artifactId>
    
           </dependency>
    
           <dependency>
    
               <groupId>org.springframework.boot</groupId>
    
               <artifactId>spring-boot-starter-tomcat</artifactId>
    
           </dependency>
    
           <dependency>
    
               <groupId>org.apache.tomcat.embed</groupId>
    
               <artifactId>tomcat-embed-jasper</artifactId>
    
           </dependency>
    
           <dependency>
    
               <groupId>org.springframework.boot</groupId>
    
               <artifactId>spring-boot-starter-test</artifactId>
    
               <scope>test</scope>
    
           </dependency>
    
           <dependency>
    
               <groupId>javax.servlet</groupId>
    
               <artifactId>javax.servlet-api</artifactId>
    
           </dependency>
    
           <dependency>
    
               <groupId>javax.servlet</groupId>
    
               <artifactId>jstl</artifactId>
    
           </dependency>
    
       </dependencies>
    
    
    
    </project>
    

    因为jsp资源的默认存放路径是webapp,所以需要新建webapp目录,示例是将jsp文件放到webapp/WEB-INF/jsp路径下,因此在webapp下新建WEB-INF目录,接着在WEN-INF目录下新建jsp目录,在jsp下新建hello.jsp,完整目录结构及代码如下:

    image
    <!DOCTYPE html>
    
    <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
    
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    <html lang="en">
    
        <body>
    
        <br>
    
            Message: ${message}
    
        </body>
    
    </html>
    

    在resources目录下新建application.properties,在其中添加jsp资源配置,具体配置如下:

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

    新建HelloController.java,用于处理http请求,具体代码如下:

    @Controller
    
    @EnableAutoConfiguration
    
    public class HelloController {
    
    
    
        @RequestMapping("/hello")
    
        public String hello(Map<String, Object> map) {
    
            map.put("message", "HelloWorld");
    
            return "hello";
    
    
    
        }
    
    
    
        public static void main(String[] args) throws Exception {
    
            SpringApplication.run(HelloController.class, args);
    
        }
    
    
    
    }
    

    END

    如果觉得有收获,记得关注、点赞、转发。

    image

    相关文章

      网友评论

        本文标题:深入Spring Boot (十二):集成JSP

        本文链接:https://www.haomeiwen.com/subject/gaqrfqtx.html