利用Java EE相关技术实现一个简单的Web聊天室系统

2023-11-20

利用Java EE相关技术实现一个简单的Web聊天室系统
(1)编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息。
(2)通过请求指派来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,跳转到LoginSuccess显示聊天界面(类似于QQ群聊天界面,可使用HTML中的frameset标签生成两个窗口,一个用来实现用户信息输入,另一个显示所有用户聊天记录的);否则跳转到LoginFail页面,提示用户重新登录(注:此页面要包含前面的登录界面)。
(3)在聊天室界面显示“信息输入”窗口和“聊天记录显示”窗口的内容;用户在“信息输入”窗口中键入聊天内容,点击“发送”按钮后,在“聊天记录显示”窗口中显示发送消息的用户名称和聊天内容(提示:可以利用Servlet 上下文保存聊天记录并将其显示在Textarea中。)
(4)在登录界面上实现记住用户名和密码的功能,使得当用户选择了此功能并成功登录后,在其下次登录时可以不用再输入用户名和密码即可登录(提示:此功能可通过Cookie来实现。)
(5)编写一个Listener程序来监听会话的创建和销毁事件,以此统计当前在线(登录)人数,并将其显示在聊天界面上。
(6)添加一个Filter来实现对未经过登录页面而直接访问聊天室的非法请求进行拦截。
系统要求
1.用户登录模块
登录界面输入用户的账号和密码,通过登录验证的用户即可进入聊天室进行聊天。
2.用户发言的模块
完成聊天的内容输入后,通过单击“发送”按钮,即可显示聊天的内容。
3.聊天内容显示模块
实时同步显示所有人的聊天内容
4.提示模块
显示当前聊天室登录账号名字和在线人数。
实现技术
①打开浏览器,进入网上聊天系统首页登录界面login.jsp。
②Main.java类获取login.jsp用户输入的用户名和密码,进行逻辑验证,验证成功则跳转到聊天界面welcome.jsp,否则跳转到登陆失败提示界面loginFail.jsp。
③统计当前在线人数通过调用OnlineListener类来实现。
④中间主体页面main.jsp页面实现用户在聊天输入框中输入消息,发送并显示在聊天消息显示框中功能。实现聊天功能通过调用InputInformation.java类来实现。
④记住密码自动填充功能:
根据表单中的记住密码是否勾选,有选择的将账号信息存到cookie中,在jsp中通过java脚本程序取出cookie程序中的账号信息,并填充至账号密码的输入框。
⑤在线人数监听功能:通过监听session,在登陆成功时,会将用户信息存入session,通过session的数量来判断在线人数。
⑥聊天功能:编写一个servlet程序,接收输入框中的信息,取出上下文中存聊天记录的列表List,并将接收的信息对象存到列表中。
⑦使用txt文本作为数据库,记录聊天记录。
整体介绍:网上聊天室由welcome、main、login、loginFail、header五个jsp文件和CodeFilter、InputInformation、Main、OlineListener四个文件组成。实现了可以进行自动保存用户名密码,判断用户名和密码是否匹配,用户可以信息输入也可以显示所有用户聊天记录,并能统计当前在线(登录)人数和能对系统所有的Servlet程序进行过滤的功能。
整体流程:首先打开浏览器,进入网上聊天系统首页登录界面login.jsp,通过输入用户名和密码,进行登录。之后Main.java类获取login.jsp用户输入的用户名和密码,进行验证,验证成功则跳转到聊天界面welcome.jsp,否则跳转到登陆失败界面loginFail.jsp。如果登录成功进入Welcome.jsp聊天界面,其中头部界面(header.jsp)显示当前登陆用户昵称和当前在线总人数(统计当前在线人数通过调用OnlineListener类来实现);中间主体页面main.jsp页面实现用户在聊天输入框中输入消息,发送并显示在聊天消息显示框中功能。
功能模块图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用Java EE相关技术实现一个简单的Web聊天室系统 的相关文章

随机推荐

  • ST-GCN的学习之路(一)论文分析

    目录 St GCN 2018AAAI Introduction Multiple modalities of human action The weakless of previous methods This work s advanta
  • antv-g2语法总结

    目的 使用antv g2完成一个图表 该图表有两种结构组成 散点图与矩形图组成 我们需要将散点图与矩形图分别在两个view中绘制 所以还需要总结一下view的概念 第一步语法基础 首先是引入相应依赖 其次是创建html容器 div div
  • vue---element el-tree全选、清空、展开、收缩等基本功能总结

    目录 el tree 1 获取选中 2 设置选中 3 全选 清空 4 展开收缩 5 完整代码 el tree 用来展示树型结构的信息 具备展开和折叠的功能 通过案例介绍相关知识点内容 案例实现的功能如下 1 获取选中 可通过node和key
  • 内网渗透工具-反向代理nps使用分析

    0x1 简介 nps 是一款轻量级 高性能 功能强大的内网穿透代理服务器 支持 tcp udp 流量转发 可在网页上配置和管理各个tcp udp隧道 内网站点代理 http https解析等 功能强大 操作方便 0x2 前期准备 1 安装编
  • python运算符

    usr bin python encoding utf 8 print fish 输出方式一 print Hello World 输出方式二 if True 判断语法 print True else print False str Runo
  • OSI七层模型详解

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯 因此其最主要的功能就是帮助不同类型的主机实现数据传输 完成中继功能的节点通常称为中继系统 在OSI七层模型中 处于不同层的中继系统具有不同的名称 一个设备工作
  • Tomcat的多实例和动静分离

    目录 一 多实例 二 nginx tomcat的负载均衡和动静分离 三 Tomcat 客户端 gt 四层代理 gt 七层代理 gt tomcat服务器 实验 问题总结 tomcat日志文件 usr local tomcat logs cat
  • Python机器学习从零开始(五)算法审查

    目录 1 审查分类算法 1 1线性算法审查 1 2非线性算法审查 2 审查回归算法 2 1线性算法审查 2 2非线性算法审查 3 算法比较 总结 程序测试是展现BUG存在的有效方式 但令人绝望的是它不足以展现其缺位 艾兹格 迪杰斯特拉 Ed
  • 2022322

    没有人天生就会某一项技能 只有在后天的成长中 不断的练习和重复 才会越来越熟练 爆发吧 小宇宙 基础知识 1 html css 2 js vue的使用 1 vue的原理和高级用法 1 html css 3 vue cli4中的webpack
  • Function overloaded in C++

    重载定义 如果两个函数名字相同并且在相同的域中被声明 但是参数表不同 则它们就是重载函数 重载函数条件 2 1 参数类型或参数个数不同 2 2 返回值不同不能视为重载 2 3 是否为常函数不能视为重载 2 4 对于普通类型参数只有const
  • C# 委托详解

    文章目录 前言 一 委托是什么 1 官方关于委托的概述 2 通俗解释 二 如何使用委托 1 使用委托详解 1 申明委托 2 编写委托对应的方法 3 实例化委托 4 使用委托 5 委托使用的综合案例 2 使用多播委托详解 委托链 1 关于多播
  • delphi 软件在线人数统计_Redis实现实时统计在线用户人数的几种方案

    一个业务系统网站每天人数的访问量是多少 在线人数是多少 这种业务我们在开发中就要预留 也是在我们的设计范围内的咯 因为一个正在运营的网站 每天都会用到统计 那在线人数是如何统计的呢 这里有几种方案 代码用laravel框架 可以作为开发中参
  • PostgreSQL9.4: jsonb 性能测试 - Postgres2015全国用户大会--重磅嘉宾佳作分享(谭峰)

    Postgres2015全国用户大会 重磅嘉宾佳作分享 谭峰 友情提示 2015Postgres全国大会将于2015年11月20至21日在北京举行 主会场设在北京丽亭华苑酒店 我们期待您的到来 2015Postgres全国大会官方报名地址
  • PAT (Advanced Level) 1001 A+B Format

    1001 A B Format 20 分 Calculate a b and output the sum in standard format that is the digits must be separated into group
  • 软件工程——软件实现

    在我们做好对软件的需求分析 设计之后 就是软件的实施部分了 主要包括软件实现 软件测试 测试方法 黑盒测试 主要是检查功能 数据 以及接口的问题 具体方法有等价划分 边界值分析 错误推断法 白盒测试 对程序所有逻辑路径进行测试 测试方法按覆
  • 点云Las文件是什么?

    点云Las文件是什么 1 LIDAR数据 2 LAS点云规格 3 LAS Header头文件 4 LAS Header版本与LAS点格式 5 点云Header与点格式对应关系 6 示例 查看点云文件的规格和格式 7 LAS读取可参考 pyl
  • python读取CT医学图像

    需要安装OpenCV和SimpleItk SimpleItk比较简单 直接pip install SimpleItk即可 代码如下 coding utf 8 import SimpleITK as sitk import cv2 LKDS
  • 5-Openwrt package Makefile

    Openwrt package Makefile 在 Openwrt main Makefile 章节里面有说道主Makefile会通过include package Makefile调用package下的Makefile package下
  • 华为OD机试(JAVA)真题 -- 斗地主

    1 斗地主起源于湖北十堰房县 据传是一位叫吴修全的年轻人根据当地流行的扑克玩法 跑得快 改编的 如今已风靡整个中国 并流行于互联网上 牌型 单顺 又称顺子 最少5张牌 最多12张牌 3 A 不能有2 也不能有大小王 不计花色 例如 3 4
  • 利用Java EE相关技术实现一个简单的Web聊天室系统

    利用Java EE相关技术实现一个简单的Web聊天室系统 1 编写一个登录页面 登录信息中有用户名和密码 分别用两个按钮来提交和重置登录信息 2 通过请求指派来处理用户提交的登录信息 如果用户名为本小组成员的名字且密码为对应的学号时 跳转到