thify 2009-07-27 15:08
浏览 458
已采纳

spring2.0 aop 页面跳转问题

struts1.2+spring2.0+hibernate
我用aop来验证权限,完了之后要怎么跳到一个页面 呢?


package net.ch.aop;
import org.aspectj.lang.JoinPoint;

/**

  • 权限验证类
  • @author Administrator
    *
    /
    public class SecurityBiz{
    /
    **

    • 权限处理方法
    • @param point
    • @throws Exception
      */
      public void before(JoinPoint point) throws Exception
      {

      System.err.println("您正在执行:"+point.getTarget().getClass().getName()+" 的:"+point.getSignature().getName()+"方法!");
      System.out.println("验证权限中....");
      System.out.println("pass");
      //throw new net.ch.aop.exception.SecurityException("e");
      }

}


我试过用struts配置文件来捕捉异常跳转但是也不行,请大家帮_帮_忙,急啊,先谢过了。
问题补充:
首先感谢的zxowl的回答,但是我就是不想到过滤器里验证啊,通过AOP我就可以指定哪些类和方法。
我试过用ThreadLocal 加filter但是好象出了点问题,明天我抱空异常,赶明儿我再试试。

  • 写回答

1条回答 默认 最新

  • Tzhu1987 2009-07-27 15:54
    关注

    验证权限 你应该放到过滤中去做
    /**

    • 过滤用户
    • 过滤页面 */ public class UserRoleFiler extends HttpServlet implements Filter { private FilterConfig filterConfig; Logger logbusiness=Logger.getLogger("business");//登录 HttpSession sess=((HttpServletRequest)request).getSession(); HttpServletRequest req=(HttpServletRequest)request; SysUser user= (SysUser) sess.getAttribute("USER");

    ....处理....
    //返回信息页
    req.getRequestDispatcher("/index.jsp").forward(request, response);
    }

    aop应用:

    public class ExceptionAdvice implements ThrowsAdvice {
    Logger logerror=Logger.getLogger("logError");// 错误日志
    public void afterThrowing(Method method, Object[] args, Object target,
    Throwable subclass) throws ParseException {
    SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    logerror.error("---begin-----------------------------------------------------------");
    logerror.error("[异常日志]\n 时间:" + sim.format(new Date())
    + " 业务类:" + target.getClass().getName() + "\n业务方法:"
    + method.getName() + "\n 参数:" + printArray(args)
    + "\n 异常信息:" + subclass.getMessage() + "\n 堆栈信息:"
    + subclass.getStackTrace());
    logerror.info("---end-------------------------------------------------------------");
    logerror.error("");

    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算