`
jxdiamond
  • 浏览: 100473 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Uploadify获取Session

    博客分类:
  • java
 
阅读更多
前台通过uploadify上传文件,原本在action中获取session中的用户信息,但是发现为空,而通过sessionid获取session的方法HttpSessionContext.getSession(java.lang.String sessionId)又被废弃,所以通过实现HttpSessionListener的sessionCreated和sessionDestroyed来解决问题。步骤如下:
1、建立自己的SessionContext
public class MySessionContext {
	private static MySessionContext instance;
	private HashMap mymap;

	private MySessionContext() {
		mymap = new HashMap();
	}

	public static MySessionContext getInstance() {
		if (instance == null) {
			instance = new MySessionContext();
		}
		return instance;
	}

	public synchronized void AddSession(HttpSession session) {
		if (session != null) {
			mymap.put(session.getId(), session);
		}
	}

	public synchronized void delSession(HttpSession session) {
		if (session != null) {
			mymap.remove(session.getId());
		}
	}

	public synchronized HttpSession getSession(String session_id) {
		if (session_id == null)
			return null;
		return (HttpSession) mymap.get(session_id);
	}

}

2、新增一个Session监听类
public class SessionListener implements HttpSessionListener {
	public static Map userMap = new HashMap();  
	private   MySessionContext myc=MySessionContext.getInstance();  

	public void sessionCreated(HttpSessionEvent httpSessionEvent) {
		// TODO Auto-generated method stub
		myc.AddSession(httpSessionEvent.getSession()); 
	}

	public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
		// TODO Auto-generated method stub
		HttpSession session = httpSessionEvent.getSession();  
		myc.delSession(session);

	}

}

3、在Web.xml中配置监听
<listener>
		<listener-class>
			com.render.util.SessionListener
		</listener-class>
</listener>

4、在程序中使用
MySessionContext myc= MySessionContext.getInstance();  
HttpSession session = myc.getSession(sessionId);
获取session
分享到:
评论
4 楼 qq280948982 2013-08-07  
其实不用这么麻烦的,参考这篇文章就可解决丢失session的问题:
http://blog.csdn.net/huangshaotian/article/details/9815721
3 楼 hui0377 2013-04-23  
这样session 就不会过期了??
2 楼 jxdiamond 2013-01-24  
使用uploadify插件时,可以通过前台脚本'formData'属性将当前sessionId传递过来
1 楼 mzh_2008beijing 2013-01-08  
楼主,第4步、在程序中使用:
MySessionContext myc= MySessionContext.getInstance();  
HttpSession session = myc.getSession(sessionId);

这里的sessionId实际值是?从哪来?请教。

相关推荐

    uploadify3与struts2结合实现有进度条文件上传实例

    1 判断session是否失效 本实例没测试这个问题 但在工作项目中碰到了 但原因在这里记录下:web应用会存在一个session 而uploadify上传时也会产生一个新的session 导致在后台判断session是否失效时获取的session为null...

    Asp.net在ashx文件中处理Session问题解决方法

    Asp.net在ashx文件中处理Session问题解决方法,需要的朋友可以参考一下

    Uploadify上传文件方法

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度...好多人都说,在chrome、Firefox上使用uploadify的时候获取不到session导致上传出错。需要手工将session id方法附加参数中。但是我这里并没有这么做,

    jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法

    前段时间介绍过jquery uploadify上传插件的使用方法,我在使用中遇到过Http Error 302...没有提交cookie自然就不能获取到session,然后uploadify就返回了302(请求被重定向)的错误。 解决办法当然是把session_id的值

    解决jQuery上传插件Uploadify出现Http Error 302错误的方法

    之前介绍过jquery uploadify上传插件的使用方法,我在使用中遇到过Http Error 302...没有提交cookie自然就不能获取到session,然后uploadify就返回了302(请求被重定向)的错误。 解决办法: 把session_id的值传到服务端

    java版 jquery uploadify 通过Flash实现多文件上传 IE 和FireFox 兼容

    这需要在url里将sessionId以参数形式传递,如http://localhost:8080/aaa/bbb.jsp?sessionId=975FCCA6FD6058E92DDE932962A44252?para=1,在服务器端用request.getParameter("sessionId")获取 本实例是完成的myclipse...

    J2EE spring mvc mybatis bootstrap HTML5 后台框架 控制台 mysql版本_spring3.0

    【源码】mysql版本_spring3.0 系统模块 1....服务器内部GET POST 请求 25.uploadify 上传插件,单条、批量上传,带进度条,异步,图片、视频, 其它文件格式均可上传 26.地图选点获取经纬度坐标,根据俩经纬度计算距离

    J2EE spring mvc mybatis bootstrap HTML5 后台框架 控制台 oracle版本_spring3.0

    【源码】oracle版本_spring3.0 系统模块 1....服务器内部GET POST 请求 25.uploadify 上传插件,单条、批量上传,带进度条,异步,图片、视频, 其它文件格式均可上传 26.地图选点获取经纬度坐标,根据俩经纬度计算距离

    UWA 2.X 通用建站系统 v2.1.0

    [修正]修复firefox等浏览器uploadify上传SESSION_ID丢失 [修正]修复模板缓存目录错误 [更改]附加表字段为空时:不更新附加表数据 [增强]前台档案列表可显示附加表字段 [增强]优化管理角色和会员等级编辑界面 [更改]...

    ssm框架酒吧系统完整导入可运行带sql

    首先,它会弹出一个dialog弹框,里面有一个文本框,里面填写的是寄存单号,可以根据寄存单号进行调价查询,之后,通过将查到的数据存放到session中,然后又会弹出一个dialog弹框 里面回显的寄存产品的信息,其中 他...

    python实现上传下载文件功能

    django web项目,前端上传控件用的是uploadify。 文件上传 – 后台view 的 Python代码如下: @csrf_exempt @require_http_methods([POST]) def uploadFiles(request): try: user = request.session.get('user') ...

Global site tag (gtag.js) - Google Analytics