javaweb课设报告.docx

上传人:b****1 文档编号:12488306 上传时间:2023-04-19 格式:DOCX 页数:25 大小:893.27KB
下载 相关 举报
javaweb课设报告.docx_第1页
第1页 / 共25页
javaweb课设报告.docx_第2页
第2页 / 共25页
javaweb课设报告.docx_第3页
第3页 / 共25页
javaweb课设报告.docx_第4页
第4页 / 共25页
javaweb课设报告.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

javaweb课设报告.docx

《javaweb课设报告.docx》由会员分享,可在线阅读,更多相关《javaweb课设报告.docx(25页珍藏版)》请在冰豆网上搜索。

javaweb课设报告.docx

javaweb课设报告

 

洛阳理工学院

课程设计报告

课程名称Javaweb程序开发入门

专业计算机应用技术_

班级_

学号_

姓名

完成日期_

第一总体设计

1.1、设计目的:

1、培养学生运用所学课程《Web程序设计(Java)》的理论知识和技能解决实际问题的能力,使学生在系统开发中得到JavaWeb编程方法及技能的综合训练。

2、培养学生调查研究、查阅技术文献以及编写技术报告的能力。

1.2设计题目:

1.下载并安装JDK、Tomcat、MySQL和Eclipse,完成JavaWeb应用程序开发环境的搭建。

2.使用JSPModel2模型,开发一个用户注册模块,要求:

使用Servlet、JSP和JavaBean技术;界面友好;具有用户输入校验功能,并且在用户输入错误时给出出错信息.

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分析

开发一个用户注册模块,使用JSPModel2模型.JSPModel2架构模型采用JSP+Servlet+JavaBean的技术,此技术将原本的JSP页面中的流程控制代码提取出来,封装到Servlet中,从而实现真个程序页面显示、流程控制和业务逻辑分离.实际上JSPModel2模型就是MVC设计模型,其中控制器的角色是由Servlet实现的,视图的角色是由JSP页面实现,模型的角色是由JavaBean实现。

图9.3是描述Model2的工作原理。

JSPModel模型是一种MVC模式。

由于MVC模式中的功能模式中的功能模块相互独立,并且使用该模式的软件具有极高的可维护性、可扩展性和可复用性。

按照JSPModel2的模型思想编写一个用户注册的程序,该程序中包含两个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成员变量用于封装表单验证时的错误信息,主要部分代码如下:

publicbooleanvalidate(){

booleanflag=true;

if(name==null||name。

trim().equals(””)){

errors.put(”name","请输入姓名.");

flag=false;

if(passwod==null||passwod.trim()。

equals("”)){

errors.put(”password","请输入密码.”);

flag=false;

}

elseif(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;

elseif(!

email.matches(”[a-zA—Z0-9_-]+@[a—zA—Z0-9_—]+(\\。

[a—zA—Z0—9_-]+)+")){

errors。

put("email”,”邮箱格式错误。

");

flag=false;

returnflag;

}

创建一个模拟数据库类,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,表示用户登录成功。

主要代码如下:

publicclassControllerServletextendsHttpServlet{

protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)

throwsServletException,IOException{

this。

doPost(req,resp);

@Override

protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)

throwsServletException,IOException{

resp。

setHeader(”Content-type","text/html;charset=GBK”);

resp。

setCharacterEncoding(”GBK”);

Stringname=req。

getParameter(”name");

Stringpasswod=req。

getParameter(”password");

Stringpasswod2=req.getParameter("password2”);

Stringemail=req。

getParameter("email”);

RegisterFormBeanformBean=newRegisterFormBean();

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;

UserBeanuserBean=newUserBean();

userBean.setName(name);

userBean.setPassword(passwod);

userBean。

setEmail(email);

booleanb=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,在包里新建classDBOper和sqlccww;在luanma包里新建classStringUtils;在model包里新建classsqlcc和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包里新建的classDBOper和sqlccww是有关数据库的定义;luanma包里新建的classStringUtils用来处理中文乱码问题;model包里新建的classsqlcc和UserInfo是定义数据库变量的模板和用户信息;servlet包里新建的Messages和UserListener是用来处理发送的信息和实现用户在线登陆的程序;index.jsp为登陆索引提示信息;login.jsp为登陆页面、login_ok.jsp提示登陆成功信息;online。

jsp在线信息;logout。

jsp退出信息;send。

jsp发送消息、safe。

jsp安全登录提示信息、main。

jsp设置聊天内容的主要处理程序.最后要设置web。

xml文件.以上设置完成后在SQLyogUltimate里新建数据库zyh,在数据库zyh里新建表sqlcc,在表里完成列名,主键等相关设置。

2.3.2聊天室模块划分

该聊天室系统主要分为如下几个功能模块,如下所示:

‌。

●用户无需注册即可登录聊天室。

●系统可以监视每个用户的进入和离开,并且显示相关信息。

●用户可以对所有人或者指定的某一个人发送聊天内容.

●用户可以实时查看聊天室内的聊天内容.

●聊天文字可以选择不同的颜色.

●管理员可以将不遵守聊天室规章的用户踢出聊天室。

2.3。

3系统功能结构图

2。

3.4chatroom的模块设计分析

登陆进入页面用户在线列表表情选择

Login。

jsp,index.jsp,login_ok。

jsp处理程序Online.jsp等处理程序

字体颜色选择

〈option

style="color:

#FF0000"

value=”FF0000”>红色热情

聊天信息保存到数据库

退出聊天室

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”.〈scriptlanguage=”javascript”src=”JS/AjaxRequest.js"〉〈/script〉在应用Ajax的页面中编写错误处理的方法,使用functiononerror(),functiongetCheckCodel()是实例化Ajax对象的方法,而functiondeal_getCheckCode()则是回调函数。

2.3。

6代码设计

A.设计用户登录界面,使用户输入用户名能够进入聊天室

〈%@pagecontentType="text/html”pageEncoding=”UTF—8"%>

〈html>

〈title>

聊天室

functioncheck(){

if(form1.username。

value=="”){

alert(”请输入用户名!

");form1.username。

focus();returnfalse;

}elseif(form1.username。

value==”\'"){

alert(”请不要输入非法字符!

”);form1.username。

focus();returnfalse;

}

〈body>

〈formname=”form1"method="post"action=”Messages?

action=loginRoom”onSubmit=”returncheck()”>

〈tablewidth=”371"height=”230"border=”0"align="center”cellpadding="0"cellspacing=”0"background="images/login。

jpg">

〈tr>

〈tdheight="158”colspan="3”class=”word_dark”> 〈/td〉

〈/tr〉

用户名:

〈inputname="Submit”type=”submit"class="btn_bg”value="进入”>

〈/tr〉

〈/table>

〈/body〉

〈/html〉

B.显示用户登录信息,判断用户是否登录,以及在聊天室中显示登录时间,设置用户登录页面过期时间。

〈%@pagecontentType=”text/html”pageEncoding=”UTF—8”%>

〈%@pageimport="java。

util。

*"%〉

〈%@pageimport=”com。

wgh。

model。

UserInfo"%>

<%@pageimport=”com.wgh。

servlet。

UserListener"%>

〈%

Stringusername=request.getParameter(”username");//获得登录用户名

UserInfouser=UserInfo.getInstance();//获得UserInfo类的对象

session.setMaxInactiveInterval(600);//设置Session的过期时间为10分钟

Vectorvector=user。

getList();

booleanflag=true;//标记是否登录的变量

//判断用户是否登录

if(vector!

=null&&vector。

size()〉0){

for(inti=0;i〈vector.size();i++){

if(user.equals(vector。

elementAt(i))){

out.println("〈scriptlanguage='javascript'>alert(’该用户已经登录’);window.location。

href='index.jsp’;”);

flag=false;

break;

}

//保存用户信息

if(flag){

UserListenerul=newUserListener();

ul.setUser(username);

session。

setAttribute(”user",ul);

session。

setAttribute("username",username);

user.addUser(ul.getUser());

//保存当前登录的用户名

session。

setAttribute(”loginTime",newDate().toLocaleString());//保存登录时间

response。

sendRedirect("Messages?

action=loginRoom”);

%>

C.通过聊天室登录界面进入聊天室,设置聊天心情,聊天对象,聊天内容输入的实现,以及发送功能的实现可以设置如下相关功能:

 

2.3。

7聊天室功能实现

在编程环境中运行index。

jsp,输入用户名guo,进入聊天室,在浏览器地址输入http:

//localhost:

8080/WebContent/index。

jsp进入登录界面,输入用户名上线,如图1所示

 

图1

在聊天室中选择聊天对象,聊天心情,填写聊天内容发送,在另一个页面中也可以接收到用户信息,如图2:

图2

 

2.4题目四

使用Servlet、JSP和JavaScript技术实现一个照片上传模块,功能要求能够上传照片(建议使用Servlet技术和CommonFileUpload库),可以选择照片的裁剪功能(建议使用JavaScript技术),当照片经过上传和裁剪后可以在线浏览.

2.4.1开发环境:

JDK、Tomcat、MySQL和Eclipse

2。

4.2系统分析:

系统要实现的功能是有效性判断以及相关对象的关联关系,涉及到程序的算法,JAVAweb中的对象认识:

1.整体风格

2.系统要实现的功能:

用户交互功能

3.控件之间的逻辑关系

4.程序算法

5.客户端开发技术中对象的认识

6。

界面设计:

有效性、交互性

7。

代码设计:

剪裁图片的代码如下:

〈divclass="uploaddiv"〉

〈inputtype=”submit”name=”btn_Image"value="保存头像"id="btn_Image”/〉〈/di

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1