日期:2014-05-18  浏览次数:20870 次

<filter-mapping>问题
project中有admin文件夹,在admin下有login.jsp和其他一些jsp页面。现在要实现先通过login.jsp登陆,然后才可以访问其他页面。
想通过过滤器来实现对其他jsp页面的过滤(判断是否登陆,如果没有则跳转到login.jsp)。
  问题关键:
  <filter>
<filter-name>auth</filter-name>
<filter-class>com.filter.SignonFilter</filter-class>
</filter>
  <filter-mapping>
<filter-name>auth</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
  该如何写?才能达到只过滤其他jsp页面而不过滤login.jsp。似乎是个矛盾的问题……


------解决方案--------------------
关键不在filter, 登陆后session中保存一个sessionid, 在baseAction中都先判断一下,不就OK拉.
------解决方案--------------------
<url-pattern >/admin/* </url-pattern >
这个匹配的应该是正则表达式的吧.
------解决方案--------------------
这又是何必类
你的login 放到和admin同级的目录也就是根目录下就好了 这样 其他的请求就可以放到admin下 
也不用做判断了
<filter-mapping>下还是那么配置 
 省了好多事 如果还要每个页面去判断 要不然要这过滤器干什么类
------解决方案--------------------
还有就是上面不是/admin/*.jsp 可以写成 *.jsp 过滤 他前面不能有其他的目录
 好久没用了 不怎么记得去了 如果不是上面那样就是/*.jsp