JavaWeb宠物店课程设计报告课件.docx

上传人:b****6 文档编号:6228855 上传时间:2023-01-04 格式:DOCX 页数:18 大小:458.88KB
下载 相关 举报
JavaWeb宠物店课程设计报告课件.docx_第1页
第1页 / 共18页
JavaWeb宠物店课程设计报告课件.docx_第2页
第2页 / 共18页
JavaWeb宠物店课程设计报告课件.docx_第3页
第3页 / 共18页
JavaWeb宠物店课程设计报告课件.docx_第4页
第4页 / 共18页
JavaWeb宠物店课程设计报告课件.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

JavaWeb宠物店课程设计报告课件.docx

《JavaWeb宠物店课程设计报告课件.docx》由会员分享,可在线阅读,更多相关《JavaWeb宠物店课程设计报告课件.docx(18页珍藏版)》请在冰豆网上搜索。

JavaWeb宠物店课程设计报告课件.docx

JavaWeb宠物店课程设计报告课件

 

校内实训

项目报告

 

课题:

宠物商店管理系统设计

 

学院:

____________

学生姓名:

____________

指导教师:

____________

一、需求分析

1.1项目开发背景

PetStore是SUN公司推出的一个宠物店系统,是J2EE应用和学习的一个好例子。

针对不同的侧重点,具有不同的版本。

该系统不同的版本是优秀程序员智慧的结晶。

从功能层面来说,这个系统具有:

宠物分类展示、下订单、添加到购物车、浏览产品细节等一系列网上商城所具备的基本功能。

1.2功能介绍

1.2.1整体介绍

Petstore提供网上商城系统所必需的功能:

用户身份认证、商品信息列表、选购商品、下订单等,围绕这些功能,系统的设计分为以下四个部分:

●宠物分类展现和宠物查找模块(catalog部分),供用户浏览、查找并选购宠物。

●购物车管理(cart部分),供用户查看购物车的情况,并作出是否购买的选择。

●账户管理模块(account部分),为用户提供注册和账户登录功能。

●订单管理(order部分),供用户管理自己的账单。

1.2.2详细说明

宠物商店用户通过账户管理模块登录或者注册新用户,只有拥有经过注册的用户名和正确的密码才能更改系统内部代码、页面形式、系统数据库以及管理客户账户等;宠物分类展现部分是系统与客户的交流界面,用户在此功能界面上可以浏览整个宠物店的所有产品情况,包括:

宠物生活习性、宠物产地、库存情况、售价等等。

用户在此处还可以点击单一宠物的链接进入更进一步的说明;购物车模块是系统与用户账户交流的平台,用户是否购买某产品将直接反映在这个界面和相关的数据库上。

订单管理是账户管理的配合模块,是对客户的账户的直接管理和反应。

1.3系统开发平台

●Jdk即Java开发数据包;

●Web服务器tomcat;

●Mysql数据库,用于网站系统文件表格的建立、更改、维护等;

●MyEclipse,用于编写、调试系统代码、生成发布。

二、系统设计

2.1宠物管理系统功能设计目标:

(1)实用性强:

我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求;

(2)先进的程序结构:

使用当代前卫的软件编程,能延长其生命周期,易于维护与管理;

(3)安全可靠性高:

后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全、可靠;

(4)使用模块化设计的方法:

使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护;

(5)操作简单,维护方便:

每个子系统都具有相对独立的系统维护功能

对可变化的项目可自行维护;

(6)查询功能强大:

可以对宠物的基本情况、用户基本情况,宠物主人信息,用户留言等按各种方式查询,可形成各种表单,同时还可对其进行汇总,使管理人员能及时准确地掌握用户和其宠物的基本情况。

2.2宠物管理系统的总体设计:

本宠物商店管理系统是基于B/S架构下的多层结构应用系统。

B/S(Browser/Server)结构即浏览器和服务器结构。

它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。

这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

 

2.3系统详细功能设计以及总体结构图:

通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。

新系统必须充分考虑今后可能的扩充和改变。

系统总体结构图:

系统实现的功能:

●宠物类别管理

Ø宠物类别查询

Ø宠物类别修改

Ø宠物类别删除

Ø新增宠物类别

●宠物信息管理

Ø宠物大小类别,是否有伤人危险

Ø宠物是否注册疫苗,何时,何地

Ø宠物有监管人或流浪或被社区收容

Ø宠物的其他信息以及备注

Ø宠物查询

Ø宠物修改

Ø宠物删除

Ø新增宠物

●宠物监管人管理

Ø宠物监管人性别年龄

Ø宠物监管人与宠物关系

Ø宠物监管人工作及工作住址

Ø宠物监管人联系方式等

Ø宠物监管人查询

Ø宠物监管人添加

Ø宠物监管人信息修改

Ø宠物监管人删除

●用户评论管理

Ø评论内容管理

Ø用户评论查询

●用户登录管理

Ø用户注册

Ø用户登录

Ø用户密码修改

●相关文档管理

Ø文档信息查看

Ø文档信息添加

Ø文档信息删除

●个人信息管理

Ø管理员密码更改

Ø退出系统

2.4数据库结构设计:

本系统分为4大模块,用户管理模块,宠物管理模块,文档管理模块以及留言板管理模块,其中宠物管理模块又分为宠物信息管理,宠物类别,宠物监管人信息管理。

注册用户以及管理员分别对数据管理拥有自己的权限。

图4-2:

整体框架E-R图

系统ER图

 

2.5系统的用例图

2.5.1总体用例分析

总体用例图

如图,用户管理、宠物,宠物类别及宠物监管人管理、留言板管理、文档管理四个模块构成了本宠物管理系统。

User是指系统用户,包括普通注册用户和管理员两种,普通注册用户只可以查看各种信息,以及添加与自己有关的信息,管理员才可以添加,查看,删除,修改各种信息。

2.5.2用户管理用例分析

用户管理用例图

如图,用户管理模块主要包括:

用户登陆、用户注册、用户信息修改、用户删除、用户信息查询五个功能组成。

2.5.3宠物,宠物类别及宠物监管人管理

信息管理用例图

如图,宠物,宠物类别,宠物监管人信息管理模块主要包括:

宠物信息管理,宠物类别管理,宠物监管人信息管理三个功能模块组成。

2.5.4留言板管理

留言板管理用例图

如图,留言板管理模块主要包括:

留言板列表,留言板内容两个个内容组成。

2.5.5文档管理

文档管理用例图

文档管理模块主要包括:

文章列表、文章内容两个内容组成。

 

2.6系统出错处理设计:

(1)用户输入账号跟密码错误,需要在登录框提示“信息错误,请重新填写!

”。

(2)用户注册账户时用了跟别人一样的账户名,需要在注册页面提示“用户名已存在!

”。

(3)用户在提交注册信息时,有姓名账号密码等未填写时,需要弹出提示框:

“未填写的内容不能为空!

”。

(4)用户在添加宠物有的时候,如果有未填写或为选择的状况,需要在该页面弹出提示框“未填写的内容不能为空!

”。

 

三、宠物管理系统的实现

3.1宠物管理系统数据库的实现

Hibernate可以通过一个XML的mapping文件把一个POJO(Plainoldjavaobject)和数据库中的表对应起来,在这个XML文件(一般命名为*.hbm.xml)中,配置好Object和数据库中表的映射关系,然后把这个mapping加入到hibernate.cfg.xml中,这样Hibernate在启动时就可以加载这些mapping,并可以根据配置文件对对象实现自动的加载,并且可以对这些Object自动的维护。

Session工厂的配置信息:

applicationContext-bean.xml

xmlversion="1.0"encoding="UTF-8"?

>

--

-Middletierapplicationcontextdefinitionfortheimagedatabase.

-->

//www.springframework.org/schema/beans"

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xmlns:

aop="http:

//www.springframework.org/schema/aop"

xmlns:

context="http:

//www.springframework.org/schema/context"

xmlns:

tx="http:

//www.springframework.org/schema/tx"

xsi:

schemaLocation="http:

//www.springframework.org/schema/beanshttp:

//www.springframework.org/schema/beans/spring-beans-2.5.xsd

http:

//www.springframework.org/schema/aophttp:

//www.springframework.org/schema/aop/spring-aop-2.5.xsd

http:

//www.springframework.org/schema/contexthttp:

//www.springframework.org/schema/context/spring-context-2.5.xsd

http:

//www.springframework.org/schema/txhttp:

//www.springframework.org/schema/tx/spring-tx-2.5.xsd">

--抽象bean,是所有bean的父bean-->

--bean-->

以上代码是applicationContext-bean.xml文件中Session工厂的配置信息

宠物信息数据库表:

如表所示,这是宠物信息的表,id是系统自动生成,其余的分别为宠物姓名,宠物类型,简介,添加该宠物的用户id,图片,年龄是否疫苗,疫苗时间,疫苗地点,是否领养,是否伤人等宠物信息。

接下来会对它如何连接到工程以及如何实现该功能做详细介绍。

其中图片在petaction中默认由本地,上传到服务器上的upload文件夹中,以便游客浏览以及管理员管理,id为系统自动+1生成,userid与user列表中的userid一致,typename与t_type列表中的typename一致,需要t_type预添加。

3.3宠物管理系统功能说明

根据对宠物管理系统业务流程的分析,用户登录后要能自己添加自己的宠物信息,包括宠物的姓名,年龄,宠物的id,上传图片,是否疫苗,疫苗事件,疫苗地点,是否领养以及是否伤人等信息。

用户登录后可以浏览别的用户的宠物信息,而管理员可以对用户前台添加的信息进行修改与删除。

3.4主要的宠物信息管理的实现

3.4.1DAO层的实现

数据访问层,又称DAO层,在该层主要完成对象-关系映射的建立,通过这个映射,再通过访问业务对象即可实现对数据库的访问,使得开发中不必再用SQL语句编写复杂的数据库访问程序,这样就简化了对数据库的访问,提高了开发效率。

同时通过对象-关系映射的配置,可以建立业务对象之间的复杂关系,如一对多、多对一、一对一、多对多等关系。

这样就不再需要在数据库中建立表之间的复杂联系,使得业务对象之间的关系和数据库相分离,简化了数据库的建立和维护。

在这一层中主要使用Hibernate框架来实现。

Tpet以及Tpet.hbm.xml为hibernate自动生成文件,用于连接数据库。

3.4.2Service层的实现

Service为业务逻辑层,主要业务逻辑包括这些类分别实现了相应的接口,这些类在工作的过程中还需要依赖相应的DAO对象和JavaBean对象。

实际操作时,在Action中通过Service对DAO接口进行调用,使整个系统有良好的层次。

比如这边Petservices调用TPet,而PetserviceImpl继承Petservices,进行查询、添加、修改和删除操作。

Petservices代码:

importcom.oa.models.TPet;

importcom.oa.utils.PageInfo;

publicinterfacePetServices{

//查询

publicPageInfoqueryPet(intcurrentpage,intpageunit,

HttpServletRequestrequest,Stringurl,Stringcond);

//添加

publicBooleanaddPet(TPetpet);

//修改

publicBooleanupdatePet(TPetpet);

//ID查询

publicTPetgetPet(Integerid);

//删除

publicTPetdelPet(Integerid);

}

PetserviceImpl主要代码:

publicclassPetServicesImplextendsAbstractServicesimplementsPetServices{

//查询

publicPageInfoqueryPet(intcurrentpage,intpageunit,

HttpServletRequestrequest,Stringurl,Stringcond){

introwCount=this.getPetsCount(cond);

Listlist=this.getPets(currentpage,

pageunit,cond);

PageInfoPageInfo=newPageInfo(currentpage,pageunit,rowCount,url,

list);

returnPageInfo;

}

//获得

publicListgetPets(intcurrentpage,intpageunit,

Stringcond){

try{

Stringhql="fromTPetawhere1=1"+cond;

returnthis.query(hql,currentpage,pageunit);

}catch(Exceptione){

e.printStackTrace();

}

returnnull;

}

//添加

publicBooleanaddPet(TPetpet){

save(pet);

returntrue;

}

以上为查询以及添加的代码,其余删除修改略。

3.4.3Action层的实现

Action用于处理视图层与业务层之间的衔接,当页面产生一个动作请求时候,通过Struts配置文件找到对应的Action中的接口,经过Action处理后返回结果并从Struts的配置文件中找到对应的跳转页面。

查询代码:

publicStringqueryPet()throwsException{

if(getSessionAttribute("querypageunit")==null){

setSessionAttribute("querypageunit",this.pageunit);

}

StringBuffercond=newStringBuffer();

if(null!

=searchname&&""!

=searchname.trim()){

cond.append("anda.petnamelike'%"+searchname.trim()+"%'");

}

intcurpage=Integer.parseInt(this.getCurrentpage(ServletActionContext.getRequest()));

intpageunit=Integer.parseInt(this.getPageunit(ServletActionContext.getRequest(),"querypageunit"));

Stringurl="pet_queryPet?

a=a";

PageInfopageInfo=this.petServices.queryPet(curpage,

pageunit,ServletActionContext.getRequest(),url,cond.toString());

setRequestAttribute("pageinfo",pageInfo);

setRequestAttribute("searchname",this.searchname);

return"queryPet";

}

预添加以及添加代码:

publicStringpreaddPet()throwsException{

Listlist=typeServices.queryType();

setRequestAttribute("list",list);

return"preaddPet";

}

publicStringaddPet()throwsException{

TUseruser=(TUser)getSessionAttribute("user");

TPetpet=newTPet();

pet.setAge(age);

pet.setIsbiter(isbiter);

pet.setIsuser(isuser);

pet.setPetname(petname);

pet.setRemark(remark);

pet.setTypename(typename);

pet.setUserid(user.getUsername());

pet.setVacadrr(vacadrr);

pet.setVaccin(vaccin);

pet.setVaccin(vaccin);

pet.setVacdate(vacdate);

//将图片上传到工程下的upload文件夹中

StringtargetDirectory=ServletActionContext.getRequest()

.getRealPath("/upload");

StringtargetFileName=generateFileName(pictureFileName);

Filetarget=newFile(targetDirectory,targetFileName);

FileUtils.copyFile(picture,target);

pet.setPicture(targetFileName);

petServices.addPet(pet);

return"addPet";

}

预添加将后台管理员添加的宠物类型添加到宠物信息,添加功能中有图片上传。

查看代码:

publicStringviewPet()throwsException{

TPetpet=petServices.getPet(id);

setRequestAttribute("pet",pet);

return"viewPet";

}

其余修改删除代码等省略。

struts中宠物管理功能的实现:

/files/pet/list.jsp

pet_queryPet

pet_queryPet

pet_queryPet

/files/pet/add.jsp

/files/pet/update.jsp

/files/pet/view.jsp

3.4.4静态Jps页面的实现表现层

其余静态页面运用css模块统一风格,其中pet功能页面代码均在files/pet/文件夹中,添加宠物信息为add.jsp,查看宠物信息为view.jsp,查看宠物列表为list.jsp,修改宠物信息为update.jsp,由struts控制跳转,代码略。

结合Struts的表现层标签,JSP可完成全部的表现层功能一一数据收集、数据表示和客户端数据校验

 

四、实现效果

主界面,要求具有分类展现功能,

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

当前位置:首页 > 表格模板 > 合同协议

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

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