tomcat中的session实现类是StandardSession,
其中Manager 这个接口在StandardSession中有被用到。
1.5jdk中用到了ConcurrentHashMap。
但是flex中本身是没有提供session接口的,那么该如何实现呢?参考别人的文章后总结如下:
1、在web.xml增加
- <filter>
- <filter-name>AMFContextFilter</filter-name>
- <filter-class>soft.flex.context.AMFContextFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>AMFContextFilter</filter-name>
- <servlet-name>MessageBrokerServlet</servlet-name>
- </filter-mapping>
2、增加AMFContextFilter文件
- packagesoft.flex.context;
- importjava.io.IOException;
- importjavax.servlet.Filter;
- importjavax.servlet.FilterChain;
- importjavax.servlet.FilterConfig;
- importjavax.servlet.ServletException;
- importjavax.servlet.ServletRequest;
- importjavax.servlet.ServletResponse;
- importjavax.servlet.http.HttpServletRequest;
- importjavax.servlet.http.HttpServletResponse;
- publicclassAMFContextFilterimplementsFilter{
- publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,
- FilterChainchain)throwsServletException,IOException{
- AMFContext.setCurrentContext((HttpServletRequest)request,
- (HttpServletResponse)response);
- chain.doFilter(request,response);
- }
- publicvoidinit(FilterConfigarg0)throwsServletException{
- }
- publicvoiddestroy(){
- }
- }
3、增加AMFContext文件
4、增加FlexSessionInterceptor文件
- packagesoft.flex.context;
- importjavax.servlet.http.HttpServletRequest;
- importorg.aopalliance.intercept.MethodInterceptor;
- importorg.aopalliance.intercept.MethodInvocation;
- importsoft.common.util.Constants;
- publicclassFlexSessionInterceptorimplementsMethodInterceptor{
- publicObjectinvoke(MethodInvocationinvocation)throwsThrowable{
- AMFContextcontext=AMFContext.getCurrentContext();
- HttpServletRequestrequest=context.getRequest();
- if(request.getSession().getAttribute(Constants.LOGIN_USER_INFO)==null){
- thrownewException("Session超时,请您重新登陆!");
- }
- returninvocation.proceed();
- }
- }
5、在applicationContext.xml增加以下内容
- <beanid="sessionAdvice"class="soft.flex.context.FlexSessionInterceptor"/>
- <beanid="beanNameAutoProxyCreator"
- class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
- <propertyname="beanNames">
- <list>
- <value>formDesignerService</value>
- </list>
- </property>
- <propertyname="interceptorNames">
- <value>sessionAdvice</value>
- </property>
- </bean>
这样子的话,在所有的flex请求中都会先执行FlexSessionInterceptor类中的invoke方法如果要在任何java类中获取sessionr的话,使用AMFContext.getCurrentContext().getSession()即可。
其实就是用ThreadLocal这个jdk1.5中的本地线程类完成的。
分享到:
相关推荐
flex实现的翻书功能的网站漂亮的flex实现swf及源码绝对超值
flex实现 ComboBox中下拉checkbox 经测试好用,还有可移动面板,和可改大小面板实例
动态实现多文件上传,基于flex技术,可以动态监控上传进度。
flex实现的包括时间滚动,图片滚动效果,很好的
用Flex 实现的一个简单的计算器。基本上可以实现加减乘除操作。
flex实现简单浏览器,flex AIR中HTML控件实现了简单的网页浏览效果
flex实现QQ面板效果flex实现QQ面板效果flex实现QQ面板效果flex实现QQ面板效果
S2SH项目结合Flex实现登录S2SH项目结合Flex实现登录S2SH项目结合Flex实现登录S2SH项目结合Flex实现登录S2SH项目结合Flex实现登录S2SH项目结合Flex实现登录S2SH项目结合Flex实现登录S2SH项目结合Flex实现登录S2SH项目...
Flex实现的xmpp消息发送接收,利用xiff插件实现,可以在android、ios等手机运行,也可以直接在ie上运行
flex基础列子,利用flex技术实现计算器功能
flex实现坐标转换 界面化的网页设计,实现转换坐标,简单
[上传下载]Asp.net + Flex实现网络硬盘_flex_up.zip源码ASP.NET网站源码打包下载[上传下载]Asp.net + Flex实现网络硬盘_flex_up.zip源码ASP.NET网站源码打包下载[上传下载]Asp.net + Flex实现网络硬盘_flex_up.zip...
Flex实现Ftp上传功能模块的源码(web应用),实现向FTP上传文件,无需后台语言支持
java spring +flex实现文件上传
一个flex实现的阴影特效,都是代码编写,和特效应用。请关注下载呀
Flex实现带复选框的列表树,实现全选和反选
flex实现图片另存为,不弹出选择窗体,直接保存到默认路径
一个flex写的实现数据表格datagrid的实例。
本文主要介绍和实现怎么使用Flex-java来实现Email的发送。这尤其是在做用户回馈的时候需要用到。当然这实现的只要是一个简单的例子。正在执行发送Email功能还是使用java来实现的,Flex只不过提供了数据的输入和封装...
Flex实现的朝4个方向翻转的效果,可以扩展实现很多特殊展示效果