现在的位置: 首页 > 综合 > 正文

android 服务器session解决方案

2018年05月24日 ⁄ 综合 ⁄ 共 986字 ⁄ 字号 评论关闭

  1 很清楚的明白session的原理

  2 java selvert 根据sessionId获取session的方法被干掉了(出于安全考虑),php还是可以的

     关键在客户端保存表示唯一session的 session id  这个id 浏览器存在cookie 中,java 界 key=JSESSIONID

  3 看 selvert 相关源码,selvert 会在cookie中获取JSEESONID 再返回Session    默认没有是新创建一个session

      

      简单方案:android客户端保存JSESSIONID 每次http请求cookie中带上JSESSIONID

      

       基于 android  query 的例子

      

public class CookieAjaxCallback<T> extends AjaxCallback<T>{
         public CookieAjaxCallback(){
         
        	 this.cookie(MResource.JsonResult.Key.JSESSIONID,‘保存的JSESSIONID’);
         }
         
}

public class MResource {
  public static final class JsonResult{
    public static final class Key{
      public static final String Code="code";
      public static final String Msg="msg";
      public static final String JSESSIONID="JSESSIONID";
    }
    public static final class Value{
      public static final int Code_Error=-1;
      public static final int Code_OK=0;
    }
  }
  
}

<pre name="code" class="java"><pre name="code" class="java"> aq.progress(dialog).ajax(“url”,params,JSONObject.class,new CookieAjaxCallback<JSONObject>()


session 列表都是由容器维护,如jetty 等

2  复杂点的方式   

    可以自己实现接管jetty的session 

    还有些通过 redis 数据库 等方式维护session列表

    

     

抱歉!评论已关闭.