springboot+thymeleaf打war包在外部tomcat运行
工程目录
pom文件注意点
<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<build>
<finalName>prs</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>
配置文件application.properties
server.port=
server.session.timeout=
server.context-path=/prs #thymelea模板配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
#spring.resources.chain.strategy.content.enabled=true
#spring.resources.chain.strategy.content.paths=/** # 上传文件大小配置
spring.http.multipart.maxFileSize=10MB
spring.http.multipart.maxRequestSize=10MB #spring.mvc.async.request-timeout=600000
#spring.http.multipart.max-request-size=200MB #spring.aop.auto=true
#spring.aop.proxy-target-class=false #server.tomcat.uri-encoding=UTF-8
#server.tomcat.max-threads=100
logging.config=classpath:logback.xml #mybatis.configLocation=classpath:mybatis/mybatis-config.xml
#mybatis.mapperLocations=classpath:mybatis/mapper/*.xml #spring.datasource.driverClassName = com.mysql.jdbc.Driver
#com.microsoft.sqlserver.jdbc.SQLServerDriver
#spring.datasource.url = jdbc:mysql://127.0.0.1:3306/test
#jdbc:sqlserver://104.15.202.101:1105;DatabaseName=tt
#spring.datasource.username = root
#spring.datasource.password = 123456 #spring.datasource.initialSize=2
#spring.datasource.minIdle=0
#spring.datasource.maxActive=5
#spring.datasource.maxWait=60000
#spring.datasource.validationQuery=select 1
#spring.datasource.timeBetweenEvictionRunsMillis=60000
#spring.datasource.testWhileIdle=true
#spring.datasource.testOnBorrow=true
#spring.datasource.testOnReturn=false
#spring.datasource.poolPreparedStatements=true
#spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
server.context-path=/prs这里的路径名最好和上面pom里的finalName最好是一致的,因为当我们把打包好的war包放到tomcat的webapp里时,访问路径前缀就是这个finalName
启动类
@ComponentScan(basePackages= {"com.wymessi"})//扫描组件
@SpringBootApplication
@EnableAspectJAutoProxy
@EnableTransactionManagement(proxyTargetClass = true)
@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class})
public class SpringbootApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(SpringbootApplication.class);
}
// @Bean
// public HttpMessageConverters fastJsonHttpMessageConverters() {
// FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
// FastJsonConfig fastJsonConfig = new FastJsonConfig();
// // fastJsonConfig.setSerializerFeatures(SerializerFeature.BrowserCompatible);
// // fastJsonConfig.setSerializerFeatures(SerializerFeature.BrowserSecure);
// fastJsonConfig.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect);
// // fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteMapNullValue);
// SerializeConfig config = new SerializeConfig();
// config.put(Date.class, new SimpleDateFormatSerializer("yyyy-MM-dd HH:mm:ss"));
// fastJsonConfig.setSerializeConfig(config);
// fastConverter.setFastJsonConfig(fastJsonConfig);
// HttpMessageConverter<?> converter = fastConverter;
// return new HttpMessageConverters(converter);
// }
}
和打jar包的区别是继承了SpringBootServletInitializer这个类,然后重写了configure方法。
运行程序
eclipse里运行
右击项目名,run as - spring boot app。
浏览器里输入http://127.0.0.1:8013/prs
打包成war包在tomcat里运行
右击项目名,run as - maven - build,看到success就代表打包成功了。

把打包好的prs放到tomcat的webapp里,然后启动tomcat。
这里要注意,tomcat的访问端口要设置成和配置文件里的一样,不然用配置文件里的port是访问不到的。
打包的名称要和server.context-path=/prs的名称一致,不然也是访问不到的,这个上面已经说过了。
浏览器里输入http://127.0.0.1:8013/prs
springboot+thymeleaf打war包在外部tomcat运行的更多相关文章
- SpringBoot之打成war包部署到Tomcat
正常情况下SpringBoot项目是以jar包的形式,正常情况下SpringBoot项目是以jar包的形式,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tomcat服 ...
- springBoot项目打war包部署到tomcat上
1 首先得在本地跑通. 2 处理启动类Application @SpringBootApplication public class Application extends SpringBootSer ...
- IDEA下spring boot项目打包war包部署外部tomcat问题
第一步,修改配置pom.xml文件 <packaging>war</packaging> <dependency> <groupId>org.sprin ...
- SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案
背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...
- Springboot项目打成jar包运行 和 打成war包 外部tomcat运行
Jar打包方式运行 类型为jar时 <packaging>jar</packaging> 1.使用命令mvn clean package 打包 2.使用java –jar 包 ...
- 基于springboot多模块项目使用maven命令打成war包放到服务器上运行的问题
首先,大家看到这个问题,可能并不陌生,而且脑子里第一映像就是使用mava中的clear package 或者 clear install进行打包,然后在项目中的target文件夹下面找到xxx.war ...
- SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)
如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍. (1)将pom.xml中的 ...
- SpringBoot 项目打war包 tomcat部署
今天看了一下springboot的项目,个人习惯是接触新的语言或框架,首先要做的就是程序员届最常用的“Hello World”,然后进行项目部署,然今天部署却发现一直都是404,查看tomcat的we ...
- Springboot项目打成war包,部署到tomcat上,正常启动访问报错404
前言: 项目介绍,此项目是一个Maven多模块项目,模块项目:all(父模块):util (公用的工具类):dao(实体类.业务类.mapper.mapper.xml):business(业务serv ...
随机推荐
- ganglia笔记:rrds目录
因为原来的rrds目录挂载的盘不够用了,所以想修改一下目录,遇到权限的问题. 在一个owner为user的目录下面新建了./ganglia/rrds目录,并且./ganglia及其子文件夹都修改为ga ...
- ASP.NET Core 2.2 基础知识(十一) ASP.NET Core 模块
ASP.NET Core 应用与进程内的 HTTP 服务器实现一起运行.该服务器实现侦听 HTTP 请求,并在一系列请求功能被写到 HttpContext 时,将这些请求展现到应用中. ASP.NET ...
- NGUI_Sprites
一.UI Sprites 控件: Sprites控件是NGUI的基础控件,几乎可以这么说所有的控件都可以基于Sprites控件添加 Box Collider然后进行附加相关的脚本组件来达到想要的插件效 ...
- Html5+CSS
1. 内联样式是为元素添加样式的最简单有效的方式,但是更易于维护的方式是使用层叠样式表CSS(Cascading Style Sheets). <style> 选择器 {属性名称: 属性 ...
- 【点分治】bzoj1316 树上的询问
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; #defin ...
- [CF864F]Cities Excursions
题目大意: 一个$n(n\le3000)$个点的有向图,$q(q\le4\times10^5)$组询问,每次询问$s_i,t_i$之间是否存在一条字典序最小的路径(可以重复经过不为$t_i$的结点). ...
- C#SerialPort实现串口控制继电器
最近做了一个小系统,麻雀虽小五脏俱全呀,用到各种线程控制,串口控制等技术.其中串口控制最麻烦,因为继电器的响应很快,根据不同的转接口,返回的数据质量是不一样的,所以不能直接wirte,然后马上read ...
- jQuery的deferred对象详解(转)
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本. 每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. ...
- iOS开发中几种常见的存储方式
1.archive 归档 数据的保存 1: let result = NSKeyedArchiver.archiveRootObject(contacts, toFile: path as Strin ...
- Step by Step 使用HTML5开发一个星际大战游戏(2)
HTML5 Canvas Game: 玩家飞船 本系列博文翻译自以下文章 http://blog.sklambert.com/html5-canvas-game-the-player-ship/ L ...
