javaweb课设报告.docx
- 文档编号:13682290
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:37
- 大小:3.28MB
javaweb课设报告.docx
《javaweb课设报告.docx》由会员分享,可在线阅读,更多相关《javaweb课设报告.docx(37页珍藏版)》请在冰点文库上搜索。
javaweb课设报告
洛 阳 理 工 学 院
课 程 设 计 报 告
课程名称Java web 程序开发入门
专业计算机应用技术_
班级_
学号_
姓名
完成日期_
第一 总体设计 ...................................................................................................... 4
1.1、设计目的:
................................................................................................... 4
1.2 设计题目:
...................................................................................................... 4
1.3.设计要求:
...................................................................................................... 4
第二设计内容:
....................................................................................................5
2.1 题目一............................................................................................................. 5
2.1.1Tomcat 服务器启动................................................................................ 5
2.1.2 下载安装 JDK .......................................................................................6
2.1.3 下载 Eclipse 安装包 .............................................................................. 7
2.2 题目二.............................................................................................................. 8
2.2.1 分析........................................................................................................ 8
2.2.2 用户注册设计思想................................................................................ 9
2.2.3 用户注册功能实现................................................................................ 9
2.3 题目三............................................................................................................ 15
2.3.1 聊天室设计思想.................................................................................. 15
2.3.2 聊天室模块划分.................................................................................. 15
2.3.3 系统功能结构图.................................................................................. 16
2.3.4 chatroom 的模块设计分析 .................................................................16
2.3.5ChatRoom 的关键技术 .......................................................................16
2.3.6 代码设计............................................................................................. 17
2.3.7 聊天室功能实现................................................................................. 20
2.4 题目四............................................................................................................ 21
2.4.1 开发环境:
.......................................................................................... 21
2.4.2 系统分析:
......................................................................................... 21
2.4.3 功能实现:
.......................................................................................... 22
第三 实训心得 .................................................................................................... 24
第一 总体设计
1.1、设计目的:
1、培养学生运用所学课程《 Web 程序设计 (Java) 》的理论知识和技能解
决实际问题的能力,使学生在系统开发中得到Java Web 编程方法及技能的综
合训练。
2、培养学生调查研究、查阅技术文献以及编写技术报告的能力。
1.2 设计题目:
1.下载并安装 JDK、Tomcat 、MySQL 和 Eclipse ,完成 Java Web 应用程
序开发环境的搭建。
2.使用 JSP Model2 模型,开发一个用户注册模块,要求:
使用 Servlet 、
JSP 和 Java Bean 技术;界面友好;具有用户输入校验功能,并且在用户输入
错误时给出出错信息。
3.使用 JSP 和 JavaScript 技术实现一个网络聊天室,功能要求具备一个
使用用户昵称登录的页面,在聊天主窗口左侧有当时在线成员列表(建议采
用 AJAX 技术),通过鼠标可以选择说话的对象(不允许自己对自己说话),
在聊天时可以设置说话时表情,输入说话的内容,单击发送按钮完成会话的
发送,会话内容实时显示在聊天主窗口内, 包括发言人姓名、 聊天对象姓名 、
聊天内容和会话发起的时间,选作的功能是将会话内容保存在数据库中。
1.3.设计要求:
1.对于每个题目,应完成代码编制和调试,保证功能完全实现。
2.编写程序要求利用 Eclipse 开发工具调试通过。
3 设计完成后,需要写成一份实训报告。
第二 设计内容:
2.1 题目一
2.1.1Tomcat 服务器启动
Tomcat 服务器启动后,在浏览器的地址栏中输入
http:
//locathost:
8080或者 http:
//127.0.0.1:
8080访问 Tomcat 服务
器,如果浏览器中的显示界面如图所示,则说明Tomcat 服务器安装成功。
如图 1 图 2
图 1
图 2
2.1.2 下载安装 JDK
双击图中的 JDK 图标,开始安装 JDK
下一步,选择开发工具在下一步
安装成功
2.1.3 下载 Eclipse 安装包
解压 eclipse 安装包,打开安装文件,直接下一步安装,点击安装完成
即可。
双击图 1 中的 eclipse.exe 图标即可安装运行。
图 1
图 2
选择上图 2 中的 OK 后,即安装成功。
2.2 题目二
2.2.1 分析
开发一个用户注册模块,使用 JSP Model2 模型。
JSP Model2 架构模型采
用 JSP+Servlet+JavaBean 的技术,此技术将原本的 JSP 页面中的流程控制代码
提取出来,封装到 Servlet 中,从而实现真个程序页面显示、流程控制和业务
逻辑分离。
实际上 JSP Model2 模型就是 MVC 设计模型,其中控制器的角色
是由 Servlet 实现的,视图的角色是由 JSP 页面实现,模型的角色是由 JavaBean
实现。
图 9.3 是描述 Model2 的工作原理。
JSP Model 模型是一种 MVC 模式。
由于 MVC 模式中的功能模式中的功能模块相互独
立,并且使用该模式的软件具有极高的可维护性、可扩展性和可复用性。
按照 JSP Model2 的模型思想编写一个用户注册的程序,该程序中包含两个 JSP 页面
register. jsp 和 loginSuccess.jsp、一个 Servlet 类 ControllerServlet.java 、两个 JavaBean
类 RegisterFormBean.java 和 UserBean.java 、一个访问数据库的辅助类
DBUtil.java ,这些组件的关系如图 9-8
总体结构图:
2.2.2 用户注册设计思想
2.2.3 用户注册功能实现
① 先实现用户注册界面 register.jsp 点击注册后进入 ControllerServlet 跳转页
面,然后跳转到 loginSuccess.jsp 登录成功页面,
②开始实现注册的功能,定义用户类 UserBean, 用来封装用户的信息,
UserBean.java 类中定义三个 String 类型的属性 name 、password 和 email 。
代
码没如下:
③创建一个RegisterFormBean.java类,类定义4个String类型的属性
name、password、password2和email属性以及一个Map类型的成员变量
error,其中name, password,password2和email属性用于引用注册表单
页面传入的用户名、密码、确认密码和email信息,error成员变量用于封装表
单验证时的错误信息,主要部分代码如下:
public boolean validate(){
boolean flag=true;
if (name==null||name.trim().equals("")){
errors.put("name","请输入姓名.");
flag=false;
}
if (passwod==null||passwod.trim().equals("")){
errors.put("password","请输入密码.");
flag=false;
}
else if(passwod.length()>12||passwod.length()<6){
errors.put("password", "请输入6-12个字符.");
flag=false;
}
if (passwod!
=null&&!
passwod.equals(password2)) {
errors.put("password2", "两次输入的密码不匹配.");
flag=false;
}
if (email==null||email.trim().equals("")) {
errors.put("email","请输入邮箱." );
flag=false;
}
else if
(!
email.matches("[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+")){
errors.put("email", "邮箱格式错误.");
flag=false;
}
return flag;
}
④创建一个模拟数据库类,DBUtil.java。
主要实现两个功能,第一个功
能是定义一个HashMap集合uesrs,用于模拟数据库,并向数据库中存入了两条
信息,第二个功能是定义了getUser()方法和insertUser()方法来操作数据
库,其中getUser()方法用于获取数据库中的用户信息,insertUser()方法
用户数据库中插入的用户信息,需要注意的是,在insertUser()方法进行信
息插入操作之前会判断数据库中是否存在同名的信息,如果存在则不执行插入操
作,方法返回false,反之表示插入操作成功,方法返回true.主要功能代码如
下:
p
⑤创建的RegisterFormBean.java对象用于封装表单提交的信息。
当对
RegisterFormBean对象进行校验时,如果校验失败,程序就会跳转的
regsiter.jsp注册页面,让用户重新填写注册信息。
如果校验通过,那么注
册的信息就会封装到UserBean对象中,并通过DBUtil的intertUser()对象
插入到数据库。
intertUser()方法有一个boolean类型的返回值,如果返回
为false,表示插入操作失败,程序跳转到register.jsp注册页面;分之,
程序跳转到loginsuccess.jsp,表示用户登录成功。
主要代码如下:
public class ControllerServlet extends HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setHeader("Content-type", "text/html;charset=GBK");
resp.setCharacterEncoding("GBK");
String name=req.getParameter("name");
String passwod=req.getParameter("password");
String passwod2=req.getParameter("password2");
String email=req.getParameter("email");
RegisterFormBean formBean=new RegisterFormBean();
formBean.setName(name);
formBean.setPasswod(passwod);
formBean.setPassword2(passwod2);
formBean.setEmail(email);
if(!
formBean.validate()){
req.setAttribute("formBean", formBean);
req.getRequestDispatcher("/register.jsp").forward(req, resp);
return;
}
UserBean userBean=new UserBean();
userBean.setName(name);
userBean.setPassword(passwod);
userBean.setEmail(email);
boolean b=DBUtil.getInstance().insertUser(userBean);
if(!
b){
req.setAttribute("DBMes", "你注册的用户已存在");
req.setAttribute("formBean", formBean);
req.getRequestDispatcher("/register.jsp").forward(req, resp);
return;
}
resp.getWriter().print("恭喜你注册成功,3秒钟自动跳转");
req.getSession().setAttribute("userBean", userBean);
resp.setHeader("refresh", "3;url=loginSuccess.jsp");
}
}
⑥ 基本功能已经实现,下面开始验证是否成功,在eclipse中重启tomcat
服务器,在浏览器中输
http:
//localhost:
8080/Userload/register.jsp。
如果正确的话会出
现如下页面,
下面开始实现注册的功能,分别在姓名,密码,确认密码和邮箱中输入你的信
息,确认无误后,点击错误,会进入跳转页面如图1,最后跳转到登录成功页图
2。
图1
、
图2
2.3 题目三
2.3.1 聊天室设计思想
在 ChatRoom 下新建包 dao,在包里新建 class DBOper 和 sqlccww;在
luanma 包里新建 class StringUtils;在 model 包里新建 class sqlcc 和
UserInfo;在 servlet 包 里新建 Messages 和 UserListener。
在 WebContent
里新建 index.jsp、login.jsp、 login_ok.jsp,online.jsp,logout.jsp 、
send.jsp 、 safe.jsp 、 content.jsp,main.jsp, 文件,其 中 dao 包里新建
的 class DBOper 和 sqlccww 是有关数据库的定义; luanma 包里新 建的
class StringUtils 用来处理中文乱码问题;model 包里新建的 class sqlcc 和
UserInfo 是定义数据库变量的模板和用户信息;servlet 包里新建的 Messages
和 UserListener 是用来处理发送的信息和实现用户在线登陆的程序;
index.jsp 为登陆 索引提示信息;login.jsp 为登陆页面、login_ok.jsp 提示
登陆成功信息;online.jsp 在线信息;logout.jsp 退出信息;send.jsp 发送
消息、safe.jsp 安全登录提示信息、 main.jsp 设置聊天内容的主要处理程序。
最后要设置 web.xml 文件。
以上设置完成后在 SQLyog Ultimate 里新建数据
库 zyh,在数据库 zyh 里新 建表 sqlcc,在表里完成列名,主键等相关设置。
2.3.2 聊天室模块划分
该聊天室系统主要分为如下几个功能模块,如下所示:
●用户无需注册即可登录聊天室。
●系统可以监视每个用户的进入和离开,并且显示相关信息。
●用户可以对所有人或者指定的某一个人发送聊天内容。
●用户可以实时查看聊天室内的聊天内容。
●聊天文字可以选择不同的颜色。
●管理员可以将不遵守聊天室规章的用户踢出聊天室。
2.3.3 系统功能结构图
2.3.4 chatroom 的模块设计分析
登陆进入页面 用户在线列表 表情选择
Login.jsp,index.jsp,login_ok.jsp 处理程序 Online.jsp 等处理程序
的 嘟着嘴,热泪盈眶的,依依不舍的,得意的等
字体颜色选择
;蓝色开朗,红色热情、桃色浪漫,烟
雨蒙蒙等
聊天信息保存到数据库
退出聊天室
Sqlcc.java 和 sqlccww.java 等处理程序 Leave.jsp 和 safe,jsp 等处理程序
2.3.5ChatRoom 的关键技术
Ajax 重构技术
在 Ajax 应用中,JavaScript 是主体,所以一个 Ajax 应用系统的性能问
题也 就是 JavaScript 代码的性能问题。
JavaScript 并不是一个高性能的语
言,它不能像 C 语言那样进行快速的计算;JavaScript 中的对象也不是轻量级
的,特别是 DOM 元素,它们通常都会占用大量的内存;不同的 Web 浏览器都包
含缺陷,很容易造 成内存泄露; 成熟的 Ajax 应用的 JavaScript 代码量将远
远超过传统 Web 应用的代 码量。
上述种种情况都会导致 JavaScript 出现性能
问题。
随着 Ajax 应用程序的不断扩展, 将会有越来越多的 JavaScript 代码
应用到 Ajax 中,这可能导致许多意想不到的问题。
因此有必要对 Ajax 代码进
行重构。
下面将 介绍实现 Ajax 重构的基本步骤。
创建一个单独的 JS 文件,
名称为 AjaxRequest.js,并且在该文件中编写重构 Ajax 所需的代码。
那 么 ,
在 需 要 应 用 Ajax 的 页 面 中 应 用 以 下 的 语 句 包 含 JS 文 件
“AjaxRequest.js”。