当servlet 的url-pattern配置为<url-pattern>/</url-pattern>时,应该怎么放行资源让资源可以访问得到?
例如想要访问地址栏上访问 a.jsp页面,这servlet也拦截这请求,怎么实现才能放行该请求,让其可以访问
你的意思是,当你url为xxx/a.jsp的时候,会被拦截,访问不了的吗?
jsp没有问题,html等静态资源就会拦截
而且重定向html页面也会被拦截
@lz92: 静态资源是会被拦截的啊。
@让我发会呆: 那请问怎么才能不被拦截呢?
@lz92: 如果我没记错的话,这是一种servlet-handler分发的问题。
<!-- 使用该标签来配置静态资源的访问处理 -->
1:<mvc:resources location="/js/" mapping="/js/**" />
<mvc:resources location="/css/" mapping="/css/**" />
2:<mvc:default-servlet-handler />
这两种应该都可以解决静态资源被拦截的问题
要实现过滤的吧,不能把所有的都拦截掉。
http://blog.csdn.net/hanghangde/article/details/51298221
使用 spring mvc 的时候,也是配置拦截所有的请求, 就是想实现类似的功能。不知道可有方法解决
<!-- 不拦截静态文件 --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/js/*</url-pattern> <url-pattern>/css/*</url-pattern> <url-pattern>/images/*</url-pattern> <url-pattern>/fonts/*</url-pattern> </servlet-mapping>
通过 ServletContext 对象获取 RequestDispatcher 对象进行对静态资源的转发