欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记录自己关于web做过的一些课设项目(二)

程序员文章站 2024-02-02 13:37:34
...

上一篇记录了聊天室的登录以及数据库的连接,这一篇我打算记录一下聊天室是如何实现的

聊天室的主界面框架,我分为两个部分,上面是之前内容显示的区域,下面是输入的内容以及发送的区域

主界面框架如下

<HTML>

<meta http-equiv ="Content-Type" content ="text/html;charset=utf-8">
	<HEAD>
		<TITLE>chat</TITLE>
	</HEAD>
	<frameset rows="90%,10%">
	<frame src="chat_up.jsp"name="top"></frame>
	<frame src="chat_down.jsp"name="bottom"></frame>
	</frameset>
</HTML>

我上下两个区域都是用jsp实现的

首先说一下chat_down区域,我是用的表单,onsubmit是用来判断发送内容是否为空的,表单的内容是传递到chat_up.jsp中的,用的post方法,表单中有文本框,和提交清空离开三个按钮,上一篇我有写过,使用session,将用户名打包传递到chat聊天室,可以实现XX用户说,这一个功能。

在实现这个聊天室的时候也遇到一些问题,一开始我是没有target这一个部分的,但是遇到一个问题,我按离开按钮的时候,chat_down部分没有跳转,只有chat_up部分实现了跳转,我经过查询,发现在离开按钮实现跳转到主页面的时候,需要加一个target=“—parent”来实现整体的跳转

<script type="text/javascript">
function isk(){
	if(FORM1.mywords.value==""){
		alert("不能发送空消息");
		return false;
	}
}</script>
</head>
<%
request.setCharacterEncoding("utf-8");
String username=(String)session.getAttribute("user");
out.print("用户"+username+"说:");
%>
<body>

<FORM NAME="FORM1"ACTION="chat_up.jsp" METHOD="post" target="top"onsubmit="return isk()">
	<INPUT TYPE="TEXT" SIZE="30" NAME="mywords" VALUE="I LIKE CHAT">
	<INPUT TYPE="SUBMIT" name="submit" VALUE="提交">
	<INPUT TYPE="RESET" name="reset" VALUE="清空">
	<a href="allmain.html" target="_parent"><INPUT TYPE="button" name="exit" value="离开"></a>
	</FORM>
</body>

然后说一下chat_up区域,通过表单传递,将表单中用户输入的内容传递到显示框中,通过session获取用户名称,使用application来记录,将用户在时间发送内容保存到mywords里,使用application实现之前对话的所有记录,并打印在显示框中,实现之前所有聊天记录的显示。

<form name="form2" method="post">
		<%@ page import="java.util.*" import="java.text.SimpleDateFormat"%>
		<%
			request.setCharacterEncoding("utf-8");
			String username = (String) session.getAttribute("user");
			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			Date date = new Date();
			String time = format.format(date);
			if (application.getAttribute("mywords") == null) {
				application.setAttribute("mywords", "Start:");
			}
			if (request.getParameter("mywords") != null) {
				String mywords = username + "在" + time + "说" + "<br>" + request.getParameter("mywords");
				mywords = (String) application.getAttribute("mywords") + "<br>" + mywords;
				application.setAttribute("mywords", mywords);
				out.print((String) application.getAttribute("mywords"));
			}
		%>
	</form>