最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決springmvc使用@PathVariable路徑匹配問題

 更新時間:2021年02月24日 09:26:13   作者:文文文文文哥  
這篇文章主要介紹了解決springmvc使用@PathVariable路徑匹配問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、問題

今天作畢設的時候,在搭建ssm框架的使用使用springmvc的@PathVariable時出現了一個路徑匹配的問題,最后花了點時間解決了。

代碼結構:

問題內容:

訪問url為:

按照道理說,我應該到jsp的index頁面去。最后的結果確實到了index頁面,可是由于該頁面引用了幾個css和js,報異常找不到。有使用過spring經驗的童鞋應該知道使用如下代碼解決靜態(tài)資源的訪問。

// 方法一
<mvc:default-servlet-handler/>
// 方法二
<mvc:resources location="/easyui/js/" mapping="/themes/**"/>
<mvc:resources location="/easyui/themes/" mapping="/js/**"/>

可是最后還是訪問不到靜態(tài)資源。

于是我就想是因為@PathVariable的原因嗎?于是在下面做了一個實驗

@RequestMapping("/index")
 public String index() {
  System.out.println("index execute ");
  return "index";
 }

實驗的結果就是可以正確訪問??礃幼雍孟翊_實是這樣。于是我又再一次訪問上面的地址(http://localhost:8080/ksxt_v1/user/index),并且打開控制臺來查看,如下:

從上面標識的地方可以看出問題的原因了,當請求的URL為http://localhost:8080/ksxt_v1/user/index時,它在請求靜態(tài)資源的時候也會把user帶上,我們的靜態(tài)資源肯定不是放在這個文件夾里面的了。最后的結局當然是找不到了。

二、解決方法

上面的問題產生是因為我在引用靜態(tài)文件使用的是相對路徑。

解決方法就是將其全部修改為絕對路徑。

<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/easyui/themes/default/easyui.css" rel="external nofollow" >
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/easyui/themes/icon.css" rel="external nofollow" >
<script type="text/javascript" src="${pageContext.request.contextPath}/easyui/js/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/easyui/js/jquery.easyui.min.js"></script>

最后完美解決。當然應該也有其它方式解決,暫時未想到。

補充:SpringMVC 請求路徑結尾存在.使用@PathVariable訪問路徑內容,路徑參數獲取不準確的問題

SpringMVC采用Get方式請求資源時,如果請求路徑的結尾中帶有小數點(.)時,同時使用@PathVariable訪問路徑內容時,請求路徑中最后一個小數點及其后面的內容會被Spring截斷丟棄

比如針對版本的訪問

對于請求路徑:

http://host:port/program/module/download/apk/3.20.10

后端RequestMapping為

@RequestMapping(value="module/download/apk/{version}",method=RequestMethod.GET)
public void download(HttpSession session,HttpServletResponse response,@PathVariable("version")String version){
  //解析后獲得到的版本值為:3.20
}

又比如針對文件的訪問

對于請求路徑:

http://host:port/program/viewFile/module/201612201231445.pdf

后端RequestMapping為

@RequestMapping(value="viewFile/{module}/{filename}",method=RequestMethod.GET)
public void viewFile(HttpSession session,HttpServletResponse response,@PathVariable String module, @PathVariable String filename){
  //解析后獲得到的文件名稱為201612201231445并沒有或追文件后綴
}

在確實需要使用以小數點的路徑進行請求的話可以選擇如下兩種解決方案:

1、在路徑后加任意小數點結尾的字符串

http://host:port/program/module/download/apk/3.20.10.html

http://host:port/program/viewFile/module/201612201231445.pdf.jsp

2、使用Spring正則表達式(SpEL)

@RequestMapping(value="module/download/apk/{version:.+}",method=RequestMethod.GET)
@RequestMapping(value="viewFile/{module}/{filename:.+}",method=RequestMethod.GET)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • Java實現在正則表達式中控制大小寫的方法

    Java實現在正則表達式中控制大小寫的方法

    這篇文章主要介紹了Java實現在正則表達式中控制大小寫的方法,結合實例形式分析了java正則表達式中傳遞控制參數的功能與相關操作技巧,需要的朋友可以參考下
    2017-04-04
  • SpringBoot實現動態(tài)端口切換黑魔法

    SpringBoot實現動態(tài)端口切換黑魔法

    這篇文章主要為大家詳細介紹了SpringBoot如何實現動態(tài)端口切換黑魔法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • Spring?MVC項目中的異常處理詳解

    Spring?MVC項目中的異常處理詳解

    在Web開發(fā)中 我們經常會需要處理各種異常,這篇文章主要給大家介紹了關于Spring?MVC項目中異常處理的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • Spring Boot 項目啟動失敗的解決方案

    Spring Boot 項目啟動失敗的解決方案

    這篇文章主要介紹了Spring Boot 項目啟動失敗的解決方案,幫助大家更好的理解和學習使用Spring Boot,感興趣的朋友可以了解下
    2021-03-03
  • sharding-jdbc讀寫分離原理詳細解析

    sharding-jdbc讀寫分離原理詳細解析

    這篇文章主要介紹了sharding-jdbc讀寫分離原理詳細解析,很多時候,為了應付DB的高并發(fā)讀寫,我們會采用讀寫分離技術,讀寫分離指的是利用數據庫主從技術(把數據復制到多個節(jié)點中),分散讀多個庫以支持高并發(fā)的讀,需要的朋友可以參考下
    2023-12-12
  • Spring框架十一種常見異常的解決方法匯總

    Spring框架十一種常見異常的解決方法匯總

    今天小編就為大家分享一篇關于Spring框架十一種常見異常的解決方法匯總,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java實現拖拽列表項的排序功能

    Java實現拖拽列表項的排序功能

    這篇文章主要介紹了Java實現拖拽列表項的排序功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • Java將不同的List集合復制到另一個集合常見的方法

    Java將不同的List集合復制到另一個集合常見的方法

    在Java中,有時候我們需要將一個List對象的屬性值復制到另一個List對象中,使得兩個對象的屬性值相同,這篇文章主要介紹了Java將不同的List集合復制到另一個集合常見的方法,需要的朋友可以參考下
    2024-09-09
  • Java Calendar日歷類原理及使用方法

    Java Calendar日歷類原理及使用方法

    這篇文章主要介紹了Java Calendar日歷類原理及使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Spring事務管理配置文件問題排查

    Spring事務管理配置文件問題排查

    這篇文章主要介紹了Spring事務管理配置文件問題排查,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05

最新評論

尤溪县| 诸暨市| 敦化市| 旬邑县| 霍林郭勒市| 新和县| 昌宁县| 嘉祥县| 武乡县| 申扎县| 祁阳县| 安泽县| 双桥区| 开原市| 安陆市| 龙胜| 巧家县| 屏南县| 宝山区| 侯马市| 荣成市| 建湖县| 西充县| 卢龙县| 胶南市| 中山市| 旬阳县| 体育| 安吉县| 铜陵市| 梁山县| 无锡市| 双辽市| 吉林省| 赣榆县| 高青县| 辽阳市| 元江| 峨边| 兴文县| 宁德市|