springboot+jsp

  <packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.3.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--sql server驱动-->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.2.0.jre8</version>
<scope>runtime</scope>
</dependency>
<!--oracle 驱动-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.0.1-atlassian-hosted</version>
<scope>runtime</scope>
</dependency>
<!--jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--druid 连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!--mybatis 持久框架-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!--spring测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--用于编译jsp -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!--jstl-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<!--打包后的名字-->
<finalName>xxx</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>1.8</target>
<source>1.8</source>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

与普通springboot项目的区别:

/**
* 配置程序入口,用于打war包
*/
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ShuJuApplication.class);
}
}

favicon.ico配置:

    <link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/favicon.ico">
<link rel="shortcut icon" href="${pageContext.request.contextPath}/favicon.ico" type="image/x-icon" />

resources/banner.txt定义打印logo

简单配置文件:

# 端口号
#server.port=8081
# 关闭默认favicon.ico
spring.mvc.favicon.enabled=false # sqlServer 连接配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.jdbcUrl=
spring.datasource.username=
spring.datasource.password= # sqlServer2 连接配置
spring.datasource2.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource2.jdbcUrl=
spring.datasource2.username=
spring.datasource2.password= # oracle2 连接配置
spring.oracle2.driver-class-name=oracle.jdbc.OracleDriver
spring.oracle2.jdbcUrl=
spring.oracle2.username=
spring.oracle2.password= # oracle 连接配置
spring.oracle.driver-class-name=oracle.jdbc.OracleDriver
spring.oracle.jdbcUrl=
spring.oracle.username=
spring.oracle.password= # 前段文件前缀,后缀 如 return "index"; 会进入 /WEB-INF/view/index.jsp
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp # druid 连接池相关配置
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.maxActive=20
spring.datasource.druid.maxWait=60000
spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
spring.datasource.druid.minEvictableIdleTimeMillis=300000
spring.datasource.druid.validationQuery=SELECT 'x'
spring.datasource.druid.testWhileIdle=true
spring.datasource.druid.testOnBorrow=false
spring.datasource.druid.testOnReturn=false
spring.datasource.druid.poolPreparedStatements=true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20 # 日志输出
logging.level.xx.dao=debug

多数据源配置:

DataSourceConfig:

/**
* 多数据源DataSource定义
*/
@Configuration
@PropertySource("file:${user.dir}/src/main/resources/db.properties")
//@PropertySource("file:${user.dir}/db/db.properties") //生产环境配置文件外放
public class DataSourceConfig {
/**
* sqlServer数据源
* @return
*/
@Primary //主要
@Bean(name = "sqldata")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource sqlServerDataSource(){
return DataSourceBuilder.create().build();
}
/**
* oracle数据源
* @return
*/
@Bean(name = "oracledata")
@ConfigurationProperties(prefix = "spring.oracle")
public DataSource oracleDataSource(){
return DataSourceBuilder.create().build();
}
}

SqlServerDbConfig:

/**
* 使用sql数据源配置
*/
@Configuration
@MapperScan(basePackages = {"xxx.dao"},sqlSessionFactoryRef ="sqlSqlSessionFactory" ) // 使用sqlServer数据源的包扫描
public class SqlServerDbConfig {
// 引入 DataSourceConfig类下定义的DataSource
@Autowired
@Qualifier("sqldata")
private DataSource sqldata; @Bean
@Primary
public SqlSessionFactory sqlSqlSessionFactory() throws Exception{
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(sqldata);
return factoryBean.getObject();
}
@Bean
@Primary
public SqlSessionTemplate sqlSqlSessionTemplate() throws Exception{
return new SqlSessionTemplate(sqlSqlSessionFactory());
}
}

OracleServerDbConfig:

/**
* 使用oracle数据源配置
*/
@Configuration
@MapperScan(basePackages = {"xxx.ordao"},sqlSessionFactoryRef ="oracleSqlSessionFactory" )
public class OracleServerDbConfig {
// 引入 DataSourceConfig类下定义的DataSource
@Autowired
@Qualifier("oracledata")
private DataSource oracledata; @Bean
@Primary
public SqlSessionFactory oracleSqlSessionFactory() throws Exception{
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(oracledata);
return factoryBean.getObject();
}
@Bean
@Primary
public SqlSessionTemplate oracleSqlSessionTemplate() throws Exception{
return new SqlSessionTemplate(oracleSqlSessionFactory());
}
}

war包请使用build/buildArtifacts打包,避免tomcat版本问题,使用tomcat8版本

springboot2.1.3.RELEASE+jsp笔记war部署tomcat的更多相关文章

  1. windows上springboot打war部署tomcat小记

    web项目,需要部署到云主机里去,现在windows里试一下. springboot项目,主要流程就只是打成war包后扔到tomcat里去,但是由于是springboot项目,有一些需要注意的地方,这 ...

  2. springboot项目支持war部署tomcat

    最近在学校spring boot 在网络上学校到简单的启动spring boot项目,也搭建好了,但时实际情况我的spring boot项目是要发布到tomcat中的,今天,随意打了个war包发布到t ...

  3. Spring Boot打包war jar 部署tomcat

    概述 1.Spring Boot聚合工程打包war部署Tomcat 2.Spring Boot打包Jar,通过Java -jar直接运行. 3.提供完整pom.xml测试项目 至github 4.项目 ...

  4. HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)

    这是本人的服务器部署笔记.文章名称叫"部署笔记1"的原因是之后我对这个进行了改进之后,会有"部署笔记2","部署笔记3"...循序渐进,估计 ...

  5. 玩转spring boot——war部署

    前言 之前部署spring boot应用是通过直接输入命令“java -jar”来实现的.而有些情况,由于部署环境的制约,只能把项目从jar转换成war才能部署,如新浪云sae的java环境容器.那怎 ...

  6. springboot打war包部署tomcat服务器,以及表单提交数据乱码处理

    小白觉得springboot打成jar包直接使用内嵌的tomcat或jetty容器(java -jar xxx.jar)运行项目不利于定位问题,我还是习惯于查看tomcat或nginx的日志来定位问题 ...

  7. Tomcat 后台war部署上传shell

    tomcat的后台登录的两个目录为: /admin /manager/html 如果版本过高,只有采用弱密码的方式进后台: 有些tomcat采用默认的用户名和密码(用户名:admin,密码:空): 或 ...

  8. springboot 学习之路 5(打成war包部署tomcat)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  9. IDEA中部署tomcat,运行JSP文件,编译后的JSP文件存放地点总结

    首先保证你正常部署了Tomcat,并且正常在浏览器中运行了JSP文件. 那么Tomcat编译后的JSP文件(_jsp.class 和 _jsp.java)的存放地点: (一)一般存放在你安装的Tomc ...

随机推荐

  1. 王之泰201771010131《面向对象程序设计(java)》第十周学习总结

    第一部分:理论知识学习部分 第八章  泛型程序设计 1.泛型程序设计概念 1)JDK 5.0 中增加的泛型类型,是Java 语言中类型安全的一次重要改进. 2)泛型:也称参数化类型(parameter ...

  2. 【BZOJ1485】有趣的数列

    Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<…&l ...

  3. Bootstrap 可视化HTML编辑器,summernote

    Bootstrap 可视化HTML编辑器之summernote,用其官网上的介绍就是"Super Simple WYSIWYG editor",不过在我看来,与bootstrap中 ...

  4. centos7 安装xinetd,telnet

    安装方式:yum [root@master ~]# yum list |grep telnettelnet-server.x86_64                    1:0.17-59.el7 ...

  5. pagex/y offsetx/y screenx/y clientx/y 用法及区别

    1  pagex/pagey:鼠标相对于整个页面的x/y坐标 注:整个页面的意思就是你整个页面的全部 例如:宽200px 高400px 那么pagex/y他们最大值就是它 2,offsetX/y与pa ...

  6. 2018 German Collegiate Programming Contest (GCPC 18)

    2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <al ...

  7. Flask之勾子,错误捕获以及模板语法

    请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图 ...

  8. win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1、win10”的错误

    前言 在客户的服务器电脑安装net4.6,提示安装失败错误,最后顺利成功安装net4.6. 一.错误 1.win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1.w ...

  9. pytoch word_language_model 代码阅读

    参考代码地址:https://github.com/pytorch/examples/tree/master/word_language_model /word_language_model/data ...

  10. Javascript时间戳和日期时间的相互转换

    跟后台对接的时候经常碰到时间格式的问题,有时返回的是时间戳,有时返回的是具体时间,需求又需要它们之间的转换,所以干脆把之前遇到过的情况都给记录下来,以供自己参考! 本文备注:(时间戳单位为毫秒ms,换 ...