易截截图软件、单文件、免安装、纯绿色、仅160KB

JSP中基于Session的在线用户统计分析

JSP作为后起之秀能够在服务器编程环境中占据一定地位,是和它良好支持一系列业界标准密切相关的。Session就是它提供的基础设施之一。作为一个程序员,你可以不介意具体在客户端是如何实现,就方便的实现简单的基于session的用户管理。现在对于处理在线用户,有几种不同的处理方法。
  一种是页面刷新由用户控制,服务器端控制一个超时时间比如30分钟,到了时间之后用户没有动作就被踢出。这种方法的优点是,如果用户忘了退出,可以防止别人恶意操作。缺点是,如果你在做一件很耗时间的事情,超过了这个时间限制,submit的时候可能要再次面临登陆。如果原来的页面又是强制失效的话,就有可能丢失你做的工作。在实现的角度来看,这是最简单的,Server端默认实现的就是这样的模式。
  另一种方式是,站点采用框架结构,有一个Frame或者隐藏的iframe在不断刷新,这样你永远不会被踢出,但是服务器端为了判断你是否在线,需要定一个发呆时间,如果超过这个发呆时间你除了这个自动刷新的叶面外没有刷新其他叶面的话,就认为你已经不在线了。采取这种方式的典型是xici.net。 他的优点是可以可以利用不断的刷新实现一些类似server-push的功能,比如网友之间发送消息。
  不管哪一种模式,为了实现浏览当前所有的在线用户,还需要做一些额外的工作。servlet API中没有得到Session列表的API。
  可以利用的是Listener. Servlet 2.2和2.3规范在这里略微有一些不一样。2.2中HttpSessionBindingListener可以实现当一个HTTPSession中的Attribute变化的时候通知你的类。而2.3中还引入了HttpSessionAttributeListener.鉴于我使用的环境是Visual age for java 4和JRun server 3.1,他们还不直接支持Servlet 2.3的编程,这里我用的是HttpSessionBindingListener。
  需要做的事情包括做一个新的类来实现HttpSessionBindingListener接口。这个接口有两个方法:
  public void valueBound(HttpSessionBindingEvent event)public void valueUnbound(HttpSessionBindingEvent event)
  当你执行Session.addAttribute(String,Object)的时候,如果你已经把一个实现了HttpSessionBindingListener接口的类加入为Attribute,Session会通知你的类,调用你的valueBound方法。相反,Session.removeAttribute方法对应的是valueUndound方法。
  public class HttpSessionBinding implements javax.servlet.http.HttpSessionBindingListener { ServletContext


相关文档:

jsp学习笔记4

JSP自定义标签(tag)
什么是自定义标签
1,用户自定义的Java语言元素, 实质是运行一个或者两个接口的JavaBean;
2,可以非常机密地和JSP的表示逻辑联系在一起,又具有和普通JavaBean相同的业务逻辑处理能力;
3,当一个JSP页面转变为servlet时,其间的用户自定义标签转化为操作一个称为标签hander的对象;
4,可操作默认 ......

jsp学习笔记5

JSP2.0中的表达式语言(EL表达式)
EL语法
EL的语法很简单,他最大的特点就是使用上很方便
例:
${sessionScope.user.sex}
所有EL都是以 ${ 为起始、以} 为结尾的。
上述EL范例的意思是:从Session取得用户的性别。如果使用之前JSP代码的写法如下:
<%
  User user = (User)session.getAttribute("user");
& ......

纯JSP分页代码之Mysql

//运行图:
//连接字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName(driverName).newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
//每页显示记录数
int PageSize ......

jsp生成xml文件示例

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java"%>
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%> ......

JSP源代码大全 倒计时代码生成器

请参照以下的原代码,注意:可以替换JavaScript码中的2007
以下是网页源代码
<!-- 分三步完成全部脚本:
1. 将第一部分粘贴到HTML的HEAD区
2. 将OnLoad事件加入BODY标签内
3. 将最后一部分代码加入BODY区 -->
<!-- 第一步: 将如下代码粘贴到HTML的HEAD区-->
<HEAD>
<SCRIPT LANGUAGE="JavaScri ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号