请问dwr在界面刷新时为什么会同时创建两个ScriptSession?

天小落落 发布于 2015/10/19 10:34
阅读 403
收藏 0

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

public void init() {
Container container = ServerContextFactory.get().getContainer();
ScriptSessionManager manager = container
.getBean(ScriptSessionManager.class);
ScriptSessionListener listener = new ScriptSessionListener() {
public void sessionCreated(ScriptSessionEvent ev) {
HttpSession session = WebContextFactory.get().getSession();
User user=(User) session.getAttribute("sysUser");
if(user!=null){
String userId = user.getLoginName();
ScriptSession scriptSession = ev.getSession();
scriptSession.setAttribute("userId", userId);

System.err.println("创建---"+scriptSession.getId()+"------- put userId into scriptSession as "
+ userId);
}
}


public void sessionDestroyed(ScriptSessionEvent ev) {
System.out.println("销毁-----"+ev.getSession().getId());
}
};
manager.addScriptSessionListener(listener);
}

JSP:

//这个方法用来启动该页面的ReverseAjax功能

           dwr.engine.setActiveReverseAjax( true);
           //设置在页面关闭时,通知服务端销毁会话
           dwr.engine.setNotifyServerOnPageUnload(true);
          /*  var userId = "receiverTag";    //自定义一个标签
           messagePush.onPageLoad(userId); */
           //这个函数是提供给后台推送的时候 调用的
           function show(content){ 

加载中
返回顶部
顶部