Springboot如何添加server.servlet.context-path相關(guān)使用
Springboot添加server.servlet.context-path
server.servlet.context-path配置的作用
定義: server.servlet.context-path= # Context path of the application. 應(yīng)用的上下文路徑,也可以稱為項目路徑,是構(gòu)成url地址的一部分。
- server.servlet.context-path不配置時,默認(rèn)為 / ,如:localhost:8080/xxxxxx
- 當(dāng)server.servlet.context-path有配置時,比如 /demo,此時的訪問方式為localhost:8080/demo/xxxxxx
springboot 2.0變革后的配置區(qū)別
1、springboot 2.0之前,配置為 server.context-path
2、springboot 2.0之后,配置為 server.servlet.context-path
一個思考
原來的運營項目(已上線),配置文件添加 server.servlet.context-path 配置后,需要在thymleaf 中進(jìn)行action請求的追加嗎?
答案:不需要。
栗子:
前端頁面采取form請求
<form th:action="@{/user/userLogin}" method="post" id="userLogin"></form>
action攔截接受方式
@Controller @RequestMapping("/user") public class LoginController { @PostMapping("/userLogin") public String userLogin(HttpServletRequest request, Model model) {
原項目的基礎(chǔ)上,追加一個配置
server: port: 8080 servlet: context-path: /demo
只需要再開始進(jìn)入首頁時,追加 localhost:8080/demo ,后續(xù)的thymleaf中的href和action等無需添加/demo 。
Springboot配置 server.servlet-path 和 server.context-path
server.context-path
設(shè)定應(yīng)用的context-path.
根據(jù) springboot版本context-path不同:
- 如果是springboot2.0以下,用配置?server.context-path=/demo
- 如果是springboot2.0以上,用配置?server.servlet.context-path=/demo
server.servlet-path
- 設(shè)定dispatcher servlet的監(jiān)聽路徑,默認(rèn)為: /
示例:
- 如果配置了server.servlet-path = /demo,訪問路徑就是http://ip:port/demo/...
- 不配置或server.servlet-path = /,訪問路徑就是http://ip:port/...
小拓展:
1.只配置了server.servlet-path = /demo,訪問路徑是http://ip:port/demo/...
2.如果使用的idea,只在Tomcat配置了 Application context了,訪問路徑是http://ip:port/test/...
3.如果使用的idea,已經(jīng)在Tomcat配置了 Application context了(下圖),也配置了server.servlet-path = /demo,訪問路徑是http://ip:port/test/demo/...
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringBoot集成WebServlet出現(xiàn)自定義servlet請求失敗的問題解決方案
- SpringBoot里使用Servlet進(jìn)行請求的實現(xiàn)示例
- springboot掃描自定義的servlet和filter代碼詳解
- Springboot注入成員變量HttpServletRequest的原理分析
- SpringBoot3.1.2 引入Swagger報錯Type javax.servlet.http.HttpServletRequest not present解決辦法
- 解決IDEA啟動springboot項目報錯java.lang.ClassNotFoundException:?javax.servlet.ServletContext
- SpringBoot獲取HttpServletRequest的3種方式總結(jié)
- SpringBoot項目找不到j(luò)avax.servlet.Filter的問題及解決
- SpringBoot如何切換成其它的嵌入式Servlet容器(Jetty和Undertow)
相關(guān)文章
詳解Java?ReentrantReadWriteLock讀寫鎖的原理與實現(xiàn)
ReentrantReadWriteLock讀寫鎖是使用AQS的集大成者,用了獨占模式和共享模式。本文和大家一起理解下ReentrantReadWriteLock讀寫鎖的實現(xiàn)原理,需要的可以了解一下2022-10-10java文件操作報錯:java.io.FileNotFoundException(拒絕訪問)問題
在進(jìn)行編程時,經(jīng)常會遇到因疏忽小細(xì)節(jié)而導(dǎo)致的錯誤,如忘記在路徑后添加文件名,本文通過一個具體的修改前后對比示例,解釋了錯誤原因,并給出了解決方案,這類經(jīng)驗分享對編程學(xué)習(xí)者具有參考價值2024-10-10將ResultSet中得到的一行或多行結(jié)果集封裝成對象的實例
這篇文章主要介紹了將ResultSet中得到的一行或多行結(jié)果集封裝成對象的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05JavaWeb三大組件之監(jiān)聽器Listener詳解
這篇文章主要介紹了JavaWeb三大組件之監(jiān)聽器Listener詳解,在JavaWeb應(yīng)用程序中,Listener監(jiān)聽器是一種機制,用于監(jiān)聽和響應(yīng)特定的事件,它可以感知并響應(yīng)與應(yīng)用程序相關(guān)的事件,從而執(zhí)行相應(yīng)的邏輯處理,需要的朋友可以參考下2023-10-10SpringBoot?2.7.18?集成?Mybatis?Plus?+?Druid的實例詳解
Mybatis和MybatisPlus都是流行的持久層框架,MybatisPlus在Mybatis基礎(chǔ)上增加了更多便捷的功能,如自動CRUD、分頁插件等,文章還提到了Entity、Mapper、Service、Controller等組件的基本使用方法,為開發(fā)者提供了一套完整的集成方案2024-10-10SpringCloud之Admin服務(wù)監(jiān)控實現(xiàn)流程示例詳解
這篇文章主要為大家介紹了SpringCloud之Admin服務(wù)監(jiān)控流程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09javafx 如何將項目打包為 Windows 的可執(zhí)行文件exe
文章介紹了三種將JavaFX項目打包為.exe文件的方法:方法1使用jpackage(適用于JDK14及以上版本),方法2使用Launch4j(適用于所有JDK版本),方法3使用InnoSetup(用于創(chuàng)建安裝包),每種方法都有其特點和適用范圍,可以根據(jù)項目需求選擇合適的方法,感興趣的朋友一起看看吧2025-01-01