Spring Boot Jar包方式支持JSP

前言

之前将传统的SpringMVC工程改成了Spring Boot并支持JSP,但不是jar包运行的方式,这次继续改造成Jar包方式支持JSP。

开始创建

pom.xml

<packaging>jar</packaging>

<!-- 增加jsp支持,否则会变成直接下载页面 -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

application.properties

server.servlet.context-path=/familydoctor-webapp
server.port=8081

logging.level.root=INFO
# 屏蔽o.a.tomcat.util.scan.StandardJarScanner : Failed to scan错误
logging.level.org.apache.tomcat.util.scan.StandardJarScanner=ERROR
# 相对路径,默认输出的日志文件名为spring.log
logging.path=log

spring.profiles.active=prod

FamilyDoctorApplication

package com.asiainfo.aigov;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class FamilyDoctorApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(FamilyDoctorApplication.class, args);
    }
    
}

页面存放目录结构

resources下面的META-INF/resources里的文件默认可以直接读取,无需额外配置ResourceHandler


目录结构

结后语

打包后执行会报以下的错误:

java.io.FileNotFoundException: file:/Users/pany/Documents/workspace/aigov/familydoctor-webapp/target/familydoctor-webapp.jar!/BOOT-INF/classes!/app.properties (No such file or directory)

这是因为使用下面的写法在IDE里是可以的,但打成JAR包后不行。

String path = this.getClass().getClassLoader().getResource(fileName).getFile();

要改成

Reader reader = new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(fileName), "UTF-8");
properties.load(reader);

另外,用默认版本的spring-boot-maven-plugin打出来的Jar包访问JSP会报404错误,用1.4.2.RELEASE版本就没问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,285评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,688评论 19 139
  • 入门 介绍 Spring Boot Spring Boot 使您可以轻松地创建独立的、生产级的基于 Spring ...
    Hsinwong阅读 17,101评论 2 89
  • 一、Spring Boot 入门 1、Spring Boot 简介 简化Spring应用开发的一个框架;整个Spr...
    Y了个J阅读 6,789评论 1 6
  • SpringMVC原理分析 Spring Boot学习 5、Hello World探究 1、POM文件 1、父项目...
    jack_jerry阅读 1,487评论 0 1

友情链接更多精彩内容