我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

springaopaction中验证用户登录状态的实例代码-创新互联

最近在学习ssh框架时,照着网上做了一个商城系统,之前在一些需要用户存在的操作中,都是在每一个action中写重复的代码,这样做现在想起来并不好,想起了spring的aop,于是想通过aop来给每个需要用户操作的Action验证用户登录状态。

创新互联是一家专注于网站设计制作、成都网站制作与策划设计,乌拉特前网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:乌拉特前等地区。乌拉特前做网站价格咨询:18980820575

想法是这样的:


1. 用户登录时把userId放入session中


2. 通过spring 写一个advice来获取session中的userId,判断用户登录状态,如果userId不符合,则抛出自定义异常


3. 通过struts中配置来捕获异常,跳转界面

以下是代码: 


advice代码:

public class IsUserLoginAdvice{

  public void isUserLogin() throws UserNotFoundException{
    // TODO Auto-generated method stub
    int id=0;
    Map sessionMap=ActionContext.getContext().getSession();
    System.out.println(sessionMap);
    try {
      //这里在一开始时userId是不存在的可能会抛出NullPointException,catch起来
      id=(int) sessionMap.get("userId");
      //在用户注销时我把session中的userId设为0
      if(id==0){
        throw new UserNotFoundException();
      }
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new UserNotFoundException();
    }
  }
}


当前标题:springaopaction中验证用户登录状态的实例代码-创新互联
URL标题:http://mswzjz.cn/article/dhpscc.html

其他资讯