springboot+jsp jar包 上傳雲服務器


1、springboot整合jsp

最近做的一個項目,由於種種原因使用了springboot+jsp。相信許多人也清楚,springboot官方推薦的模板引擎是thymleaf,並不太支持jsp。

springboot要整合jsp的話,需要添加以下依賴:

另外,如果需要用到jstl的話,則需要添加以下依賴:

而且jsp文件必須放在WEB-INF目錄下,否則無法編譯成class文件(畢竟jsp本質是servlet)所以要在application.yml添加如下配置

jsp中如果需要引用靜態資源的話,則可以放在resource/static文件夾下,在jsp中引用的路徑直接寫“/xxx/xxx.css” ,因為springboot默認的靜態資源路徑中有resource/static,放在這里不會被攔截


2、使用maven打jar包

我在使用maven將springboot打成jar包時,發現在WEB-INF下的jsp文件不會被放進jar包中。當然,這是正常的,因為是打jar包,不是打war包,當然不會包含WEB-INF目錄的東西。

所以需要添加配置,在pom.xml文件中的build標簽下添加如下內容,在打包過程中需要將webapp目錄(WEB-INF在webapp下)放入jar包中的META-INF/resource目錄下。

另外,還需要將springboot的maven插件版本修改為1.4.2.RELEASE,具體如下圖,只有使用這個版本打jar包才能解析jsp,這是springboot的bug吧

然后使用maven工具進行打包即可


 

3、部署到雲服務器

 首先需要將服務器對應的端口號放行,比如我使用的tomcat端口號是8066,以阿里雲服務器為例,進入控制台,選擇安全組,點擊“配置規則”,再點擊“添加安全組規則”,在彈窗中填寫具體信息,具體如下圖:

 

如果使用shell工具則需要輸入以下命令,第一個是開放8066端口,第二個是保存規則

iptables -A INPUT -ptcp --dport  8066 -j ACCEPT
/etc/rc.d/init.d/iptables save

 然后使用shell工具進入到jar包的上傳目錄,輸入以下命令:

java -jar xxx.jar 

使用上述方式的話,在shell工具時就會關閉整個程序,因此需要使用以下命令將程序常駐服務器

nohup java -jar xxx.jar &

 nohup的意思不掛服務,常駐的意思,除非雲服務器重啟,否則程序會一直運行;最后的&表示執行命令后會生成日志文件nohup.out

 然后就可以通過雲服務器的公網ip+端口號+Controller路徑,就可以訪問項目了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM