小女巫 发表于 2015-1-18 11:32:46

JAVA网站制作之jsp 下完成避免反复在线,统计在耳目数的...

C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,js|统计|在线|在耳目数|反复避免反复在线,统计在耳目数一般由三种举措:1.经由过程数据库的纪录2.利用ServletContext范例的application
3.接纳session.
第一种做法较复杂但会给数据库形成包袱.第二种做法还没往完成.:)
本文完成了接纳session的做法,基础头脑就是一般上岸的时分创建一个session纪录上岸名字,此时引发监听器。
代码以下:
1。上岸时假定上岸名loginINFO,创建session纪录上岸名字。
if(rs_login.next()){
Login_servlet.logger.info("上岸考证乐成");//log4j
OnLineUserOLU=newOnLineUser();//
if(!OLU.existUser(loginINFO)){
Login_servlet.logger.info("反复上岸");
  return;

}else{
session.setMaxInactiveInterval(3000);//session的性命周期
session.setAttribute(loginINFO,OLU);


}
2.监听器代码:OnLineUser
/*
*创立日期2005-5-12
*
*目标:
*
*/
packagecn.wst.common.onLine;
importjavax.servlet.http.HttpSessionBindingEvent;
importjavax.servlet.http.HttpSessionBindingListener;

importorg.apache.log4j.Logger;

importjava.util.*;
/**
*@authorwangshangting
*
*目标:
*用于统计在耳目数,避免一致帐号上岸,加入作废账号
*/
publicclassOnLineUserimplementsHttpSessionBindingListener{
//privatestaticOnLineUserinstance=null;
//synchronizedpublicstaticOnLineUsergetInstance()//singleton形式,确保只要一个OnLineUser实例
//{
//if(instance==null)
//{
//instance=newOnLineUser();
//}
//returninstance;
//}


staticLoggerlogger=Logger.getLogger(OnLineUser.class.getName());
publicOnLineUser(){
}
privatestaticVectorusers=newVector();//静态变量!!!!!!!!!!!!
privateinti=1;
publicintgetCount(){

users.trimToSize();

returnusers.capacity();
}
publicbooleanexistUser(StringuserName){
users.trimToSize();
booleanexistUser=true;
for(inti=0;i<users.capacity();i++)
{
if(userName.equals((String)users.get(i)))
{
existUser=false;
OnLineUser.logger.info(users.get(i));
OnLineUser.logger.info("反复");
break;
}
}
returnexistUser;
}

publicbooleandeleteUser(StringuserName){
OnLineUser.logger.info("移除入手下手!!");
users.trimToSize();

if(!existUser(userName)){
intcurrUserIndex=-1;
for(inti=0;i<users.capacity();i++){
if(userName.equals((String)users.get(i))){
//OnLineUser.logger.info("找到");
currUserIndex=i;
break;
}
}
if(currUserIndex!=-1){
OnLineUser.logger.info("移除:"+currUserIndex);
users.remove(currUserIndex);
users.trimToSize();
returntrue;
}

}
returnfalse;
}
publicVectorgetOnLineUser()
{
returnusers;
}

publicvoidvalueBound(HttpSessionBindingEvente){
users.trimToSize();

users.add(e.getName());

OnLineUser.logger.info(e.getName()+"        登进到体系        "+(newDate()));
OnLineUser.logger.info("第"+i+"进进");
i++;

for(inti=0;i<users.size();i++){
OnLineUser.logger.info(""+i+":"+users.get(i));
}

System.out.println("在线用户数为:"+getCount());

}



/**
*
*/
publicvoidvalueUnbound(HttpSessionBindingEvente){
users.trimToSize();
StringuserName=e.getName();
deleteUser(userName);
OnLineUser.logger.info(userName+"        加入体系        "+(newDate()));
OnLineUser.logger.info("在线用户数为:"+getCount());
}
}

3.要记得在web.xml的一切servlet之宿世命OnLineUser,
<listener>
<listener-class>cn.wst.common.onLine.OnLineUser</listener-class>
</listener


首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。

第二个灵魂 发表于 2015-1-21 09:53:17

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

莫相离 发表于 2015-2-6 13:10:58

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

冷月葬花魂 发表于 2015-2-6 16:36:22

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

老尸 发表于 2015-2-17 07:54:23

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

灵魂腐蚀 发表于 2015-3-2 01:35:46

是一种将安全性(Security)列为第一优先考虑的语言

飘灵儿 发表于 2015-3-6 07:42:27

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

只想知道 发表于 2015-3-11 00:27:19

Java 编程语言的风格十分接近C、C++语言。

若相依 发表于 2015-3-11 04:06:29

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

深爱那片海 发表于 2015-3-11 19:18:22

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

再现理想 发表于 2015-3-15 21:31:40

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

蒙在股里 发表于 2015-3-16 04:32:00

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

谁可相欹 发表于 2015-3-17 16:09:24

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

仓酷云 发表于 2015-3-20 09:48:50

是一种使用者不需花费很多时间学习的语言

小女巫 发表于 2015-3-24 13:43:24

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

柔情似水 发表于 2015-3-24 21:52:14

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

爱飞 发表于 2015-3-25 13:53:22

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

山那边是海 发表于 2015-4-3 03:56:37

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

分手快乐 发表于 2015-4-6 03:06:35

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
页: [1]
查看完整版本: JAVA网站制作之jsp 下完成避免反复在线,统计在耳目数的...