Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理
1.在application配置文件里面加入配置:
spring: mvc: view: prefix: /jsp/ suffix: .jsp
2.手動(dòng)在src->main->下面創(chuàng)建webapp文件夾
3.在Springboot 啟動(dòng)類加入如下代碼:
@Bean public InternalResourceViewResolver setupViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix('/jsp/'); resolver.setSuffix('.jsp'); return resolver; }
4.在webapp->下面創(chuàng)建jsp文件夾放入你的jsp文件
這個(gè)時(shí)候目錄層級(jí)大概應(yīng)該是這樣的

5.在pom文件里面加入jsp依賴
<!-- jsp --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <!-- jsp-->
這個(gè)時(shí)候jsp是可以正常訪問(wèn)的。
但是部署到服務(wù)器之后就會(huì)出現(xiàn)404錯(cuò)誤(我出現(xiàn)了這個(gè)錯(cuò)誤。)
解決辦法:
在pom文件中加入代碼:
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- 這一部分是加入的內(nèi)容 <version>1.4.2.RELEASE</version> --><!-- 解決部署之后jsp訪問(wèn)404 問(wèn)題 只能springboot 啟動(dòng)類main其他main都要注釋或者刪除 --><version>1.4.2.RELEASE</version><configuration> <fork>true</fork> <includeSystemScope>true</includeSystemScope></configuration> </plugin> <!-- 解決訪問(wèn)打包時(shí)忽略webapp問(wèn)題 使用命令 打包 mvn clean install -Dmaven.test.skip=true --> <!-- resources插件,在打jar包時(shí)可以將webapp目錄下的文件進(jìn)行打包 --> <resources> <resource><!-- 指定resources插件處理哪個(gè)目錄下的資源文件 --><directory>src/main/webapp</directory><!--注意此次必須要放在此目錄下才能被訪問(wèn)到 --><targetPath>META-INF/resources</targetPath><includes> <include>**/**</include></includes> </resource> <!-- 將項(xiàng)目中的配置文件,打包至classes下面 --> <resource><directory>src/main/resources</directory> </resource> </resources>
因?yàn)閾?jù)網(wǎng)上的資料說(shuō)超過(guò)這個(gè)版本之后就不行了,具體原因未深究。
至此從新打包部署之后jsp應(yīng)該就可以正常訪問(wèn)了
然后我這邊做法是把資源文件都放到服務(wù)器了 js css img等等這些資源
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android table布局開發(fā)實(shí)現(xiàn)簡(jiǎn)單計(jì)算器2. jQuery 實(shí)現(xiàn)DOM元素拖拽交換位置的實(shí)例代碼3. 理解PHP5中static和const關(guān)鍵字4. php模擬實(shí)現(xiàn)斗地主發(fā)牌5. IntelliJ IDEA安裝插件的方法步驟6. spring acegi security 1.0.0 發(fā)布7. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)8. Python random庫(kù)使用方法及異常處理方案9. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟10. Vuex localStorage的具體使用

網(wǎng)公網(wǎng)安備