知识大全 关于JSP中基于Session的在线用户统计分析[2]
Posted 统计分析
篇首语:苟利国家生死以,岂因祸福避趋之。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于JSP中基于Session的在线用户统计分析[2]相关的知识,希望对你有一定的参考价值。
关于JSP中基于Session的在线用户统计分析[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
假设其中的JDBCUser类是一个任意User类 在执行用户登录时 把User类和HttpSessionBinding类都加入到Session中去
这样 每次用户登录后 在application中的attribute activeSessions 这个vector中都会增加一条记录 每当session超时 valueUnbound被触发 在这个vector中删去将要被超时的session
public void login() throws ACLException SQLException IOException /* get JDBC User Class */ if (user != null) logout(); // if session time out or user didn t login save the target url temporary JDBCUserFactory uf = new JDBCUserFactory(); if ( (this request getParameter( userID )==null) || (this request getParameter( password )==null) ) throw new ACLException( Please input a valid userName and password ); JDBCUser user = (JDBCUser) uf UserLogin( this request getParameter( userID ) this request getParameter( password ) ); user touchLoginTime(); this session setAttribute( user user); this session setAttribute( BindingNotify new HttpSessionBinding(application));
Login的时候 把User和这个BindingNotofy目的的类都加入到session中去 logout的时候 就要主动在activeSessions这个vector中删去这个session
public void logout() throws SQLException ACLException if (this user == null && this session getAttribute( user )==null) return; Vector activeSessions = (Vector) this application getAttribute( activeSessions ); if (activeSessions != null) activeSessions remove(this session); application setAttribute( activeSessions activeSessions); java util Enumeration e = this session getAttributeNames(); while (e hasMoreElements()) String s = (String)e nextElement(); this session removeAttribute(s); this user touchLogoutTime(); this user = null;
这两个函数位于一个HttpSessionManager类中 这个类引用了jsp里面的application全局对象 这个类的其他代码和本文无关且相当长 我就不贴出来了
下面来看看JSP里面怎么用
假设一个登录用的表单被提交到doLogin jsp 表单中包含UserName和password域 节选部分片段
<% HttpSessionManager hsm = new HttpSessionManager(application request response); try hsm login(); catch ( UserNotFoundException e) response sendRedirect( InsufficientPrivilege jsp?detail=User% does% not% exist ); return; catch ( InvalidPasswordException e ) response sendRedirect( InsufficientPrivilege jsp?detail=Invalid% Password ); return; catch ( Exception e ) %> Error:<%=e toString() %><br> Press <a href= login jsp >Here</a> to relogin <% return; response sendRedirect( index jsp ); %>
cha138/Article/program/Java/JSP/201311/20685相关参考
知识大全 关于JSP中基于Session的在线用户统计分析[3]
关于JSP中基于Session的在线用户统计分析[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
asp教程简单在线用户统计代码这代码是用了aspapliction与session实例的哦<scriptlanguage="vbscript"runat="server">subApp
ASP.NET中在线用户统计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 统计在线用户的作用不
知识大全 php中如何同时使用session和cookie来保存用户登录信息
本篇文章是对在php中同时使用session和cookie来保存用户登录信息的实现代码进行了详细的分析介绍需要的朋友参考下 同时使用session和cookie来保存用户登录信息数据库连
首先写个类: importjavaxservlet*; importjavaxservlet*; publicclassSessionCounterimplementsHttpSession
JSP页面中Session对象详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Session
cha138/Article/program/Java/Javascript/201311/25508
最普通的方法是用SESSION但缺点是无法即时反应在线情况(有超时时间)和占用服务器资源(如果有人在线就有个SESSION想想看)上次(好象间隔很久了耶)介绍了一种采用APPLICATION+COOK
防止重复在线统计在线人数通常由三种办法:通过数据库的记录使用ServletContext类型的application采用session第一种做法较简单但会给数据库造成负担第二种做法还没去实现:)本