当前位置: 代码迷 >> J2EE >> 关于Spring拦截器拦截路径通配符的有关问题
  详细解决方案

关于Spring拦截器拦截路径通配符的有关问题

热度:18   发布时间:2016-04-17 23:35:32.0
关于Spring拦截器拦截路径通配符的问题
有一个登陆拦截器,肯定要对用户的操作进行登陆状态判断,现在的问题是:

/login    /register    /    这三个请求路径不拦截。

其他的  /admin/add     /admin/remove      /student/homework/add     /teacher/class/remove  这种2层及以上层级的请求路径要进行拦截。


那么请问怎么配置拦截器的 path mapping啊? 

写成这样拦截不到   /*/**


还有,在拦截器里面使用response.sendRedirect("/login")  无法跳转到项目的/login请求,地址栏是localhost:8080/login,而实际上应该是跳转到localhost:8080/website/login  这里

以上两个问题,求教大神,叩谢。
------解决思路----------------------
response.sendRedirect就如同在浏览器上直接输地址,而你又是使用的/login。有/和没有/是不同的,下面分别给你说明:
带/:表示站点开始,这里你的站点目录就是localhost:8080
不带/:表示从当前文件所在目录下去找。
这下你知道应该怎么写了把

第一个拦截器问题:由于很长时间没有配置过,基本记不起来是怎么弄的,不过你可以看看spring相关的解析源码,然后看他是如何处理路径请求的。以前我也是这么做的。具体你的解析类好像是一个stringmatch结尾的类。当然你也可以试试
/*/*,/**/**,/**/*
  相关解决方案