欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決@PathVariable對(duì)于特殊字符截?cái)嗟膯?wèn)題

 更新時(shí)間:2021年02月24日 08:38:09   作者:往前的娘娘  
這篇文章主要介紹了解決@PathVariable對(duì)于特殊字符截?cái)嗟膯?wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

概述:

@ResponseBody
 @RequestMapping(value="/download/{fileName:[a-zA-Z0-9\\.\\-\\_]+}", method = RequestMethod.GET)
 public void downloadAmr( HttpServletRequest request, HttpServletResponse response, @PathVariable("fileName") String fileName) {
 response.setContentType("application/octet-stream");
 String dir = System.getProperty("catalina.home"); //獲得tomcat所在的工作路徑 
 System.out.println("tomcat路徑=" + dir); 
 //獲取到存儲(chǔ)了文件存儲(chǔ)位置的filedir.properties 文件路徑 
 String dir2 = dir.substring(0, dir.length()) + File.separator +"webapps" + File.separator + "ROOT" + File.separator + fileName; 
 File file = new File(dir2);
 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
 byte[] buffer = new byte[1024]; 
 int len; 
 try { 
 InputStream inputStream = new FileInputStream(file);
 while ((len = inputStream.read(buffer)) > -1 ) { 
 byteArrayOutputStream.write(buffer, 0, len); 
 } 
 byteArrayOutputStream.flush(); 
 response.getOutputStream().write(byteArrayOutputStream.toByteArray());
 } catch (FileNotFoundException e) {
 logger.error("讀取文件異常", e);
 } catch (IOException e) { 
 logger.error(e.getMessage(), e); 
 } 
 logger.info("下載進(jìn)入。。。。。。。。。。。。。。。。。");
 }

總結(jié):

1、默認(rèn)值情況下 /download/{fileName}, 然后 @PathVariable("fileName"),

如果路徑為/download/1.jpg的話,那么 fileName=1 而不是1.jpg,問(wèn)題就是默認(rèn)對(duì)于字符._-相關(guān)進(jìn)行截?cái)嗔恕?/p>

2、解決方法就是

{fileName:[a-zA-Z0-9\\.\\-\\_]+}

用正則表達(dá)式表示這些字符不能被截?cái)唷?/p>

補(bǔ)充:Springboot用@PathVariable傳參,最后一個(gè)參數(shù)會(huì)丟失小數(shù)點(diǎn)后面的部分

當(dāng)使用@PathVariable傳遞路徑參數(shù)時(shí),竟然神奇的發(fā)現(xiàn),后面一位參數(shù)的小數(shù)點(diǎn)后面部分竟然不見啦,如下代碼:

Controller方法注解如下:

@RequestMapping(value = "/user/findPassword/{email}", method = RequestMethod.GET, produces="application/json")

我這里是想傳遞個(gè)郵箱過(guò)來(lái)的,然后就發(fā)現(xiàn)了沒有郵箱后綴。

百思不得其解,遂百度之,解決方法如下:

@RequestMapping(value = "/user/findPassword/{email:.+}", method = RequestMethod.GET, produces="application/json")

在參數(shù)后面添加個(gè)冒號(hào)和一個(gè)小數(shù)點(diǎn)在加上一個(gè)加號(hào):{email:.+}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • java 內(nèi)部類的詳解及實(shí)例

    java 內(nèi)部類的詳解及實(shí)例

    這篇文章主要介紹了 java 內(nèi)部類的詳解及實(shí)例的相關(guān)資料,這里提供了兩種內(nèi)部類的實(shí)現(xiàn)方法,并給出實(shí)例,需要的朋友可以參考下
    2017-08-08
  • Springbean的幾種注入方式都了解嗎

    Springbean的幾種注入方式都了解嗎

    這篇文章主要介紹了Springbean的幾種注入方式都了解嗎,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • JPA多數(shù)據(jù)源分布式事務(wù)處理方案

    JPA多數(shù)據(jù)源分布式事務(wù)處理方案

    這篇文章主要為大家介紹了JPA多數(shù)據(jù)源分布式事務(wù)處理的兩種事務(wù)方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • SpringBoot結(jié)合mockito測(cè)試實(shí)戰(zhàn)

    SpringBoot結(jié)合mockito測(cè)試實(shí)戰(zhàn)

    與集成測(cè)試將系統(tǒng)作為一個(gè)整體測(cè)試不同,單元測(cè)試更應(yīng)該專注于某個(gè)類。所以當(dāng)被測(cè)試類與外部類有依賴的時(shí)候,尤其是與數(shù)據(jù)庫(kù)相關(guān)的這種費(fèi)時(shí)且有狀態(tài)的類,很難做單元測(cè)試。但好在可以通過(guò)“Mockito”這種仿真框架來(lái)模擬這些比較費(fèi)時(shí)的類,從而專注于測(cè)試某個(gè)類內(nèi)部的邏輯
    2022-11-11
  • SpringBoot注冊(cè)Servlet的三種方法詳解

    SpringBoot注冊(cè)Servlet的三種方法詳解

    這篇文章主要介紹了SpringBoot注冊(cè)Servlet的三種方法詳解,教你如何Spring Boot 注冊(cè) Servlet、Filter、Listener,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • spring?@value無(wú)法取值多個(gè)properties文件的解決

    spring?@value無(wú)法取值多個(gè)properties文件的解決

    這篇文章主要介紹了spring?@value無(wú)法取值多個(gè)properties文件的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java NIO服務(wù)器端開發(fā)詳解

    Java NIO服務(wù)器端開發(fā)詳解

    這篇文章主要介紹了Java NIO服務(wù)器端開發(fā)詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • SpringAMQP消息隊(duì)列(SpringBoot集成RabbitMQ方式)

    SpringAMQP消息隊(duì)列(SpringBoot集成RabbitMQ方式)

    這篇文章主要介紹了SpringAMQP消息隊(duì)列(SpringBoot集成RabbitMQ方式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • @Async導(dǎo)致controller?404及失效原因解決分析

    @Async導(dǎo)致controller?404及失效原因解決分析

    這篇文章主要為大家介紹了@Async導(dǎo)致controller?404失效問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 一文秒懂Java中的樂(lè)觀鎖 VS 悲觀鎖

    一文秒懂Java中的樂(lè)觀鎖 VS 悲觀鎖

    這篇文章主要介紹了java樂(lè)觀鎖 VS 悲觀鎖的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-05-05

最新評(píng)論