拦截器问题,如何拦截静态资源文件的访问请求

netsgo 2010-09-16 03:28:24
原来项目中的所有资源文件比如图片、文件等在页面中都是直接指向服务器存放文件的实际路径例如:某个页面中的图片<img src="/images/user001photo.jpg"/>,其中在系统web根目录的images目录下确实有一个user001photo.jpg文件,
现在由于某种原因把所有的资源文件放到web目录外的地方管理,也就是说和web网站无关的目录(主要为方便备份,因为这些图片是用户传上来的)。
现在我想不修改原来的路径,通过拦截器捕捉到这个资源访问后通过程序处理将相关的资源文件再输出(或者直接拷贝到"/images下)。
我使用如下方法,首先在web.xml中增加一个拦截器
<filter>
<filter-name>resFilter</filter-name>
<filter-class>interceptor.ResourceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>resFilter</filter-name>
<url-pattern>/images/*</url-pattern>
</filter-mapping>

在拦截器类ResourceFilter的doFilter方法中拦截到访问后处理之。但是实际上并没有拦截到,我觉得我的url-pattern写法应该是没有问题的,为什么拦截不到"/images/user001photo.jpg"这个路径的访问呢?
环境:jdk1.6 tomcat6
...全文
1621 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ll275925256 2011-09-26
  • 打赏
  • 举报
回复
楼主,能问一下是怎么配置的server.xml?
netsgo 2010-09-19
  • 打赏
  • 举报
回复
问题解决了,是tomcat配置文件server.xml的设置问题,但是不明白原来的设置为何会导致问题的产生。
不过不去追究了,反正换了一个配置方法就可以了。
结贴散分!
netsgo 2010-09-17
  • 打赏
  • 举报
回复
换了火狐、苹果浏览器也都不行,郁闷。
adamde666 2010-09-17
  • 打赏
  • 举报
回复
拦截器写法没问题,建议你换个浏览器再试试
24K純帥 2010-09-17
  • 打赏
  • 举报
回复
拦截器就是这么写的饿
24K純帥 2010-09-17
  • 打赏
  • 举报
回复
拦截器就是这么写额
yangfeihu 2010-09-17
  • 打赏
  • 举报
回复
就你提供的信息来看,毫无问题
netsgo 2010-09-17
  • 打赏
  • 举报
回复
今天又试了一下,发现问题所在,但不能理解。
将过滤条件改为<url-pattern>/*</url-pattern>
然后将图片放到网站根目录下,就可拦截了。如果不把图片放到网站根目录下,依旧不能拦截。
奇了怪了! /*不是可以拦截所有访问路径吗?为了不能拦截/images/...?
各位有条件的能不能帮试一下,郁闷啊......
wula0010 2010-09-16
  • 打赏
  • 举报
回复
拦截应该是没有问题的,...........
netsgo 2010-09-16
  • 打赏
  • 举报
回复
哇,没有人知道吗?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧