標籤:

springboot把web應用打包成jar包,那麼打包時jsp文件應該如何處理呢?

springboot把web應用打包成jar包,集成了tomcat,實現just run,那麼jsp文件該怎麼處理,需要一起打包在jar中呢?還是存放在單獨的文件夾中?


如果spring boot工程中使用了jsp,是不可以打成jar包的。因為servlet規範中規定jsp必須放在servlet context中。所以spring boot並不推薦使用jsp,而是使用thymeleaf,freemarker等模版引擎。

參見http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-jsp-limitations


這篇文章應該能解答你的疑惑:spring boot應用啟動原理分析

另外案例下我關於spring boot的一些文章:Java後端 - 文集


jsp也是編譯成servlet的,其實也是java類


是可以的 http://blog.csdn.net/alan666156/article/details/52168450


這種情況下可以把應用打成war包嘛,例子:spring-boot/spring-boot-samples/spring-boot-sample-web-jsp at v1.4.1.RELEASE · spring-projects/spring-boot · GitHub


When running a Spring Boot application that uses an embedded servlet container (and is packaged as an executable archive), there are some limitations in the JSP support.

  • With Tomcat it should work if you use war packaging, i.e. an executable war will work, and will also be deployable to a standard container (not limited to, but including Tomcat). An executable jar will not work because of a hard coded file pattern in Tomcat.
  • Jetty does not currently work as an embedded container with JSPs.
  • Undertow does not support JSPs.

這是原文。

Tomcat支持war的打包方式,spring boot支持war打包方式。Jetty現在不支持嵌入式伺服器。Undertow根本就不支持JSP。

所以答案就是打包成war,jsp會自然按照servlet的標準部署。但也就意味著你不可以用嵌入式的方式運行,而是Tomcat Server + war的部署方式。


一樣的,放到template或者static裡面,做好映射,然後達成jar包。


springboot會把你的整個項目都打成可運行的jar包,包括jsp等視圖文件以及其他資源文件都是一起打包的啊,不然這邊一個包,那邊一個單獨文件夾,這邊一個配置文件,那邊一個,你不覺的繁瑣麻煩嗎?


推薦閱讀:

Spring Boot 整合 Redis 實現緩存操作
Spring 數據訪問(DAO層) 總結
怎麼閱讀Spring源碼?
Spring探秘,妙用BeanPostProcessor

TAG:Spring |