日期:2014-05-17  浏览次数:20685 次

STRUTS2 FILTER 的问题
FILTER  配置的事拦截所有url
代码如下

@Override
public void destroy() {
// TODO Auto-generated method stub

}

public static int index=0;

@Override
public void doFilter(ServletRequest servletrequest,
ServletResponse servletresponse, FilterChain filterchain)
throws IOExceptionServletException {
// TODO Auto-generated method stub
index++;
// HttpServletRequest a = (HttpServletRequest)servletrequest;
// HttpSession b = a.getSession();
// UserInfo c=(UserInfo)b.getAttribute(Constants.USER_INFO_SESSION_KEY);
// if(c!= null){
// System.out.println(c.getUserId()==null?null:c.getUserId());
// }
System.out.println(index++);
filterchain.doFilter(servletrequest, servletresponse);
return;
}

@Override
public void init(FilterConfig filterconfig) throws ServletException {
// TODO Auto-generated method stub

}

index 输出为什么是这样的:
3
1
5
7
9
11
而且不停输出。
STRUTS2?FILTER

------解决方案--------------------
肯定会是这样啊,多线程访问过来的,处理请求也是多线程的。你想要啥效果?顺序输出吗?那得加锁了,但是你这系统响应效率就降下来了。
------解决方案--------------------
引用:
Quote: 引用:

哪个是index哪个是userid~~~

userid不用看的 那是放在session里面的用户信息,我就是不懂,为什么会不停拦截。


那。。我想问问你web.xml的配置是怎么写的? 是*吗 如果是这样的话你每过一个文件都会过滤的html jsp css jpg等等等等!!