Springboot的jar包和war包的区别

Springboot的jar包和war包的区别转自: https://blog.csdn.net/qq_32331073/article/details/81544061SpringBoot默认支持很多模板引擎,但是JSP只能够在War中使用,同时mvc.view.prifix/suffix必须主动配置给出,另外必须导入JSP的默认渲染servlet:”org.apache.jasper.servlet.JspServlet”,即添加依赖:…

大家好,又见面了,我是你们的朋友全栈君。

  • 转自: https://blog.csdn.net/qq_32331073/article/details/81544061
  • SpringBoot默认支持很多模板引擎,但是JSP只能够在War中使用,同时mvc.view.prifix/suffix必须主动配置给出,另外必须导入JSP的默认渲染servlet:"org.apache.jasper.servlet.JspServlet",即添加依赖:

  •     <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
     
       
       
    • 1
    • 2
    • 3
    • 4
    • 5
  • 无论是Jar还是War都能够使用嵌套容器,java -jar来独立运行

  • 但只有war才能部署到外部容器中,且war中必须包含:"src/main/webapp/WEB-INF/web.xml"
  • SpringBoot中JSP模板引擎具备使用限制:
    • jsp不能够在jar中使用
    • Udertow容器不支持Jsp
    • 自定义的error.jsp错误页面并不能够复写默认的error handling view,如果你想要自定义错误页面,请尝试其他模板引擎Custom error pages
  • 如果你将项目打包成jar,就不要使用src/main/webapp目录,尽管该目录也是一个公共标准,但是它仅仅在war中有效,因为生成jar的构建工具将会自动把该目录忽略

  • Do not use the src/main/webapp directory if your application is packaged as a jar. Although this directory is a common standard, it works only with war packaging, and it is silently ignored by most build tools if you generate a jar.

  • SpringBoot的欢迎页同时支持静态资源模板引擎,如果项目中不存在" "、"/"Handling,那么将优先查看静态资源位置中是否存在index.html,否则才会查看index模板,如果都不存在将使用默认欢迎页

  • Spring Boot supports both static and templated welcome pages. It first looks for an index.html file in the configured static content locations. If one is not found, it then looks for an index template. If either is found, it is automatically used as the welcome page of the application.

  • Spring5.+中与SpringMVC担负对作用的SpringWebFlux并不是完全依赖于Servlet API,所以不能将它打包成war更不能使用src/main/webapp目录

  • Spring WebFlux applications do not strictly depend on the Servlet API, so they cannot be deployed as war files and do not use the src/main/webappdirectory.

  • 用户能够直接访问src/main/webapp中的静态资源,但并不能直接访问src/main/resources中的静态资源,但是Spring提供了ResourceHttpRequestHandler来配置src/main/resources(classpath)下指定访问目录

  • MVC中Interceptor只能够拦截Handlingsrc/main/webapp中的静态资源,对src/main/resources中的静态资源无效
  • 默认状态下,用户不具备src/main/webapp/WEB-INF的直接访问权限,但是可以通过程序中forwardredirect达到间接访问的目的,所以war项目中通常会将需要控制权限的资源文件放入到WEB-INF
  • 另外可见:Spring工程访问src/main/resources与src/main/webapp下静态资源的区别
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142527.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm关于第三方库操作大全

    pycharm关于第三方库操作大全pycharm关于第三方库操作大全

  • 基于matlab的傅里叶变换「建议收藏」

    基于matlab的傅里叶变换「建议收藏」原文出处例子1作用:使用傅里叶变换找出隐藏在噪声中的信号的频率成分。(指定信号的参数,采样频率为1kHz,信号持续时间为1秒。)由上图可知:从时域中我们很难观察到信号的频率成分。怎么办呢?当然

  • Vue(27)vue-codemirror实现在线代码编译器「建议收藏」

    Vue(27)vue-codemirror实现在线代码编译器「建议收藏」前言如果我们想在Web端实现在线代码编译的效果,那么需要使用组件vue-codemirror,他是将CodeMirror进行了再次封装支持代码高亮62种主题颜色,例如monokai等等支持js

  • 学习笔记——STM32摄像头OV7725(二)

    学习笔记——STM32摄像头OV7725(二)AL422B及摄像头驱动原理一、AL422B简介STM32F4系列的控制器主频高、一般会扩展外部SRAM、SDRAM等存储器,且具有DCMI外设,可以直接根据VGA时序接收并存储摄像头输出的图像数据;而STM32F1系列的控制器一般主频较低、为节省成本可能不扩展SRAM存储器,而且不具DCMI外设,难以直接接收和存储OV7725图像传感器输出的数据。为了针对上述…

  • 使用instsrv.exe+srvany.exe将应用程序安装为windows服务的方法

    使用instsrv.exe+srvany.exe将应用程序安装为windows服务的方法一、什么是instsrv.exe和srvany.exeinstsrv.exe.exe和srvany.exe是MicrosoftWindowsResourceKits工具集中的两个实用工具,这两个工具配合使用可以将任何的exe应用程序作为window服务运行。srany.exe是注册程序的服务外壳,可以通过它让应用程序以system账号启动,可以使应用程序作为windows的服务随机器启动而自动启动,从而隐藏不必要的窗口,例如:应用程序控制台等。那么我们肯定想是不是安装srvany.exe就可以完成

  • 反掩码与通配符掩码[通俗易懂]

    反掩码与通配符掩码[通俗易懂]掩码我们学数通的应该都很熟悉,我们刚刚学习IP的时候肯定都学过,这里就不在叙述。今天我们要说的是反掩码和通配符掩码,反掩码相信大家也都不陌生,我们配置OSPF的时候都能用的到但是很多网工也就知道配置OSPF就要那么配置,用255.255.255.255减去正掩码就是反掩码,但是反掩码是啥却说不出来。反掩码掩码顾名思义就是正掩码反过来,正掩码是连续的1和0构成,用来…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号