Spring Boot项目中使用JSP

Spring Boot 的默认视图支持是 Thymeleaf 模板引擎,但是想使用我们熟悉的JSP怎么办?

一.如何配置JSP

1. pom.xml中增加对 JSP 文件的支持

servlet依赖

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

tomcat支持

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

2. application.yml中配置jsp路径

spring:
  mvc:
    view:
      prefix: /WEB-INF/jsp/        # 页面默认前缀目录
      suffix: .jsp                 # 响应页面默认后缀

3. jsp页面热部署配置

server:
  port: 8080        #端口号
  servlet:
    jsp:
      init-parameters:
        development: true

二.使用JSP做视图有哪些问题

1. 项目部署问题

使用外部Tomcat部署,没有问题
若使用Spring boot内置的Tomcat需要将项目打成war包
(如果打jar包,WEB-INF下的jsp页面打不进去,无法访问.
Linux下项目启动命令:nohup java -jar demo-0.0.1-SNAPSHOT.war > system.log 2>&1 &)

<packaging>war</packaging>

2. JAR包冲突问题

当使用了阿里云以下依赖,启动项目时报错 \jaxb-impl\2.3.0\jaxb-api.jar (系统找不到指定的文件)等类似问题,但不影响使用

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.0.6</version>
</dependency>

解决方式:
(第一种)
① pom.xml中添加依赖

<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>

② 手动添加jar包到maven仓库
  jaxb-api.jar
  jaxb-core.jar
  jaxb-impl-2.3.0.jar

[推荐] (第二种)
解决冲突,修改pom.xml中aliyun的依赖

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.0.6</version>
    <exclusions>
        <exclusion>
            <artifactId>jaxb-api</artifactId>
            <groupId>javax.xml.bind</groupId>
        </exclusion>
        <exclusion>
            <artifactId>jaxb-impl</artifactId>
            <groupId>com.sun.xml.bind</groupId>
        </exclusion>
    </exclusions>
</dependency>

 上一篇
JavaScript中的for..in循环 JavaScript中的for..in循环
在JS中使用循环,常用两种方式 for(var i=0;i<obj.length;i++){…} for (var i in obj) {…} 问题复现在一次使用for..in循环对象时,发现循环次数大于对象的size,从而影响了
2019-03-05 linhai
下一篇 
关于mybatis中collection嵌套查询问题总结 关于mybatis中collection嵌套查询问题总结
问题描述mybatis分页查询,使用了collection进行一对多关联时,出现分页不正确的问题分页的每页记录数pageSize=5,如图查询结果首页只有4条订单数据. 分析原因在订单查询中,涉及订单和订单流水两张表,一个订单对应一个或多个
2019-03-04 linhai
  目录