spring boot 支持jar包运行jsp

一.引言
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid applicationdevelopment)成为领导者。

二.特点:
Spring Boot开发我们可以享有自动配置、快速构建项目、快速集成新技术的能力。在实际应用开发者需尽量使用Spring 4.x提倡的Java配置,然后我们只要认知Spring Boot是用Spring框架开发出来的技术,Spring Boot只是使用了Spring的新特性实现了自动配置的能力,也就是说在Spring下能做的事情,Spring Boot也能做。

三.spring boot 通过maven打包jsp到jar包中运行
使用过spring boot 的人应该都知道,官方其实并不太推荐使用jsp作为页面,而是推荐使用模板(freemarker、velocity等)作为页面展示。

但是作为开发来说,很多时候大家还是习惯使用JSP作为页面(毕竟JSP在java开发中已经风靡多年),所以如果你在使用springboot时想使用JSP作为web页面,并且需要打包成jar运行,那么你可能就需要额外的去配置打包路径了。因为jsp默认是在webapp目录下,可是打包成jar是没有webapp这个目录结构的。先看一下web项目的目录结构:

下面通过spring boot 提供的spring-boot-maven-plugin插件将项目打包成jar包,通过resources去配置jsp的打包路径即可。打包成功后,项目JSP页面都会copy到META-INF目录,这时就OK了。

  
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
  <modelVersion>4.0.0modelVersion>  
  <parent>  
    <groupId>com.securitygroupId>  
    <artifactId>securityartifactId>  
    <version>0.0.1-SNAPSHOTversion>  
  parent>  
  <artifactId>security-casartifactId>  
  <packaging>jarpackaging>  
  <dependencies>  

  dependencies>  
  <build>  
        <plugins>  
            <plugin>  
                <groupId>org.springframework.bootgroupId>  
                <artifactId>spring-boot-maven-pluginartifactId>  
                <executions>  
                    <execution>  
                        <goals>  
                            <goal>repackagegoal>  
                        goals>  
                    execution>  
                executions>  
            plugin>  
            <plugin>  
                <groupId>org.apache.maven.pluginsgroupId>  
                <artifactId>maven-war-pluginartifactId>  
                <configuration>  
                    <failOnMissingWebXml>falsefailOnMissingWebXml>  
                configuration>  
            plugin>  
        plugins>  
        <resources>  
              
            <resource>  
                  
                <directory>src/main/webappdirectory>  
                  
                <targetPath>META-INF/resourcestargetPath>  
                <includes>  
                    <include>**/**include>  
                includes>  
            resource>  
            <resource>  
                <directory>src/main/resourcesdirectory>  
                <includes>  
                    <include>**/**include>  
                includes>  
                <filtering>falsefiltering>  
            resource>  
        resources>  
    build>  
    <dependencyManagement>  
        <dependencies>  
            <dependency>  
                <groupId>org.springframework.bootgroupId>  
                <artifactId>spring-boot-dependenciesartifactId>  
                <version>${spring-boot.version}version>  
                <type>pomtype>  
                <scope>importscope>  
            dependency>  
        dependencies>  
    dependencyManagement>  
project>  

jar目录结构:

打包完成后就可以通过java -jar package命令运行应用了。

你可能感兴趣的:(springboot)