swfupload有时在谷歌或火狐内核丢失session,有拦截器验证登录时会报302错误。
解决思路是在前台获取jsessionid,上传时一并传入后台,在拦截器通过请求的jsessionid获取session,再进行登录验证。
1.前端通过<input type="hidden" id="ssid" value="<%=request.getSession().getId()%>"/>获取jsessionid,在post_params: {"jsessionid":document.all("ssid").value}传入参数。
2.后台通过sessionid获取session,使用session监听器配合一个静态的hashmap即可实现。
首先,创建自己的sessionContext

public class MySessionContext {  private static MySessionContext instance;  private HashMap<String,HttpSession> sessionMap;  private MySessionContext() {  sessionMap = new HashMap<String,HttpSession>();  }  public static MySessionContext getInstance() {  if (instance == null) {  instance = new MySessionContext();  }  return instance;  }  public synchronized void addSession(HttpSession session) {  if (session != null) {  sessionMap.put(session.getId(), session);  }  }  public synchronized void delSession(HttpSession session) {  if (session != null) {  sessionMap.remove(session.getId());  }  }  public synchronized HttpSession getSession(String sessionID) {  if (sessionID == null) {  return null;  }  return sessionMap.get(sessionID);  }  }  

然后建立session监听,要实现HttpSessionListener接口

public class SessionListener implements HttpSessionListener {  private MySessionContext myc = MySessionContext.getInstance();  public void sessionCreated(HttpSessionEvent httpSessionEvent) {  HttpSession session = httpSessionEvent.getSession();  myc.addSession(session);  }  public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {  HttpSession session = httpSessionEvent.getSession();  myc.delSession(session);  }
} 

接着,在web.xml中配置session监听器

<listener>  <listener-class>SessionListener</listener-class>
</listener>

完事,大功告成,之后在代码中直接获取就OK了

MySessionContext myc= MySessionContext.getInstance();
HttpSession sess = myc.getSession(sessionId);  

3.在拦截器中使用session判断登录状态就ok了

swfupload在xp系统上360极速模式报302错误解决方法相关推荐

  1. 如何在配置低的老旧笔记本的win7系统上安装tensorflow及报错信息解决方法集锦

    这该死的TensorFlow,前前后后折腾了我两周才把它装好.大家不要笑话我,我确实是个小白,还是一个学土木工程的小白,并不是计算机.数学.统计学专业之类的的出生,我只想自学一下机器学习,了解一下人工 ...

  2. xp计算机时间与网络时间不一致,XP系统时间总是不准确的原因及解决方法

    电脑安装上雨林木风XP系统后,时间都是调解好的,都是准确的.但是一些用户遇到每次开机时间都不对的问题,出现这种现象我们可通过逐项排查,先硬后软来解决问题.时间不准确会影响工作效率,为此,本教程小编和大 ...

  3. xp系统查不到共享计算机名,xp系统查找不到网络打印机怎么办?xp系统找不到网络打印机的三种解决方法图文教程...

    网络打印机相对共享打印机而言,实现了更加灵活.高效的打印任务,有时候在使用过程中也会遇到各种问题.这不一位xp纯净版系统用户说找不到网络打印机,导致无法正常添加网络打印机.有什么办法能够解决此问题呢? ...

  4. 微信上传图文素材接口报41005错误解决方法

    微信上传图文素材接口报41005错误解决方法 参考文章: (1)微信上传图文素材接口报41005错误解决方法 (2)https://www.cnblogs.com/gy1010/p/6674529.h ...

  5. 织梦后台上传图集显示302错误解决方法

    织梦后台上传图集显示302错误解决方法 在include/userlogin.class.php文件中的第二行session_start();前加上 if (isset($_POST["PH ...

  6. xp计算机管理打不开了,xp系统下磁盘管理打不开的解决方法

    在xp系统中,自带有磁盘管理工具,可以帮助我们更好的清理磁盘和管理磁盘空间,不过近日有xp系统用户却遇到了磁盘管理打不开的情况,要如何处理呢,本文就给大家带来xp系统下磁盘管理打不开的详细步骤供大家参 ...

  7. php上传图片302错误,解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法...

    最近用ThinkPHP开发一个项目,集成了批量上传文件插件Uploadify,在谷歌Chrome和IE下都能正常上传,只有火狐下提示这个错误,网上找了很多解决办法,基本都说flash在firefox下 ...

  8. 虚拟机VMWare“提示:软件虚拟化与此平台上的长模式不兼容”的解决方法

    虚拟机VMWare"提示:软件虚拟化与此平台上的长模式不兼容" 不少童鞋反映,在使用Windows7 64位操作系统时,无法运行VMWare或MS Virtual server等软 ...

  9. 小米2不能连电脑 XP系统无法安装MTP设备驱动的终极解决方法

    小米2刚到货,用电脑访问SD卡,抓心挠肝的捅咕了2天,终于把我的XP系统驱动了MTP,   @. D2 w) n5 _& M, w2 j9 p; U- ] 悲催的Android,悲催的小米2, ...

最新文章

  1. hibernate一对多
  2. 全局照明算法基础——从辐射亮度到渲染方程
  3. textview加载html glide,TextView加载HTML,文字和图片
  4. Angular深入理解基本组成
  5. Android Studio 字体大小设置
  6. mac80211概览
  7. [转]C# 3.0入门系列(二)
  8. VBA编程_ActiveSheet
  9. php smarty入门,smarty教程专题
  10. iview 省市区 三级联动
  11. 极域课堂管理软件(V2016)遇到的问题——“未找到可用的网络适配器,将以脱机模式启动”
  12. 2021年苹果ASO商店优化技巧
  13. vue常用之“定义全局变量constants”
  14. 酒水知识(六大基酒之金酒_Gin)
  15. 最新注册谷歌账号遇到此号码无法验证的解决办法_看我如何成功注册gmail
  16. 详解C# 枚举高级用法之Description
  17. Web全栈~10.流程控制
  18. 红外发光二极管的接收方式
  19. 眼界决定境界,你也可以
  20. 遗传算法求函数最小值(多维)1

热门文章

  1. 简谈swagger的注解说明
  2. 创业必读网站和工具集合
  3. 『WX运动』想上封面?就你那点步数怎么能行?点进来!老铁,借一步说话
  4. UVA 291 The House Of Santa Claus(DFS/深搜)
  5. android群英传 百度,热血群英传百度版
  6. java expires_Expires和max-age的区别
  7. matlab中quat2angle,cord2quat.m
  8. 酒店小程序功能如何开发?
  9. 看懂 Serverless,这一篇就够了
  10. 高性能网络通信框架--Mercury