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下静态资源的区别
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)

    在做一个view背景特效的时候被坐标的各个获取方法搞晕了,几篇抄来抄去的博客也没弄很清楚。现在把整个总结一下。其实只要把下面这张图看明白就没问题了。涉及到的方法一共有下面几个:view获取自身坐标:getLeft(),getTop(),getRight(),getBottom()view获取自身宽高:getHeight(),getWidth()motionEvent获取坐标:getX(),getY

    2022年3月11日
    62
  • Pprof

    PprofPprof

    2022年8月1日
    6
  • MySQL 增加字段语句

    MySQL 增加字段语句ALTERTABLE 表名 ADD 新字段名 数据类型 约束条件 数据类型 新字段名 表名

    2025年10月31日
    4
  • MyEclipse10激活成功教程_MyEclipse激活码

    MyEclipse10激活成功教程_MyEclipse激活码myEclipse10可以去很多地方下载,我这里是从电脑管家下载的,下载完成后安装,安装很简单,不在多说安装完成后会发现你只有一个月的试用时间,我们就需要激活成功教程,这里需要下载一个激活成功教程补丁https://pan.baidu.com/s/1ivE2yauZRDdDq8zBxpK06A可以去网盘里下载,下载后解压,会有如下文件然后运行run.bat,会出现这个界面…

    2022年9月30日
    2
  • 迭代器和生成器

    迭代器可迭代的数据类型查看数据类型的所有方法可迭代协议:迭代器协议和可迭代对象判断一个数据类型是否是迭代器和可迭代对象:迭代器协议的原理1#基于迭代器协议2li=[1,2,3]

    2022年3月29日
    50
  • 【西安xxx面经】

    【西安xxx面经】我是在线下一天面完的,总共有五面。一面:自我介绍,问题基本上都是根据简历上问的,我简历上写了算法和数据结构所以问题都是和这些相关。一面有两个面试官,先问了面向对象的思想,面向对象的三大特性,分别解释一下。然后就是数据结构方面的知识:栈,队列,哈希表,如果数据很多的话用哈希表怎么存储。手撕二分,然后手撕一个关于链表的题:现在有很多节点,每个节点都有它在链表中的编号,现在要按照编号将这个链表复原。(因为面试官没有c++环境,所以我用的记事本编程,需要讲出来思路,每一句的作用)。面试体验:两个面试官还是有压力

    2022年5月15日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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