过滤器就是按照j2ee的filter来搞. 去看看web的Filter就知道了. 

解决方案 »

  1.   

    过滤用filter就可以了,不必非和struts发生联系。
      

  2.   

    写基类,每个action类从它继承。
      

  3.   

    如果你用struts框架,想用这个来实现系统权限.那么建议你使用action基类.继承dispacheraction. struts框架种的action 有个默认的方法,如果又访问过来就回执行那个方法,你可以重写那个方法.然后里面加入你的权限判断.最后利用一下java反射机制来实现权限判断通过后来访问你的业务action方法.不一定非要用过滤器.过滤器的作用不在于此.
      

  4.   

    还是有点小复杂的。//这只是核心代码  //判断用户是否已经登录-----权限认证, 
    // 用户是否已登录
    if(baseUserContext==null){
    errorMessage = "您还没有登录!";
    request.setAttribute("EXCEPTION",new MyException(errorMessage));
    return mapping.findForward("fail");
    }

    //获取用户操作该功能的功能码(此处把Action的path别名作为功能码)
    String path = mapping.getPath();
    path = path.substring(1);




    //用户是否有操作该功能的权限
    if(!baseUserContext.allow(path)){
    errorMessage = "对不起,您没有操作该功能的权限,请与管理员联系!";
    request.setAttribute("EXCEPTION",new MyException(errorMessage));
    return mapping.findForward("fail");
    }