Filter 路径问题

想请教一下,为什么我在自己写的filter里面用forword跳转到的jsp页面不能读取css文件。
如果不经过filter直接访问jsp页面是没有问题的。

既然你用了filter,那么还有一个问题,你的css请求时不是被你的filter给过滤阻挡了。

这个是用servlet你必须懂的事情,你的css文件是使用相对路径,比如 ../style/aaa.css
正常情况下,jsp页面是相对这个位置是正确的。

当你跳转后,你的jsp路径就变成了servlet的路径, 比如说:

http://localhost/myweb/xxxxx/111.jsp

跳转后 http://localhost/myweb/111Servlet.do

中间的那一层xxxxx就不在了,修改方案:

  1. 将你的css写成 /myweb/style/aaa.css 这是相对于根目录的相对路径,但是项目名称不能随便更换。
  2. 使用 ${basepath}/style/aaa.css的方式。

楼主可以把你跳转后的页面,的引用css的路径,单独放到浏览器地址栏访问一下,看看是否能打开,能打开说明能访问,不能打开说明路径有误或者过滤器的配置有误。

奇怪。。。${basepath}/style/aaa.css前面再加个/试试

/${basepath}/style/aaa.css

或者直接用绝对路径
/项目名/style/aaa.css