华北电力大学科技学院
实 验 报 告
|
|
实验名称 基于J2EE架构的小型应用系统的设计与实现
课程名称 J2EE开发平台及程序设计
|
|
专业班级:软件09k 班 学生姓名:
学 号: 成 绩:
指导教师:王蓝婧 实验日期:2011.11.5
(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.9cm, 右2.1cm;字体:宋体小四号,1.25倍行距。)
验证性、综合性实验报告应含的主要内容:
一、实验目的及要求
二、所用仪器、设备
三、实验原理
四、实验方法与步骤
五、实验结果与数据处理
六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见)
七、所附实验输出的结果或数据
设计性实验报告应含的主要内容:
一、设计要求
二、选择的方案
三、所用仪器、设备
四、实验方法与步骤
五、实验结果与数据处理
六、结论(依据“设计要求”)
七、所附实验输出的结果或数据
实验目的及要求
学生在了解Java语言的基础上了解并掌握J2EE的构架及相关技术,重点掌握核心技术中最基本的Servlet、JSP、Javabean,初步具有基于J2EE平台的软件开发能力。
设计并实现简单的聊天室:
1)要求使用JSP或者servlet技术,实现至少3个页面,供多个用户同时聊天
2)使用application对象或者servletcontext对象保存聊天信息和在线用户名。
3)能进行用户登录验证,用session对象保存当前用户名,并防止用户重复登录
4)能显示在线用户名及数量
二、所用仪器、设备
PC机,基于window xp 或者windows server 平台,使用JDK+Netbeans+MySQL为开发工具
实验原理
(1)写出所设计的聊天室的体系结构图、设计的思路
体系结构图:
设计思路:分成四个页面,通过彼此调用来完成聊天室, login.jsp用作登录界面
register.jsp用作注册界面
chatroom.jsp主聊天页面,作聊天内容显示和提交处理
say.jsp是聊天信息处理页面
(2) 表示层是什么,控制逻辑层、数据层是什么?
表示层: 负责直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等,意味着只做与外观显示相关的工作, 例如登陆界面、聊天界面、注册界面可视化界面。
控制逻辑层:用于做一些有效性验证的工作,以更好地保证程序运行的健壮性。不允许指定的文本框中输入空字符串,数据格式是否正确及数据类型验证;用户的权限的合法性判断等等,通过以上的诸多判断以决定是否将操作继续向后传递,尽量保证程序的正常运行。
数据层:就是用于专门跟数据库进行交互。执行数据的添加、删除、修改和显
等。例如储存的用户信息。
(3) 什么用javabean实现的
网页计数器用javabean实现的。
(4) 数据设计
通过session保存用户名,application实现聊天信息的保存。
(5) 页面跳转关系
用户首先看到登陆界面,若是第一次登陆则进行注册,跳转到注册界面,然后再登陆,在进行验证,若用户名和密码都正确。则跳到聊天界面。
实验方法与步骤
login.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
My jsp login page
欢迎登陆聊天室
register.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
zhuce Page
欢迎新用户注册!
dologin.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%
request.setCharacterEncoding("utf-8");
//获取昵称
String nickName=request.getParameter("nickname");
//将用户名存到用户列表中
List ulist=null;
//获取用户列表
if(application.getAttribute("ulist")!=null){
ulist=(List)application.getAttribute("ulist");
}else{
ulist=new ArrayList();
}
//判断用户名是否存在
if(!ulist.contains(nickName)){
ulist.add(nickName);
application.setAttribute("ulist",ulist);
session.setAttribute("user",nickName);//将用户名保存在session中
//成功跳转到聊天界面
response.sendRedirect("chatroom.jsp");
return;
}else{
out.print("");
}
%>
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>