zoukankan      html  css  js  c++  java
  • Struts2 框架下 session 读出来为null

    我用的strust2框架,开始的时候这么写的:

    在 登陆函数中(注释部分):

    public String dealerLogin(){
            EntityInfo entityinfo=dealerservice.dealerLogin(super.account,super.password);
               if(entityinfo!=null){
    /*             ActionContext ac = ActionContext.getContext();我开始用的这种方式写入到session中
                   ac.getSession().put(KeyConstant.MANAGER,entityinfo); */
                   ServletActionContext.getRequest().getSession().setAttribute(KeyConstant.MANAGER,entityinfo);
                   return "dealertlogin";
               }
               else{
                   return "false";
               }
        }

    用的时候的函数:

    public String addAllMachCode(){
            String[] machinearrs=machinearr.split(";");
            int dealerId=0;
    /*        HttpServletRequest request=ServletActionContext.getRequest();
            HttpSession session=request.getSession();
            EntityInfo entityinfo=(EntityInfo) session.getAttribute(KeyConstant.MANAGER);*/这里读出来  entityinfo是null
            EntityInfo entityinfo= (EntityInfo) ActionContext.getContext().getSession().get(KeyConstant.MANAGER);
            Dealer dealer= entityinfo.getDealer();
            dealerId=dealer.getDEALER_ID();
            for (String machinecode :machinearrs) {
                
                addAMachCode(machinecode,dealerId);
            }
            return SUCCESS;
        }

    这到底是为什么了:
    提取出来 第一种: 写入 ActionContext ac = ActionContext.getContext();
                   ac.getSession().put(KeyConstant.MANAGER,entityinfo)
              读取: HttpServletRequest request=ServletActionContext.getRequest();
                   HttpSession session=request.getSession();
                  EntityInfo entityinfo=(EntityInfo) session.getAttribute(KeyConstant.MANAGER);
          第二种:写入   ServletActionContext.getRequest().getSession().setAttribute(KeyConstant.MANAGER,entityinfo);
              读取: EntityInfo entityinfo= (EntityInfo) ActionContext.getContext().getSession().get(KeyConstant.MANAGER);
    有没有人解释下 为什么  
  • 相关阅读:
    JAVA动态代理
    图解 Tomcat 体系结构
    AdvancedDataGrid的使用
    You have an error in your SQL syntax; check the manual that corresponds...错误解决方案
    更新整站索引时失败,错误原因: [Incorrect integer value: `` for column `uptime` at row 1]
    dedecms转换v9 卡住的解决办法
    IIS 涉及到500和403或者404友好错误的设置!
    PHP Warning: date(): It is not safe to rely on the system's timezone settings
    不能读取记录;在 'MSysObjects' 上没有读取数据权限
    PHP5.3.5如何连接MSSql Server2005
  • 原文地址:https://www.cnblogs.com/softwarewebdesign/p/5574955.html
Copyright © 2011-2022 走看看