要做好网页聊天室,需要用到域对象,还记得九大内置对象吗?
域对象有四个,分别是pageContext、request、session、application
四个域对象的作用域:
pageContext:仅在同一个页面有效
request:同一次请求(转发有效)
session:同一次会话(浏览器开-关的过程)
application:同一次服务器的开关(TomCat的开-关一次)
要实现网页聊天室功能首先需要有四个JSP网页:
login.jsp(登录页面)、loginOpreation.jsp(登录业务逻辑页面)、chatroom.jsp(聊天室页面)、chatroomOpreation.jsp(聊天室业务逻辑页面)
1.登录页面是进行登录的
2.登录业务逻辑页面:
2.1 首先先要获取login.jsp页面的用户名和密码
2.2 然后进行判断
正确 —— 转发到聊天室页面chatroom.jsp
错误 —— 重定向到login.jsp页面
3.聊天室页面:基本的聊天页面
4.聊天室业务逻辑页面:
4.1 点击发送
4.2 将内容存到数据库
4.3 返回到chatroom.jsp 将要展示的内容(要发送的内容+以前的记录)显示到页面
注意:要用form表单装起来
样式什么的需要按照自己的喜好去设置,这样login页面就已经完成了,是不是很简单呢
接下来是loginOperation页面了
1.因为提交的方式是post,为了解决中文乱码问题,我们必须加上这一句代码:
request.setCharacterEncoding("UTF-8");
这句代码就是专门解决post提交的中文乱码问题。
2.解决了乱码问题后,我们需要获取到login页面的用户名,然后把用户名存入session中,再获取密码,这里请注意密码是不需要存入session中的。
3.调方法,因为方法返回类型是一个布尔型类型的值,所以我们需要用一个Boolean类型的接收一下
4.判断,如果正确,转发到chatroom页面。如果错误,则提示账号密码错误
说到这里,博主必须提醒一下,在判空这方面,博主在login页面就用JS判断过了
这个是chatroom页面
如果有需要,您可以设置自动获取时间,然后重新获取application中的值,其他格式全部写好了以后就可以去我们的最后的业务逻辑页面了
先从session中获取用户名,再获取application中的记录,获取要发送的内容
这里博主偷了个懒,直接用死判断
然后用application存起来,最后跳转到chatroom页面中,请注意:这里的跳转要用重定向,想尝试转发的小伙伴们可以试试,看有什么神奇的事发生!
最后我们返回到login页面,运行!!
接下来看看运行后的效果
红箭头指向处用的div,用disable黑掉不能再写。
以上就是今天的内容啦!!