`
jxdiamond
  • 浏览: 104481 次
  • 性别: 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实际值是?从哪来?请教。

相关推荐

    uploadify修改版

    4. **程序说明.txt**:这是另一个可能包含组件详细信息或使用指南的文本文件,用户可以查阅以获取更多信息。 5. **css**:这个文件夹很可能包含了用于定制Uploadify外观的CSS样式文件,用户可以根据自己的需求调整...

    解决uploadify用法时session发生丢失问题的方法_.docx

    在使用Uploadify插件进行文件上传时,可能会遇到一个常见的问题,即Session丢失。Uploadify是一个基于Flash的文件上传组件,它允许用户批量上传文件,但在处理过程中可能会与服务器端的Session管理机制产生冲突,...

    解决uploadify使用时session发生丢失问题的方法

    这样做可以确保即使在上传过程中,***应用也能重新获得有效的session信息。 需要注意的是,上述代码片段中的一些函数(如`UpdateCookie`)和变量(如`ASPSESSID`和`AUTHID`)需要自行实现和定义,以适应你的应用...

    uploadify在Firefox下丢失session问题的解决方法

    例如,可以在上传接口前先检查请求头,如果没有session ID,则尝试从其他地方(如请求体或特定的参数)获取它。 3. **设置Ajax请求携带cookie**:对于某些库或框架,可能有配置选项让Ajax请求自动携带所有的cookies...

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

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

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

    问题的根源可能在于服务器端设置了Session验证,而Flash在执行POST请求时不包含cookie信息,这样就无法正确获取session,从而导致了302错误。当Web服务器需要session信息来验证用户会话时,如果客户端没有提供有效的...

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

    具体做法是在页面加载完成后执行的JavaScript函数中设置Uploadify插件的配置,并通过PHP的session_id()函数获取当前会话ID,然后将其作为'formData'的一个元素传给Uploadify的配置。当触发文件上传操作时,会话ID将...

    Uploadify上传文件方法

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

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

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

    解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法

    这里的`'{:session_name()}': '{:session_id()}'`就是用来添加Session ID到formData中,其中`session_name()`和`session_id()`是ThinkPHP中用于获取Session名称和ID的方法。 在服务器端,我们需要在ThinkPHP的控制...

    Excel导入文档

    jsessionid=" + $("#hid_sessionid").val(), "fileObjName": "uploadify", "auto": true, "queueSizeLimit": 1, "fileTypeExts": "*.xls;*.xlsx;*.xlsm", "fileSizeLimit": 10 * 1024, "formData": { ...

    WebServices 模式实现uploadifive

    - **注意事项**:上述代码片段中,需要注意的是 `context.Request["type"]` 的获取方式,以及如何正确地定义文件的保存路径等细节。 综上所述,通过使用 `uploadifive` 控件,可以实现一个既高效又兼容性强的文件...

    jquery问题记录总结

    使用Uploadify进行文件上传时,可能会遇到session丢失的问题,尤其是在服务器端有过滤器(filter)的情况下。解决策略是通过判断URL来绕过filter,或者在请求中传递用户标识,然后从数据库中获取用户信息。这样可以...

    struts+hibernate实现文件上传、下载,以二进制存于数据库

    对于**下载**,后台需要提供一个Action,查询数据库获取对应文件的二进制数据,然后设置响应头,包括Content-Type(根据文件类型设定,如image/jpeg、application/pdf等)和Content-Disposition(通常设置为...

    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.地图选点获取经纬度坐标,根据俩经纬度计算距离

Global site tag (gtag.js) - Google Analytics