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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 支持js代码的博客有哪些?[通俗易懂]

    支持js代码的博客有哪些?[通俗易懂]1、支持js代码的博客谷歌博客,雅虎奇摩,博客大巴,jimdo博客,和讯博客要等级(230000分).2、现在新浪博客怎么才能有效的使用js呢在新浪博客放广告,现在网络上主要流行的两种方法,这里尽量简单化的给您说明。把广告以代码形式放到免费空间里,然后链接到你的博客教程如下:(1).登陆googleadsense后台,生成广告代码。(2).将代码贴到纪事本文件,另存为….

    2022年7月12日
    15
  • 集合类型python_集合 python

    集合类型python_集合 python集合集合的特点:是一种可迭代的、无序的、不能包含重复元素的数据结构去重b=[10,5,6,1,9,1]c=set(b)print(c)>>>{1,5

    2022年7月29日
    5
  • Anchorpoint_the mythology handbook

    Anchorpoint_the mythology handbook之前做一个imageview的transform的动画,从scale(1,1)变成scale(0.3)

    2022年10月8日
    3
  • github设置添加SSH

    github设置添加SSH

    2021年10月12日
    39
  • 小鹤双拼尝试

    小鹤双拼尝试26个英文字母除了a,o,e,i,u,v(代表ü,下同)之外都被用作声母,而除了这20个声母之外还有3个声母分别为双字母的zh,ch,sh,汉字中绝大部分字的读音都是声母加韵母组成的。而韵母中,除了上述提到的六个字母,其余韵母都是由两个或三个字母组成。小鹤双拼编码方案:第一个字母表示声母,第二字母表示韵母,没有声母时用零声母代替单字母声母韵母键位不变,就意味着26个字母都是和它本来的音相同,比较特殊的就是v,i,u三个(它们也可以拼成yu,yi,wu),当他们被第一个按下时,会代表声母zh,ch,sh

    2022年6月29日
    20
  • 为什么不建议把数据库部署在 Docker 容器内?

    原文:https://www.toutiao.com/i6805798581971190276/ 近2年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docke…

    2021年6月22日
    96

发表回复

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

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