Spring Boot 最佳实践(二)集成Jsp与生产环境部署

 

一、简介

提起Java不得不说的一个开发场景就是Web开发,也是Java最热门的开发场景之一,说到Web开发绕不开的一个技术就是JSP,因为目前市面上仍有很多的公司在使用JSP,所以本文就来介绍一下Spring Boot 怎么集成JSP开发,以及生产环境的详细部署方法。

二、集成JSP

开发环境

  • Spring Boot 2.0.4 RELEASE
  • Tomcat 9.0.10
  • IDEA(Intellij IDEA简称,下文统一使用)2018.2
  • Windows 10

JSP集成步骤

  1. 创建JSP目录
  2. application.properties配置Jsp信息
  3. pom.xml添加依赖组件
  4. 编写Spring MVC代码
  5. 运行程序

具体集成方法如下:

1.创建JSP目录

在src/main目录下创建目录webapp/WEB-INF/jsp用于存放jsp页面,如下图:

2.application.properties配置Jsp信息

application.properties为全局配置文件,里面可以设置很多信息,比如设置日志、设置缓存、设置Spring、Spring SESSION等信息,我们本文只需要设置JSP的目录文件,以及文件后缀,代码如下:

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

更多application.properties设置信息,查看官方文档:upload/201808271424450713.png?imageView2/0/w/600/h/470" style="border: none; margin-top: 20px; margin-bottom: 20px; max-width: 650px;" alt="" />

Windows下载:64-bit Windows zip | Linux下载:tar.gz

注意:如果是Windows版下载的免安装版如果放到C盘的话,注意给文件夹分配足够的权限,不然启动之后访问页面显示400或者505类似的问题。

2.入口类继承SpringBootServletInitializer重写configure方法

如果要进行生产环境部署,需要单独配置一下Spring Boot 的入口类,需要继承SpringBootServletInitializer类,重写configure方法,因为默认情况外部Tomcat不能读取到Spring Boot 入口类的main方法启动程序加载,使用需要继承,代码如下:

package com.hellospringboot.hellospringboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; /**  * 启动类,程序入口  */ @SpringBootApplication public class HelloSpringBootApplication  extends SpringBootServletInitializer{     /**      * 重写configure方法,加载启动类      * @param application      * @return      */     @Override     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {         return application.sources(HelloSpringBootApplication.class);     }     /**      * Spring Boot 默认main方法      * @param args      */     public static void main(String[] args) {         SpringApplication.run(HelloSpringBootApplication.class, args);     } } 
3.配置pom.xml

需要配置一下pom.xml,排除一下内置tomcat的jar包,防止打包之后与外面Tomcat jar 包冲突,导致项目启动失败,配置如下:

<!--排除内置tomcat jar包--> <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-tomcat</artifactId>     <scope>provided</scope> </dependency>

主要的代码是provided,设置打包不会包含进去,由其他设施提供。

4.IDEA生成war文件
步骤一:修改生成jar为war格式

找到:

jar

修改为:

war

为什么需要修改jar包格式为war,因为如果打包为jar包的时候,不会包含JSP文件,所以访问的时候回404,而打包为war的时候回包含JSP文件,所以需要把打包格式修改为war.

jar和war的区别?

  • jar(java application archive)java应用程序库,通常为开发引用的通用类
  • war(web application archive)web应用程序

所以从jar和war的区别来看,网页程序打包成war格式也是很合适的。

如果需要修改生成文件的文件名称,可以设置build下的finalName属性,代码如下:


                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信