网上购物系统子系统设计报告Word文档下载推荐.docx
- 文档编号:18331299
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:25
- 大小:311.99KB
网上购物系统子系统设计报告Word文档下载推荐.docx
《网上购物系统子系统设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《网上购物系统子系统设计报告Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。
本文档描述各子系统的详细设计和实现过程。
1.2文档范围
功能描述,模块定义,实现流程
1.3读者对象
本文档适合开发人员、项目经理、营销人员、用户和测试人员。
1.4参考文献
1.5术语与缩写解释
缩写、术语
解释
1.6流程图图例解释
2.模块汇总
2.1模块汇总表
主界面子系统
模块名称
功能简述
main.jsp
系统的主页视图,其中包括显示当前用户的欢迎信息和权限信息,登录和注册链接,主菜单各链接和其他操作链接。
com.sol.service.in.IndexController
主页视图的映射控制器,执行html对jsp的映射,并且在其中包括有对用户身份的判断(当前用户是否已登录),设置导向视图。
com.sol.service.in.CancelCookieController
Cookie清除控制器,用来删除保存在Cookie中的用户信息。
org.acegisecurity.ui.logout.LogoutFilter
退出系统过滤器,在退出系统时执行一些附加操作,比如:
清除Session保存的信息,指定退出后返回的页面等等。
org.acegisecurity.concurrent.ConcurrentSessionFilter
Session并发控制器,限制用户的并发数,模式为后者有先。
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter
Cookie用户信息过滤器,用于从Cookies中获取有限的用户信息,自动登录系统。
登录子系统
login/loing.jsp
用户登录视图,包括输入用户名,密码,验证码和Cookie保存时间等信息并进行相关的前台验证,设置其他链接。
com.sol.acegi.UserAuthenticationProcessing
登录认证过滤器,设置认证管理器和Session并发控制器,设置转入和转出页面。
com.sol.acegi.AcegiJdbcDaoImpl
注册用户信息类,认证过滤器从数据库获取的数据形成封装成,该类设置查询的Sql,数据库访问url等信息。
org.acegisecurity.providers.ProviderManager
认证管理器,设置认证提供者,用于对登录用户进行认证,判断当前用户的身份和权限,并保存用户信息到HttpSession中备用。
org.acegisecurity.providers.dao.DaoAuthenticationProvider
认证提供者,表明是有Dao类负责获取用户信息进行认证,由其设置注册用户信息,相关的加密信息。
com.sol.acegi.UserTokenBasedRememberMeServices
ReMemberMe控制器,用于保存用户信息到Cookie中,期限用户选择。
com.sol.service.login.ValidatCodeController
验证码控制器,生成验证码图片,并将验证码保存到session。
org.springframework.web.servlet.mvc.UrlFilenameViewController
文件名映射控制器,完成文件名从html到jsp直接映射。
注册子系统
login/register.jsp
用户注册视图,设置必填信息和选填信息并进行相关的前台验证,设置其他链接。
com.sol.service.login.UserRegisterController
注册控制处理器,设置表单验证器,执行验证前和验证后的附加方法,执行表单提交方法将注册信息入库,设置注册成功或失败的指向视图。
com.sol.service.login.validator.UserRegisterValidator
注册表单验证器,进行表单输入信息的业务逻辑验证。
系统管理子系统
administer/menuTree.jsp
系统管理菜单树,显示系统管理的分级菜单。
administer/addGoodsTypeInfo.jsp
添加商品种类视图,提供前台输入界面,完成客户端验证。
com.sol.service.admin.AddGoodsTypeInfoController
添加商品种类控制器,完成商品种类的数据封装,校验和引用持久化类保存数据,完成视图的映射。
com.sol.service.admin.AdminDataTransfersForDWR
系统管理类的dwr调用实现类,调用商品信息持久化类完成相关操作。
mon.DataAssembledForPojoClass
表单数据封装类,将视图提交的数据封装为pojo对象,提供给控制器调用。
queryGoodsTypeInfo.jsp
查询商品种类视图,提供前台输入界面,完成客户端验证。
com.sol.service.admin.QueryGoodsTypeInfoController
查询和修改商品种类控制器,完成商品种类的数据封装,校验和引用持久化类返回查询数据或保存修改数据,完成视图的映射。
3.主界面子系统的模块设计
3.1功能描述
显示主界面视图,包括商品主菜单、分类菜单、系统管理员菜单、用户登录、注册、退出和Cookies清除功能链接及其他常用链接,用户登录身份认证,session并发控制等功能。
3.2流程图
3.3模块定义
功能描述
主页视图的映射控制器,执行html对jsp的映射,并且在其中包括有对用户身份的判断(当前用户是否已登录),设置导向视图
主要方法
获取主界面视图和模型对象方法
protectedModelAndViewhandleRequestInternal(HttpServletRequestrequest,HttpServletResponseresponse)
主要属性
补充说明
删除cookie信息后,获取转向视图和模型对象方法
删除cookie业务方法
privateCookiemakeCaneclCookie(HttpServletRequestrequest)
退出系统过滤器,用户在退出系统后,执行相关的附加操作,如删除保存在Session的用户信息等等。
退出系统主业务方法
publicvoidlogout(HttpServletRequestrequest,HttpServletResponseresponse,Authenticationauthentication)
退出系统功能的链接字符串
privateStringfilterProcessesUrl
完成业务方法后转向视图名称
privateStringlogoutSuccessUrl
Session并发过滤器,限制用户的并发数,模式为后者有先。
主业务方法
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)
该对象内保存对应用户的session数
privateSessionRegistrysessionRegistry
privateStringexpiredUrl
remember管理器
privateRememberMeServicesrememberMeServices
认证管理器
privateAuthenticationManagerauthenticationManager
4.登录子系统的模块设计
4.1功能描述
显示登录视图界面,完成前后台验证和用户登录功能。
4.2流程图
4.3模块定义
验证成功时执行的方法,重写该方法,加入对验证码的校验。
publicAuthenticationattemptAuthentication(HttpServletRequestrequest)
验证失败时执行的发放,重写该方法,加入对成功页面的参数传递。
protectedvoidsuccessfulAuthentication(HttpServletRequestrequest,
HttpServletResponseresponse,AuthenticationauthResult)
过滤器拦截URL
认证通过后转向的视图逻辑名
privateStringdefaultTargetUrl
认证失败转向的视图逻辑名
privateStringauthenticationFailureUrl
认证管理器,设置认证提供者,用于对登录用户进行认证,判断当前用户的身份和权限,并保存用户信息到HttpSession中备用
publicAuthenticationdoAuthentication(Authenticationauthentication)
认证提供者列表
privateListproviders
并发session控制器
privateConcurrentSessionControllersessionController
publicAuthenticationauthenticate(Authenticationauthentication)
属性
用户信息
privateUserDetailsServiceuserDetailsService
用户信息的加密方式
privatePasswordEncoderpasswordEncoder
加密盐
privateSaltSourcesaltSource
从数据库中获取用户信息,重写该方法,以方便获取更多用户信息
publicIUserDetailsloadUserByUsername(Stringusername)
数据源
privateDataSourcedataSource
用户信息查询Sql字符串
privateStringusersByUsernameQuery
权限信息查询sql字符串
privateStringauthoritiesByUsernameQuery
publicvoidloginSuccess(HttpServletRequestrequest,
HttpServletResponseresponse,
AuthenticationsuccessfulAuthentication)
Cookies中保存的键值
privateStringkey
Cookies中保存的有效期
protectedlongtokenValiditySeconds
验证码控制器,生成验证码图片,并将验证码保存到session
protectedModelAndViewhandleRequestInternal(HttpServletRequestrequest,HttpServletResponseresponse)
图片高度
privateintheight
图片宽度
privateintwidth
字数
privateintcodeCount
5.注册子系统的模块设计
5.1功能描述
显示注册视图界面,完成前后台验证和会员注册功能。
5.2流程图
5.3模块定义
表单提交方法,将注册信息存入数据库
protectedModelAndViewonSubmit(Objectcommand)
该方法用来执行验证码的校验,在验证器工作之情执行
protectedvoidonBind(HttpServletRequestrequest,Objectcommand,
BindExceptionerrors)
该方法用来执行判断是否有重复用户名,在验证器工作之后执行
protectedvoidonBindAndValidate(HttpServletRequestrequest,
Objectcommand,BindExceptionerrors)
注册请求发起页面
privateStringformView
成功注册后的转向页面
privateStringsuccessView
数据持久化类
privateUserInfoJdbcDaouserInfoJdbcDao
验证器类
privateValidatorvalidator
publicvoidvalidate(Objecttarget,Errorserrors)
验证Email(MSN)格式
privatevoidvalidateEmail(Stringemail,Errorserrors)
验证日期格式
privatevoidvalidateDate(Stringphone,Errorserrors)
验证电话号码格式
privatevoidvalidatePhone(Stringphone,Errorserrors)
验证QQ格式
privatevoidvalidateQQ(Stringphone,Errorserrors)
合法的Email(MSN)正则表达式
privatestaticfinalPatternEMAIL_PATTERN=Pattern.compile("
(?
:
\\w[-._\\w]*\\w@\\w[-._\\w]*\\w\\.\\w{2,3}$)"
)
合法的电话号码正则表达式
privatestaticfinalPatternPHONE_PATTERN=Pattern.compile("
(^(\\d{2,4}[-]?
)?
\\d{3,8}([-]?
\\d{3,8})?
([-]?
\\d{1,7})?
$)|(^0?
1[35]\\d{9}$)"
合法的日期正则表达式
privatestaticfinalPatternDATE_PATTERN=Pattern.compile("
(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|
[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|
((0[469]|11)-(0[1-9]|[12][0-9]|30))|
(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|
[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)"
合法的QQ号正则表达式
privatestaticfinalPatternQQ_PATTERN=Pattern.compile("
([0-9]{5,15})"
6.系统管理子系统的模块设计
6.1添加商品类别信息
6.1.1功能描述
添加商品类别和类别属性。
6.1.2流程图
6.1.3模块定义
添加商品种类控制器,完成商品种类的数据封装,校验和引用持久化类,完成视图的映射。
从数据库获取初始化数据,传递到视图页面中
protectedMapreferenceData(HttpServletRequestrequest)
主业务方法,引用持久化类保存数据,返回视图导向页面
protectedModelAndViewonSubmit(HttpServletRequestrequest,
HttpServletResponseresponse,Objectcommand,BindExceptionerrors)
商品信息持久化类
privateGoodsInfoJdbcDaogoodsInfoJdbcDao
类别重复名验证,根据父id和类别名称,判定是否存在相同的类别名称
publicbooleanquery(StringfatherId,StringtypeName)
商品信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 购物 系统 子系统 设计 报告