SpringMVC请求后台地址URL没有.*的几种实现方式
来源:互联网 发布:什么软件字体多 编辑:程序博客网 时间:2024/06/05 07:02
今天做项目,由于项目是通过扫二维码进入,二维码存放的地址不希望有 .do,而是http:xxxx:8080/xxx/yyy/zzz的格式(zzz为参数),但是项目其它请求url后面都必须要有.do,想到了三种解决方式,最终采用了最后一种方式。
对应url后面直接带参数,在这就不在详细说明,直接贴出代码:
@RequestMapping("/index/{id}")public String index(Model model, @PathVariable("id")Integer id){LOGGER.info(id);return "/web/home/jump";}
接下来就是解决url地址不带.do的问题
第一种方式:直接在web.xml的url-pattern中配置“/”,即所有的请求都能通过。这样显然不好,所有的请求都能通过,不满足项目需求。web.xml 配置代码如下:
<servlet-mapping><servlet-name>springMvc</servlet-name><url-pattern>/</url-pattern> </servlet-mapping>
第二种方式:同样的在web.xml的url-pattern中配置“/”,但是在controller的@RequestMapping中手动写上.do,由于前面的@RequestMapping中都没有写.do,所以修改起来比较花费时间,不建议用这种方法。
第二种方式:也是在web.xml的url-pattern中配置“/”,但是这次利用了拦截器功能,在spring中配置拦截器拦截所有的。
<mvc:interceptors><mvc:interceptor><!-- 对所有的请求拦截使用/** ,对某个模块下的请求拦截使用:/myPath/* --><mvc:mapping path="/web/**" /><mvc:exclude-mapping path="/web/*/download.do"/><bean class="com.iflytek.zhbs.common.filter.WebSecurityInterceptor" /></mvc:interceptor></mvc:interceptors>再在拦截器的类里面做处理,具体做法及代码如下:
//获取请求路径urlString url = (String)request.getRequestURI();//获取请求的最佳匹配路径String pattern = (String)request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);//路径后面不是.do或请求最佳匹配路径和controller中的@RequestMapping路径不一致,返回404页面if(!url.endsWith(".do") && !pattern.equals("/web/index/{id}")){response.sendError(HttpServletResponse.SC_NOT_FOUND);return false;}最终采用第三种方式实现了需求。
初次写博客,写的不好的地方请谅解。
通过记录工作中遇到的问题及解决思路,希望能帮助到各位网友,如内容需要改善或不理解的,欢迎及时沟通,共同进步!
1 0
- SpringMVC请求后台地址URL没有.*的几种实现方式
- springmvc前台给后台传值的几种方式
- springmvc前台给后台传值的几种方式
- springmvc前台给后台传值的几种方式
- SpringMVC后台获取前台参数的几种方式
- springmvc前台给后台传值的几种方式
- springmvc 获取请求参数的几种方式
- springMVC 获取请求参数的几种方式
- SpringMVC的几种返回方式(get请求)
- PHP实现URL地址跳转的几种方法代码
- URL重写的几种实现方式的总结
- URL重写的几种实现方式的总结
- URL重写的几种实现方式的总结
- URL重写的几种实现方式的总结
- URL重写的几种实现方式的总结
- URL重写的几种实现方式的总结
- URL重写的几种实现方式的总结
- URL重写的几种实现方式的总结
- 数据库编程细节问题 -- 5.group by 的使用
- linux内核栈与用户栈及调用栈观察方法
- Hanoi in Prolog
- C++标准库类型——string
- JAVA并发集合学习总结
- SpringMVC请求后台地址URL没有.*的几种实现方式
- Qt---QTcpSocket连接http服务器
- 图的遍历
- 加速android studio速度
- 重构系列:概论
- Android NDK编译环境配置
- Maven安装和简单入门(1)
- Centos配置yum源
- 258. Add Digits