电信学院计算机系
实验报告
课程名称 JAVA WEB应用程序设计
实验名称 基于JSP的网络聊天室
班 级 XXXXXX
学 号 XXXXXXXXXXX
姓 名 XXXXXXXXXX
实验概述: |
【实验目的】 通过使用application存储用户发言内容实现一个简易的聊天室 【实验内容】 聊天室主要包括四个功能模块: 1.用户注册(注册用户保存在application中) 2.用户登录 3.用户注销 4.留言功能 【实验要求】 1.用户注册、登录都要进行客户端检查是否信息为空 2.用户登录之后,服务器端需要检查是否是合法的用户 3.显示的每条信息都包括登录用户姓名、留言内容及留言时间 4.其它内容可以自己扩展 【实验环境】(使用的软件) Windows下的MyEclipse 6.0 |
实验内容: |
【实验方案设计与实验过程】 登录主界面: "http://www.w3.org/TR/html4/loose.dtd"> 登录截图所示: 当登录时输入错误信息时,将出现提示界面: <%@page language="java" contentType="text/html;charset=GBK"%> <% String name=request.getParameter("name"); String pwd=request.getParameter("pwd"); if(application.getAttribute("msg").equals(name)&&application.getAttribute("msg1").equals(pwd)) { session.setAttribute("login session.setMaxInactiveInterval(-1); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader("Location } else { out.println("新用户请先注册!"); } %> 注册form表代码:
爱好: 运动
购物
无 留言板:
截图所示: 在IE浏览器中显示信息效果如图: 代码: <%@page language="java" contentType="text/html;charset=GBK"%> <%@page import="java.util.*" %> <%! // 下面方法Trans的作用是将StringBuffer中的的回车符号换为
for(int i=0; i sour.delete(i,i+1); sour.insert(i," } } return sour; %> <% 接收text和password类信息 接收radio类信息 性别是:"); 接收单选的select信息 户口所在地: "); out.println(" 接收多选的select信息 暂住 :"); if(juzhu != null) { out.println(juzhu[i] + " 接收checkbox类信息 爱好:"); out.println(job[i] + " out.println(" //处理textbox中的信息 String str=request.getParameter("liuyan"); StringBuffer liuyan = new StringBuffer(str); liuyan = Trans(liuyan); out.println("留言信息是 : out.println(liuyan); %> 登录成功提示进入聊天室代码: <%@page contentType="text/html;charset=GBK"%> <%@include file="checkvalid.jsp"%> 进入聊天室相关代码: (1) 聊天室窗口代码: (2)显示聊天内容及刷新 <%@ page language="java" contentType="text/html;charset=gb2312"%> <%=application.getAttribute("words")%> <%@page language="java" contentType="text/html;charset=GBK"%> <% java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date currentTime = new java.util.Date(); String str_date1 = formatter.format(currentTime); request.setCharacterEncoding("GBK"); String mywords=request.getParameter("message"); Object o=application.getAttribute("msg"); String str1=(String)o; application.log(mywords); if(mywords!=null) { int len_mywords=mywords.length(); int flag=1; application.log(" " +len_mywords); for(int i=0;i if(mywords.charAt(i)=='<') { flag=0; } } if(flag==1) { mywords=str1+": "+mywords+" :"+str_date1+ " :"; Object obj=application.getAttribute("words"); if(obj==null) { application.setAttribute("words",mywords+" } else { application.setAttribute("words",obj.toString()+mywords+" }}} %> 效果图: 【实验小结】 实验心得 |