JAVA高手来看一下

public class SessionFilter implements Filter {

public void doFilter(ServletRequest req, ServletResponse resp,
        FilterChain filterchain) throws IOException, ServletException {
          System.out.println("我进来SessionFilterSessionFilter了!!!!!!!!!!!!");
          HttpServletRequest request = (HttpServletRequest) req;
          HttpServletResponse response = (HttpServletResponse) resp;
          HttpSession session = request.getSession();
          ServletContext application = session.getServletContext();
          PriUser  loginuser   =(PriUser)session.getAttribute("UserToken"); 
            if(loginuser   ==   null) { 
                response.sendRedirect("/logoffServlet");//返回登陆
                  return ;
            }else//判断sessionID是不存在LIST,不存在执行session.invalidate(); 
            {
                System.out.println("我进来了!!!!!!!!!!!!");
                List list2 =(List)application.getAttribute(loginuser.getAccount());
                for(int i=0;i<list2.size();i++) {
                String sessionId=(String)list2.get(i);
                    if(!session.getId().equals(sessionId)) {
                        session.invalidate();
                        response.getWriter().print("<script language='javascript'>alert('此用户在另一地点登录');window.location='/logoffServlet';</script>");//返回登陆
                        return;
                    }
                }
            } 
            filterchain.doFilter(req, resp);
            return ;
         }
public void destroy() {

}

public void init(FilterConfig filterConfig) throws ServletException {

}

这是我写的一个类。 请问怎么配置才能使页面中提交Action之前先执行我这个类然后再提交!

正常的过滤器配置就能实现你想要的流程。


名称
类路径

参数名称
参数值



名称
*.do


名称
.

不过这个过滤太多了,你可以根据你的需求尽量明确点。

比如这个/work/*
范围比上面句小多了。