论坛首页 Java版 Struts

struts中filter问题

浏览 2047 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-06-25 关键字: filter
我在servlet中使用,dofilter只运行一次,一切正常,但是在struts中运行的时候,一个请求要使dofilter运行很多次,像是进入了死循环了一样
LoginFilter.java 
public class LoginFilter implements Filter { 

private FilterConfig config; 

public LoginFilter() 
{ 
} 

public void init(FilterConfig config) 
throws ServletException 
{ 
this.config = config; 
} 

public void destroy() 
{ 
} 

public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain) 
throws IOException, ServletException 
{ 
System.out.println("run in filter"); 
HttpServletRequest request = (HttpServletRequest)srequest; 
HttpSession session = request.getSession(); 
if(session.getAttribute("admin") == null) 
request.getRequestDispatcher("login.jsp").forward(srequest, sresponse); 
else 
chain.doFilter(srequest, sresponse); 
} 

} 

web.xml
<filter>
    <filter-name>sessionfilter</filter-name>
    <filter-class>com.arthurs.util.LoginFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>sessionfilter</filter-name>
    <url-pattern>/admin/*</url-pattern>
  </filter-mapping>
   
最后更新时间:2007-06-25
问题描述在清楚一些,最简单的可能性就是login.jsp在
/admin/* 下,自然是不停的访问
   
0 请登录后投票
最后更新时间:2007-07-28
#   <filter-mapping>  
#     <filter-name>sessionfilter</filter-name>  
#     <url-pattern>/admin/*</url-pattern>  
#   </filter-mapping>  

别用/*,用*.do
不然过滤器碰到css,js,jsp,图片等资源文件的时候都会执行过滤器的
   
0 请登录后投票
最后更新时间:2007-08-13
*代表全部可能啊。。那肯定死循环撒。。过如果你admin==null转向login.jsp再进过滤器admin仍然为空。肯定就死了啊
   
0 请登录后投票
最后更新时间:2007-08-23
realreal2000
回答的正确
   
0 请登录后投票
论坛首页 Java版 Struts

跳转论坛:
JavaEye推荐