
首先给你讲一下,我的理解,人数统计好说,因为,可已设置监听器,让其在服务器启动的时候进行监听,然后统计登录人数,但是统计在线人数,就麻烦点了,因为大多数人都不愿意点击注销按钮,直接关闭浏览器,这样session的关闭就麻烦了点,我先给出统计人数的代码,我想统计在线人数可以定时调用程序来统计,但是不是实时的,所以最大的障碍就是怎么在关闭浏览器的时候,就关闭session
import javaioFileNotFoundException;
import javaioFileReader;
import javaioFileWriter;
import javaioIOException;
import javaioPrintWriter;
import javautilScanner;
import javaxservletServletContext;
import javaxservletServletContextEvent;
import javaxservletServletContextListener;
public class ApplicationListener implements ServletContextListener{
public void contextDestroyed(ServletContextEvent arg0) {
ServletContext sc = arg0getServletContext();
Integer count = (Integer) scgetAttribute("AccessCount");
try {
PrintWriter out = new PrintWriter(new FileWriter("c:/Users/god/counttxt"));// 将人数保存到文本文件
Systemoutprintln("count:"+count);
outprint(count);
outflush();
outclose();
} catch (IOException e) {
eprintStackTrace();
}
}
public void contextInitialized(ServletContextEvent arg0) {
Integer count = 0;
ServletContext sc = arg0getServletContext();
try {
Scanner in = new Scanner(new FileReader("c:/Users/god/counttxt"));// 读取已经产生的人数信息,然后进行累加
count = innextInt();
inclose();
} catch (FileNotFoundException e) {
eprintStackTrace();
}
scsetAttribute("AccessCount", count);
}
}
在webxml文件里面进行设置
<listener>
<listener-class>
文件的位置也就是包名ApplicationListener
</listener-class>
</listener>
统计的时候是设置拦截器,需要在strutsxml中设置
import javaxservletServletContext;
import javaxservlet>
为你的软件写个配置文件,专门记录程序运行的次数,当窗口正式启动的时候,就用上次的记录加1,
每次运行的时候先读取这个配置文件里的次数,然后每次当程序关闭的时候,在把本次运行的次数写到这个配置文件里去!!! 嗯,就是这样!
是统计正在使用exe的在线人数吗?
打开软件给服务器发送通知一下,服务器端记录一下时间等信息,然后服务器端每隔20分钟,剔除不活动的信息,这样就是在线人数了,但是这种适合有点编程基础的还需要数据库知识。
有种偷懒一点的方法,可以利用现成的免费统计,如51,站长,百度统计,方法就是在你的易语言程序里加上一个隐藏的超文本浏览框,然后里面放一个免费的代码,然后打开这些统计网站就可以看见了。
希望能帮到你
public class OnlineUserBindingListener implements >}
获取这里只写嵌入代码页面就不写了
<%
List onlineUserList = (List) applicationgetAttribute("onlineUserList");
%>
建立一个Globalasax文件;
void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
Application["count"]=0;
}
void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码
ApplicationLock();
Application["count"]=(int)Application["count"]+1;
ApplicationUnLock();
}
void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。
// 注意: 只有在 Webconfig 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
//设置为 StateServer 或 SQLServer,则不会引发该事件。
ApplicationLock();
Application["count"]=(int)Application["count"]-1;
ApplicationUnLock();
}
我想你是应该在login页上显示结果,在login页上啦一个lable,id=lblinfer;在login页下代码的page_load中写lblinfertext="当前人数"+Application["count"]Tostring()+"人";
以上就是关于高手请进!!java统计网站的访问量和在线人数的问题,有知道的直接发一个简单的例子我,多谢啦!全部的内容,包括:高手请进!!java统计网站的访问量和在线人数的问题,有知道的直接发一个简单的例子我,多谢啦!、php如何实现分别统计网站的在线人数(如管理员,游客,会员),越详越好!、易语言给软件加上使用次数和当前在线人数的源码 不要 服务器之类的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)