java web聊天室论文_基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述(样例3)...

基于Java的网页版聊天室实现,包含登录验证、用户信息管理、滚屏功能、敏感词屏蔽和私聊功能。用户注册登录后,通过监听Session实现聊天功能,聊天内容实时保存到XML文件。滚屏效果通过JavaScript控制,长时间不发言的用户会被自动踢出。系统还具备敏感词过滤机制,促进良好聊天环境。
摘要由CSDN通过智能技术生成

《基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc》由会员分享,可免费在线阅读全文,更多与《基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、leanflag=true;标记是否登录的变量判断用户是否登录if(vector!=nullamamvectorsize()gt){for(inti=;ialert('该用户已经登录');windowlocationhref='indexjs';quot);flag=false;eak;}}}保存用户信息if(flag){UserListenerul=newUserListener();创建UserListener的对象ulsetUser(username);添加用户添加用户到UserInfo类的对象中useraddUser(ulgetUser())将UserListener对象绑定到Session中sessionsetAttribute(quotuserquot,ul);保存当前登录的用户名sessionsetAttribute(quotusernameq。

2、示,因此需要将该层的overflow属性设置为hidden即隐藏,关键代码如下:聊天内容添加一个用户控制是否滚屏的复选框,在该复选框的onClick事件上调用一个用于控制是否滚屏的方法checkScorllScreen()[],关键代码如下:编写一个自定义的JavaScrit函数checkSrcollScreen()用于控制是否滚屏,在该方法中,首先判断添加的复选框是否为选中状态,如果不是则表示滚屏,否则将设置聊天内容的标记的scrollTo属性等于它的滚动高度乘以。checkSrcollScreen()函数的关键代码如下:functioncheckScrollScreen()]{if(!formscrollScreenchecked){documentgetElementById(quotcontentquot)styleoverflow='scroll'。

3、述:设计登录聊天室页面,该页面主要用于收集用户输入的登录信息,以及通过自定义的JavaScrit函数验证输入信息是否为空,该页面的表单元素包括输入用户名、密码的文本框和登录提交表单的按钮,关键代码如下:用户名:密码:[]在聊天室的Servlet实现类中,添加登录聊天室的方法loginRoom(),在该方法中,首先获得登录用户,然后判断用户名是否存在、密码是否和用户名搭配、用户是否已登录。如果登录成功,将该用户添加到在线用户列表中,然后向向保存聊天信息的XML文件中添加一条系统公告,最后将页面重定向到登录页面;否则返回到登陆界面,并给出相应的提示信息。关键代码如下:获得登录用户名Stringusername=sutoGBK(requestgetParameter(quotusernamequot));Vectorvector=usergetList();boo。

4、法如下:windowscroll(x,y)其中,参数x表示滚动条水平位置的坐标;参数y表示滚动条垂直位置的坐标。另外将滚动条置底,只要将y的值设置的大一些即可,关键代码如下:[]functionscrollWindow(){thisscroll(,);setInterval(‘scrollWindow()’,);scrollWindow();}[]这样每隔毫秒执行一次该函数,就可以让滚动条永远置底了。对指定页面元素中的内容进行滚动对指定页面元素中的内容进行滚动可以通过scrollTo属性实现。scrollTo属性表示当前对象的顶点距离其最外层对象元素的距离。代码如下:objectscrollTo=distance;聊天室的内容显示区中滚屏效果就是使用该属性来定位最新聊天内容的。在页面的合适位置添加一个标记用于显示聊天内容。由于在现实聊天信息时默认情况下是滚屏。

5、ergetUsername()equals(username)){requestgetSession()setAttribute(quoterrorquot,quot该用户名已存在!quot);resonsesendRedirect(quotregisterjsquot);return;}}Useruser=newUser(username,assword,sex,age);StringuserLine=usertoString();usadd(user);thissaveUser(userLine);编写注册成功页面regist_okjs,在该文件中将页面重定向到聊天室的主界面。注册成功的关键代码如下:用户登录当用户单击“登录”按钮后,系统将判断用户名是否存在,密码是否和用户名搭配,用户是否已登录,如果都能验证通过才允许用户登录成功。下面是登录界面和详细描。

6、;}else{documentgetElementById(quotcontentquot)styleoverflow='hidden';当聊天信息超过一屏时,设置最先发送的聊天信息不显示documentgetElementById('content')scrollTo=documentgetElementById('content')scrollHeight*;}setTimeout('checkScrollScreen()',);}自动踢出长时间不发言的用户为了保证聊天室的搞笑运行,需要提供踢出长时间不发言用户的功能[]。在实现踢出长时间不发言的用户时,可以通过采用JavaScrit脚本的window对象的setTimeout()方法定时调用退出系统的函数实现。Window对象的setTimeout()方法用于延迟代码的执行,该方法的基本语法格式如下:w。

7、开发用户模块当用户访问聊天室时,首先进入的是登录聊天室页面。如果用户没有账号,则可以点击页面的注册链接,进入到注册页面;如果用户之前已经登录过,则直接输入用户名、密码,进行登录。用户注册当用户进入到注册页面后,提示用户填写详细信息,点击“注册”按钮后,系统开始判断用户名、密码、确认密码、年龄和性别是否非法,判断用户名是否已经被注册,如果都能验证通过才允许用户注册成功。下面是注册界面和详细描述:设计注册聊天室页面,该页面用于新用户注册关键代码如下:[]用户名:密码:确认密码:年龄:性别:男女id=quoterrorquotgt${error}[]已有账号,登录!设计聊天室的Servlet实现类,添加注册聊天室的方法registRoom。在该方法中,首先获得注册用户,然后判断用户名和密码是否已存在。关键代码如下:for(Useruser:users){if(us。

8、示,因此需要将该层的overflow属性设置为hidden即隐藏,关键代码如下:聊天内容添加一个用户控制是否滚屏的复选框,在该复选框的onClick事件上调用一个用于控制是否滚屏的方法checkScorllScreen()[],关键代码如下:编写一个自定义的JavaScrit函数checkSrcollScreen()用于控制是否滚屏,在该方法中,首先判断添加的复选框是否为选中状态,如果不是则表示滚屏,否则将设置聊天内容的标记的scrollTo属性等于它的滚动高度乘以。checkSrcollScreen()函数的关键代码如下:functioncheckScrollScreen()]{if(!formscrollScreenchecked){documentgetElementById(quotcontentquot)styleoverflow='scroll'。

9、indowsetTimeout(code,delay);其中,code用于指定要延迟执行的代码(通常为一个自定义的JavaScrit函数);delay用于指定延迟时间(以毫秒为单位)。通过window对象的setTimeout()方法实现定时踢出指定用户的关键代码:Timer=windowsetTimeout(“Exit()”,);上述的代码实现了定时踢出长时间不发言的用户,如果想实现踢出长时间不发言的用户,还需要在用户发言后,将上述的计时器重新计时。关键代码如下:clearTimeout(timer);timer=windowsetTimeout(“Exit()”,)[];注意在实现用户发言的方法中,一定要调用此方法,否则不会更新用户的发言时间,造成即使用户发言了还是被踢出了。敏感词的自动屏蔽在以QQ聊天室为首的大多数聊天室都没有屏蔽敏感词汇功能,为了营造。

10、良好的网络文明用语环境,本聊天室特意增设此功能。用户进入聊天室就会看到有醒目的提醒,提醒大家文明聊天,不要说一些的敏感的字眼。而一旦有用户说了敏感的字眼,系统就要自动屏蔽掉。在服务器数据库将那些敏感的字放进去,一旦用户聊天时,系统自动将用户的聊天的词语在数据库表中去查找,一旦有敏感的词,通过控制器Servlet的内容过滤修改输出的的字符串,改为“***”。关键代码如下:for(Stringsensiti:sensities){intreIndex=;if((reIndex=infroindexOf(sensiti))!=){intlastIndex=reIndex+sensitilength();udatedInfor=infrosubstring(,reIndex)+quot***quot+infrosubstring(lastIndex)[];}}系统程。

11、,ul)[];将UserListener对象绑定到Session中上述的代码中,一定要将UserListener对象绑定到Session中,否则起不到监听的效果。通过快捷键发送聊天消息使用过的QQ聊天软件的用户都知道,在通过QQ聊天时,编好聊天内容后按下快捷键(Ctrl+Enter)即可发送聊天内容,实现该功能只需要在聊天内容的文本框的onKeyDown事件中判断当前按下的快捷键是否为(Ctrl+Enter),如果是则调用自定义的send()方法发送聊天内容。关键代码如下:[]实现私聊所谓私聊就是只有发言人和接收人可以看到该信息,其他用户不能看到该信息,这样可以保证用户间的悄悄话不被其他用户所看到。在保存聊天信息的XML文件中设置一个isrivate节点,用于记录聊天信息是否为私聊信息。isPrivate节点的值为true或false,值为true时表示是私 。

12、聊信息,否则表示不是私聊信息。添加私聊信息在XML文件中的显示代码如下:[]wgh微笑着无语amlt;fontcolor=”amgtl和你说一件事呀?amlt;fontamgt;”::true当用户输入聊天信息并发送后,在接收聊天信息的Servlet中,将聊天信息保存在XML文件中,包括是否为私聊信息的参数(isPrivate)。关键代码如下:ElementisPrivateNode=newElement(quotisPrivatequot)setText(quotfalsequot);newNodeaddContent(isPrivateNode);在显示输入内容时,判断聊天内容是否为私聊内容,即isPrivate节点是否为true,如果是则只在发言人和接收人的窗口中输出该聊天信息,并且在前面加入标记内容“私人对话”,关键代码如下:booleanisPri

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值