JSP无刷新聊天室

来源:互联网 发布:rca纸带耐磨试验机淘宝 编辑:程序博客网 时间:2024/05/18 03:16

login.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><title>登录聊天室</title></head><body><table width="400" height="100" border="1" align="center"cellpadding="0" cellspacing="0"><tr><td align="center">登录聊天室</td></tr><tr><td align="center"><form name="form1" method="post"action="/charpter19/method.jsp?action=login">您的昵称:<input name="username" id="username" type="text" /> <inputtype="submit" name="Submit" value="进入" /></form></td></tr></table></body></html>

method.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%><%@ page import="java.util.*"%><jsp:useBean id="msgs" class="java.util.HashMap" scope="application" /><%request.setCharacterEncoding("UTF-8");String action = request.getParameter("action");if (action.equals("login")) {//用户登录,获得用户名。然后创建两个变量,保存用户登录信息和聊天信息String username = request.getParameter("username");String msg = "欢迎" + username + "光临本聊天室!<br/>";session.setAttribute("username", username);msgs.put(username, msg);response.sendRedirect("main.html");}if (action.equals("sendMsg")) {String newMsg = session.getAttribute("username") + ":" + request.getParameter("msg");//发送消息时,将聊天室所有人的消息都加上新的发言内容Iterator it = msgs.keySet().iterator();String username = null;String msg = null;while (it.hasNext()) {username = (String) it.next();msg = (String) msgs.get(username);msg = msg + "<br/>" + newMsg;msgs.put(username, msg);}response.sendRedirect("inputMsg.jsp");}if (action.equals("showMsg")) {//显示某个用户的消息String username = (String) session.getAttribute("username");String msg = (String) msgs.get(username);out.println("loadContent.innerHTML=\""+msg+"\";");}%>

main.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><title>聊天室主页面</title></head><frameset rows="*,80" frameborder="yes" border="2" framespacing="2"><frame src="showMsg.html" name="mainFrame"><frame src="inputMsg.jsp" name="bottomFrame" scrolling="no"noresize="noresize"></frameset></html>

inputMsg.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title></head><body><form name="form1" method="post"action="/charpter19/method.jsp?action=sendMsg"><%=session.getAttribute("username")%>:<input name="msg" id="msg"type="text" size="60" /> <input type="submit" name="Submit"value="发言" /></form></body></html>

showMsg.html

<html><head><script language="javascript" type="text/javascript">function GetData(){url = "/charpter19/method.jsp?action=showMsg";try{DataLoad.src = url;}catch(e){return false;}{var timeoutid = setTimeout("GetData()",2000)}}</script><script id="DataLoad" language="javascript" type="text/javascript" defer></script></head><body onload="javascript:GetData();"><span id="loadContent">数据载入中……</span></body></html>





原创粉丝点击