java程序设计.docx
《java程序设计.docx》由会员分享,可在线阅读,更多相关《java程序设计.docx(38页珍藏版)》请在冰点文库上搜索。
![java程序设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/25/92cbfcfa-73b9-4105-a4dc-426367f62423/92cbfcfa-73b9-4105-a4dc-426367f624231.gif)
java程序设计
湖北民族学院2012年秋季期末试卷
A或B
卷
课程
Java与Web工程
使用班级
-04
制卷份数
考生姓名
命题人
张华
教研室审核人
单位审核人
答题纸数
班级
题号
一
二
三
四
五
六
七
八
九
十
十一
合计
学号
评分
分数
阅卷人
要求:
1、命题一律用A4纸;
2、除填空题、选择题外,题间不留空。
考查形式为论文撰写,要求如下:
一、内容:
以一个实际SSH系统(Struts+Hiberate+Spring)为核心,从系统产生背景、问题提出、问题分析、系统分析、系统设计、系统实现等方面进行阐述。
二、具体要求:
1、题名要求简明扼要,能反映论文主题;摘要必须说明研究目的、方法、结果、结论,字数200字左右为宜,忌与引言及结论中的内容雷同;
2、字数3000~5000字
3、论文参考架构(请注意各级内容的字体格式,以示区分)
论文标题(三号黑体)
班级、学号、姓名(五号宋)
摘要(五号黑):
内容(五号宋)
关键字(五号黑):
内容(五号宋)
1 引言
2系统设计 (小三黑)
2.1设计原则(四号黑)
正文(五号宋)
2.2功能模块划分
3系统实现
3.1实现技术
3.2具体实现
3.3性能优化(如果有的话)
4 结束语
基于SSH电子商城的课程设计
班级:
摘要
随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很在的推进作用。
本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程,并对其总结。
项目主要应分层架构思想,通过J2EE轻量级框架SSH与前台Ajax技术来相结合来实现。
在设计种过中全方位的应用软件工程的开发思想,对项目进行UML建模包括各模块的类图、时序图等。
因为系统是基于B/S结构,所以适应范围广阔。
关键词:
电子商城,SSH,Ajax,框架
Abstract
Withthedevelopmentofinformationnetworks,thenetworkeffectofincreasingpeople'slives,onlineshoppingisbecomingatrend,whichisthedevelopmentofelectronicstoreplayedaroleinthepromotion.Thisarticlemainlythroughtheapplicationofe-mallenvironmentandthemainachievementoffunctionalanalysis,describedintheElectronicMall'sdesignandimplementation,anditssummary.Applicationarchitecturemodelmainlyanemia,lightweightJ2EEframeworkthroughSSHwiththefrontdesktothecombinationofAjaxtechnologytoachieve.Plantedinthedesignofafullrangeofapplicationsinthedevelopmentofsoftwareengineeringideas,theprojectmodule,UMLmodelingincludingclassdiagrams,sequencediagrams.BecausethesystemisbasedonB/Sstructure,sotoadapttoabroadrange.
Keywords:
ElectronicMall,SH,Ajax,Framework
1.引言
网上购物迅猛发展,导致电子商城大量的涌现,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。
本商城主要利用J2EE与Ajax技术进行开发,有很强的安全性、可靠性、可扩展性。
其前台实现了从商品选购到订单提交整个业务流程,后台实现了对整个系统的管理,就整体功能而言,基本能满足基本的网上购物需求,相信一定能让用户感到便捷、快速,让企业管理、维护更简单。
2.系统设计
2.1设计原则
正文(五号宋)本系统的开发主要分为以下几层:
表示层、业务层、DAO层、持久层。
业务层和DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。
分层结构图如下所示。
主要开发工具为:
MyEclipse8.6、Mysql6.0、Tomcat6.0、PowerDesigner12。
主要技术包括:
J2EE轻量级框架S2SH、MD5算法、Log4j、Ajax、JSON。
S2SH集成框架是Struts、Spring和Hibernate三种技术的有机融合,是目前应用最广泛的JavaEE架构。
在S2SH集成框架中,Struts的作用是提供MVC模型,将界面、业务逻辑和数据分离,并提供一个高可扩展的架构。
Spring作为核心,向上整合MVC框架,向下整合ORM框架,使用Spring的IoC容器来管理各组件之间之间的依赖关系,Spring的声明事务将负责逻辑层组件的事务管理。
而Hibernate提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。
Struts是目前创建Web应用最常用的表现层MVC框架实现,是JakartaApache的一个开源项目。
基于Model2的Struts框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。
作为开源项目,Struts经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。
Struts2.0MVC结构图
Spring由RodJohnson创建,它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
2.2功能模块划分
整个系统主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。
商品信息模块:
本模块主要用来显示、查询和商品评论的功能。
主要涉及的类和方法如下类图。
其中PageServiceImpl为分页实现类,在整个系统中属于一个公共组件,故在各模块中不再重复介绍。
另一方面各模块各层之间类的关系也大致相同,都可以参考以下类图。
商品模块类图
类名
含义
MerchantableAction
作为其控制层内容,调用相应的业务方法
HeadService
业务层抽象类,其实现类中包含相应的业务方法
MerchantableDAO
包含相应的持久层方法
类名:
MerchantableAction
方法
含义
showByType()
调用业务层方法按类别显示商品
showById()
调用业务层方法显示某种商品
research()
调用业务层方法查询商品
showAllMer()
调用业务层方法显示所有商品
deleteMer()
调用业务层方法删除商品
updateMer()
调用业务层方法修改商品信息
saveMer()
调用业务层方法保存商品信息
类名:
HeadService
方法
含义
findById()
调用持久层方法按商品编号查询商品
findByType()
调用持久层方法按种类查询商品
researchMer()
按条件查询商品
deleteMer()
删除商品
updateMer()
修改商品
saveMer()
保存商品
类名:
MerchantableDAO
方法
含义
findAllByKeyword()
按关键字查询所有商品
findByTypes()
按各类查询商品
findById()
按商品编号查询商品
delete()
删除商品
findAll()
查询所有商品
saveOrUpdate()
保存或修改商品
findByNum()
依据数量查询
findPartByTyps()
依据种类查询部分商品
会员模块:
在本模快中用到了两控制层类LoginAction和LoginJsonAction,前者用于普通的控制调用业务层方法,同时返回相应的业务逻辑视图。
后者则是用Struts和Json相结合应用的,首先是能过Ajax提交数据当相应的action,然后调用业务层方法处理完成返回并不是返回某个逻辑视图,而是将返回的信息通过Json进行数据转换,前台通过Ajax接收数据。
类名
含义
LoginAction
普通形式的控制器,调用相应的业务层方法
LoginJsonAction
Ajax提交时使用的控制器
UserService
业务层类,包含各种相应的业务处理方法
MemberDAO
包含相应的持久层方法
LoginAction类:
方法
含义
modifyPwd()
调用业务层方法修改会员密码
modifyAddress()
调用业务层方法修改会员地址等信息
regist()
调用业务层方法注册
showMem()
调用业务层方法后台显示所有会员
delMem()
调用业务层方法删除会员
LoginJsonAction类:
方法
含义
execute()
调用业务层方法会员登录校验
UserService类:
方法
含义
modifyPwd()
修改会员密码
modifyAddress()
修改会员地址等信息
save()
保存会员
delMem()
删除会员
MemberDAO类:
方法
含义
findByNameAndPwd()
按用户名和密码查询用户
saveOrUpdate()
保存或修改会员信息
findAll()
查询所有会员
delete()
删除会员
购物车模块:
同上面的会员模板,在此模块中也有两个控制类CartAction和CartJsonAction。
类名
含义
CartAction
普通形式的控制器,调用相应的业务层方法
CartJsonAction
Ajax提交时使用的控制器
HeadService
业务层类,包含各种相应的业务处理方法
CartDAO
包含相应的持久层方法
CartAction类:
方法
含义
execute()
调用业务层方法查询会员相应的购物车
update()
调用业务层方法修改购物车
delete()
调用业务层方法删除购物车
CartJsonAction类:
方法
含义
add()
添加商品到购物车
HeadService类:
方法
含义
findCartByMember()
依据会员查询相应的购物车
updateCart()
修改购物车
deleteCart()
删除购物车中的商品
addMerToCart()
将商品加入购物车
CartDAO类:
方法
含义
findByMember()
依据会员查询相应的购物车
updateCart()
修改购物车
delete()
删除购物车中的商品
saveCart()
将商品加入购物车
订单模块
类名
含义
OrderAction
控制器调用相应的业务层方法
HeadService
业务层类,包含各种相应的业务处理方法
OrderDAO
包含相应的持久层方法
OrderAction类:
方法
含义
execute()
调用业务层方法显示订单
addOrder()
调用业务层方法添加
historyOrder()
调用业务层方查看历史订单
modifyOrder()
调用业务层方法进入修改订单
deleteOrder()
调用业务层方法删除订单
showOrders()
调用业务层方法显示所有订单
submit()
调用业务层方法确认定单、发货
HeadService类:
方法
含义
addOrder()
添加订单
findHistoryOrder()
查寻历史订单
deleteOrde
删除订单
updateOrders()
修改订单
OrderDAO类:
方法
含义
findById()
据编号查询订单
findHistoryOrder()
查寻历史订单
delete()
删除订单
saveOrUpdate()
保存或修改订单
商品类别模板:
类名
含义
TypesAction
控制器调用相应的业务层方法
HeadService
业务层类,包含各种相应的业务处理方法
TypesDAO
包含相应的持久层方法
TypesAction类:
方法
含义
getAllType()
调用业务层方法获取类别
deleteType()
调用业务层方法删除
addType()
调用业务层方法添加种类
updateType()
调用业务层方法修改种类
recommend()
调用业务层方法推荐某类商品到首页
cancelRecommend()
调用业务层方法取消推荐
HeadService类:
方法
含义
findByReCommend
查询推荐的商品
findAllTypes()
查询所有类别
deleteType()
删除类别
saveType()
保存类别
updateType()
修改类别
TypesDAO类:
方法
含义
findByRecommend()
查询被推荐的类别
findById()
据编号查询所有类别
findAll()
查询所有类别
saveOrUpdate()
保存或修改类别
delete()
删除类别
后台管理员模块:
类名
含义
AdminAction
控制器调用相应的业务层方法
UserService
业务层类,包含各种相应的业务处理方法
AdminDAO
包含相应的持久层方法
AdminAction类:
方法
含义
valAdmin()
调用业务层方法校验用户
save()
调用业务层保存管理员
update()
调用业务层方法修改管理员权限
delete()
调用业务层方法删除管理员
modifyPwd()
调用业务层修改管理员密码
exit()
注销
UserService类:
方法
含义
validateAdmin()
校验用户
saveAdmin()
保存管理员
updateAdmin()
修改管理员
delAdmin()
删除管理员
AdminDAO类:
方法
含义
findAdminByNameAndPwd
据用户名与密码查询用户
saveOrUpdate()
保存或保存管理员
Delete()
删除管理员
findById()
依据编号查询管理员
3系统实现
3.1实现技术
本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要实现模块见图3-1;后实现对前台功能信息的管理,主要实现模块见图3-2。
前台功能模块:
图3-1:
前台功能模块
后台功能模块:
图3-2:
后台功能模块
流程图前台主要分为非会员用户和会员用户,其中只有会员用户才能实现在线购物,而非会员用户必需进行注册。
后台用户主要分为商品管理员、会员管理员、定单管理员、系统维护员,不同的管理员实现不同的功能。
前台流程图:
图3-8:
前台流程图
后台流程图:
3.2项目具体实现代码
1.applicationContext.xml配置文件
xmlversion="1.0"encoding="GBK"?
>
xmlns="http:
//www.springframework.org/schema/beans"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xmlns:
aop="http:
//www.springframework.org/schema/aop"
xmlns:
tx="http:
//www.springframework.org/schema/tx"
xmlns:
p="http:
//www.springframework.org/schema/p"
xsi:
schemaLocation="http:
//www.springframework.org/schema/beanshttp:
//www.springframework.org/schema/beans/spring-beans-2.5.xsd
http:
//www.springframework.org/schema/txhttp:
//www.springframework.org/schema/tx/spring-tx-2.5.xsd
http:
//www.springframework.org/schema/aophttp:
//www.springframework.org/schema/aop/spring-aop-2.5.xsd">
destroy-method="close">
--指定连接数据库的驱动-->
--指定连接数据库的URL-->
mysql:
//localhost:
3306/db_eshop3?
useUnicode=true&characterEncoding=utf8"/>
--指定连接数据库的用户名-->
--指定连接数据库的密码-->
--指定连接数据库连接池的最大连接数-->
--指定连接数据库连接池的最小连接数-->
--指定连接数据库连接池的初始化连接数-->
--指定连接数据库连接池的连接的最大空闲时间-->
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
org.hibernate.dialect.MySQLDialect
--是否根据需要每次自动创建数据库-->
update
--显示Hibernate持久化操作所生成的SQL-->
true
--将SQL脚本进行格式化后再输出-->
true
com/eshop/bean/Admin.hbm.xml
com/eshop/bean/Cart.hbm.xml
com/eshop/bean/Evaluate.hbm.xml
com/eshop/bean/Member.hbm.xml
com/eshop/bean/Merchantable.hbm.xml
com/eshop/bean/Orders.hbm.xml
com/eshop/bean/Record.hbm.xml
com/eshop/bean/Types.hbm.xml
--****************事务管理配置***************-->