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)
SpringMVC 请求路径结尾存在.使用@PathVariable访问路径内容,路径参数获取不准确的问题的更多相关文章
- 009.CI4框架CodeIgniter, 网页访问GET的URL参数获取,分段输出URL参数
01.代码如下,我们给在PHP CI4框架中定义了一个show函数,并给了3个参数,代码如下: <?php namespace App\Controllers\System; use App\C ...
- springMVC请求访问的整个过程
//以上个随笔(springMVC项目配置文件)为基础,详述springMVC请求的整个过程流向 web.xml ...
- springmvc请求接收参数的几种方法
一.通过@PathVariable获取路径中的参数 @RequestMapping(value="user/{id}/{name}",method=RequestMethod.GE ...
- 详解SpringMVC请求的时候是如何找到正确的Controller[附带源码分析]
目录 前言 源码分析 重要接口介绍 SpringMVC初始化的时候做了什么 HandlerExecutionChain的获取 实例 资源文件映射 总结 参考资料 前言 SpringMVC是目前主流的W ...
- 【SpringMVC】SpringMVC系列3之@PathVariable映射URL占位符参数
3.@PathVariable映射URL占位符参数 3.1.概述 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义. ...
- 【springmvc Request】 springmvc请求接收参数的几种方法
通过@PathVariabl注解获取路径中传递参数 转载请注明出处:springmvc请求接收参数的几种方法 代码下载地址:http://www.zuida@ima@com/share/1751862 ...
- 详解SpringMVC请求的时候是如何找到正确的Controller
详解SpringMVC请求的时候是如何找到正确的Controller[附带源码分析] 目录 前言 源码分析 重要接口介绍 SpringMVC初始化的时候做了什么 HandlerExecutionCha ...
- 访问servlet的路径问题
一.url-pattern的三种配置 在web.xml配置文件中配置有关Servlet的时候,<url-pattern>标签是用于配置当前Servlet拦截的路径,也就是说,客户端浏览器访 ...
- SpringMVC请求后台地址URL没有.*的几种实现方式
今天做项目,由于项目是通过扫二维码进入,二维码存放的地址不希望有 .do,而是http:xxxx:8080/xxx/yyy/zzz的格式(zzz为参数),但是项目其它请求url后面都必须要有.do,想 ...
随机推荐
- adb -s emulator-5554 install JDKCast-PAP.apk
multi-emulators direct to install app adb -s emulator-5554 install JDKCast-PAP.apk
- JavaScript数组模拟栈和队列
*栈和队列:js中没有真正的栈和队列的类型 一切都是用数组对象模拟的 栈:只能从一端进出的数组,另一端封闭 FILO 何时使用:今后只要仅希望数组只能从一端进 ...
- 新建jfinal2.2项目并连接mysql
一新建项目 1. new→Dynamic Web Project 2修改Default Output Folder.一般用WebRoot\WEB-INF\class,然后下一步(注意路径要写对,不然 ...
- UE4 执行Console Command ----ExecuteConsoleCommand
void UKismetSystemLibrary::ExecuteConsoleCommand(UObject* WorldContextObject, const FString& Com ...
- BZOJ 1040 树形DP+环套树
就是有n个点n条边,那么有且只有一个环那么用Dfs把在环上的两个点找到.然后拆开,从这条个点分别作树形Dp即可. #include <cstdio> #include <cstrin ...
- CGAL
一.interface http://jamesgregson.blogspot.com.au/2012/05/example-code-for-building.html
- Asp.net Web.Config - 配置元素 httpCookies
1.属性 属性 说明 domain 可选的 String 属性. 设置 Cookie 域名. httpOnlyCookies 可选的 Boolean 属性. 脚本(javascript之类)能够访 ...
- js one() 方法
js 中有个类似于bind()方法的one() 方法,one()方法的作用是执行一次,为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数. 事例代码如下: <script t ...
- C#常用操作类库四(File操作类)
public class FileHelper : IDisposable { private bool _alreadyDispose = false; #region 构造函数 public Fi ...
- Linux标准出错重定向导出
~$ ls han >1.txt 2>&1