资源描述
广东警官学院
GUANGDONG POLICE COLLEGE
本科毕业论文(设计)
基于jsp网络书店设计和实现
系 (部)
计算机系
专 业
计算机科学和技术
学 号
学生姓名
刘文静
指导老师
王晓雷
提交日期
4 月 1 日
广 东 警 官 学 院
本科毕业论文
基于jsp网络书店设计和实现
专 业:计算机科学和技术
学 号: 07140238
学生姓名: 刘文静
指导老师: 王晓雷
毕业论文(设计)诚信申明书
本人申明:我所提交毕业论文(设计)是我在指导老师指导下独立研究、写作结果,论文中所引用她人不管以何种方法公布文字、研究结果,均在论文中加以说明;相关老师、同学和其它人员对本文写作、修订提出过并为我在论文中加以采纳意见、提议,均已在我致谢辞中加以说明并深致谢意。
论文作者署名:刘文静
日期:4月1日
毕业论文(设计)版权使用授权书
本人所提交毕业论文(设计)是我在校期间所完成学业组成部分,是在广东警官学院老师指导下完成,所以,本人特授权广东警官学院可将本毕业论文全部或部分内容编入相关书籍、数据库保留,可采取复制、印刷、网页制作等方法将论文文本和经过编辑、批注等处理论文文本提供给读者查阅、参考,可向相关学术部门和国家相关教育主管部门呈送复印件和电子文档。本毕业论文不管做何种处理,必需尊重本人著作权,署明本人姓名。
论文作者署名:刘文静
日期:4月1日
指导老师署名:
日期:年月日
摘要
本系统是由spring security+struts 2 + mybatis框架组合而成一个网上图书选购系统,由spring security安全框架提供用户身份认证和访问控制;struts 2 实现对系统部分拦截处理;mybatis关键是后台数据库管理。
本系统关键功效有:用户登录、注册、浏览图书、对个人信息修改、购物车、下订单、用户管理、书目管理、订单管理等。
关键词: spring security struts 2 mybatis
目录
摘要 I
目录 I
第一章 引言 1
1 课题意义和目标 1
2 研究现实状况 1
2.1 中国研究情况: 1
2.2 国外研究情况 2
3 开发平台和相关技术选择介绍 2
3.1 jsp页面组成 2
3.2 JavaBean技术介绍 3
3.3 jsp运行环境 4
4 系统开发环境 4
4.1 运行环境介绍 4
4.2 服务器配置 5
4.3 数据库介绍和后台环境配置 5
第二章 需求分析和可行性研究 6
1 系统说明 6
2 系统功效介绍 7
2.1 基础功效 7
2.2 用户界面设计 7
2.3 测试环境要求 10
第三章 总体设计 10
1 体系结构设计 10
1.1 spring security 10
1.2 struts2 10
1.3 Mybatis 11
2 功效模块划分 11
3 数据库设计 12
3.1 E-R图 12
3.2 表结构 14
第四章 具体设计 15
1 系统概述 15
1.1 数据流图 16
1.2 关键用例图: 18
2 系统关键文件 18
2.1 配置文件 18
2.2 Jsp文件 21
2.3 Java文件 23
3 系统基础框架和网站界面截图 26
3.1 基础框架配置: 26
3.2 页面效果: 31
第五章 测试 37
1 测试目标 37
2 测试方法 37
3 测试用例 38
3.1 登录测试 38
3.2 前台图书显示测试 40
3.3 前台显示图书具体内容测试 40
3.4 后台管理测试 40
第六章 结论 41
第七章 参考文件 41
致 谢 42
第一章 引言
1 课题意义和目标
现今社会,大家已经离不开网络了,网络已经成为人和人之间交流一个形式,网上购书已经成为一个时尚。那么,在网上销售过程中,网上书店系统作为一个媒介,已经显得尤其关键。
网上书店为大家提供了更宽广环境:大家不受时间限制,不受空间限制,不受传统购书很多限制,能够随时随地在网上交易;热衷书店者几乎全部是奋力开拓事业者和苦心求学深造者,时间对于她们而言无比宝贵,网上书店节省了大量时间,这对于那些没有时间常常逛传统书店或其住所离传统书店很远读者来说,含有实际意义。网上书店降低了商品流通中间步骤,节省了大量开支,从而也大大降低了商品流通和交易成本。网上书店更符合时代要求。
在网上开书店关键有两种模式:一是建立自己图书销售网站;二是借助于部分大型相当成熟网上店铺平台。前者需要一定首期投入,而且要知道了解一定程度网络知识,再经营中推广宣传成本也比较高;后者不需要软件硬件知识,但对于首次开店投资者也不轻易,因为经验不足,再加上较大盲目性,没有认真,了解网上商城招商说明、收费标准等,所以带来一定困难。
2 研究现实状况
2.1 中国研究情况:
在中国,即使互联网开通较晚,但发展极为快速。1998年3月6日,由世纪互联通讯技术和中国银行共同携手成功完成了中国中国第一笔互联网上商品交易。这标志着中国网上销售已开始进入实用阶段。伴随互联网在中国大规模普及,信息技术在国际贸易和商业领域广泛应用,利用计算机技术、网络通信技术和互联网实现商务活动国际化、信息化和无纸化,已成为二十一世纪经济发展一大趋势。
大家日常生活已离不开网络。大家生活和工作将会越来越依靠数字技术发展,越来越数字化、网络化、电子化、虚拟化。网上购物也成为了电子商务一个时尚,而网上书店是最普遍,也最流行一个动态电子商务网站,它使每一位用户能够足不出户就能够搜索、查询到自己需要图书信息、购置到自己需要图书。
2.2 国外研究情况
因为中国物流市场已经对外开放,支撑中国网上书店物流产业正在蓬勃发展,部分国际物流企业如FEDEX和UPS等已经进入了中国市场,而中国本土物流企业也将在竞争中得到优化;中国人口基数大,且互联网用户增加快,网上书店拥有众多潜在用户;中国银行业也在主动提升网上服务能力以迎接来自国外银行竞争。全部这些全部为中国网上书店发展带来了机会。
3 开发平台和相关技术选择介绍
3.1 jsp页面组成
jsp页面组成关键是部分页面元素,包含:指令元素、脚本元素、标准动作元素。
指令元素:关键包含Page指令、Include指令、Taglib指令
Page指令:关键有一下这多个指令:import、session、contentType、buffer、isThreadSave、Info、errorPage、 isErrorPage
Include指令:将其它页面加入到目前页面,通常做法是将网站页头,页尾放在单独JSP文件中,然后经过include将它们加到各页面中,以实现复用。
Taglib指令
指明页面中要使用标签库。
脚本元素:包含申明、表示式、脚本、注释
申明
和JAVA类中申明一致,就相当于给类加上字段或方法;申明同时能够设置初始值,提供给其它申明,表示式或脚本使用。
表示式
表示式用于向页面输出.也就是简化版 out.println 语句。
脚本
脚本就是部分JAVA片段,只要符合JAVA语法语句全部能够写在这里.它能够使用JSP申明变量,方法,或引入类,引入JavaBean等。
注释
三种方法注释JSP代码:
<!- 注释 ->
<!-- <%= 代码 %> -->这种方法能够嵌入表示式,达成动态效果;
<%-- 服务端注释 --%>这种注释只有在服务器端代码上可见.也就是说在最终生成HTML中是看不到;
标准动作元素
<jsp:param>:用于传输参数,必需配合方法一起用。有下面多个:
<jsp:include>
动态加载HTML页面或JSP页面.在加载时还能够传参数。注意:include动作和include页面指令全部能够用来加载其它页面,但二者差异是:这里动作是在页面被运行时加入.而页面指令是在编译时就加入了。
<jsp:forward>
页面跳转:<jsp:forward page=”b.jsp” />
3.2 JavaBean技术介绍
Sun企业定义:JavaBean是一个可反复使用软件组件。实际上JavaBean是一个Java类,经过封装属性和方法成为含有某种功效或处理某个业务对象,简称bean。
因为javabean是基于java语言,所以javabean不依靠平台,含有以下特点:
1. 能够实现代码反复利用
2. 易编写、易维护、易使用
3. 能够在任何安装了Java运行环境平台上使用,而不需要重新编译。
JavaBean 是一个JAVA语言写成可重用组件。为写成JavaBean,类必需是具体和公共,而且含有没有参数结构器。JavaBean 经过提供符合一致性设计模式公共方法将内部域暴露组员属性。
用户能够使用JavaBean将功效、处理、值、数据库访问和其它任何能够用java代码发明对象进行打包,而且其它开发者能够经过内部JSP页面、Servlet、其它JavaBean、applet程序或应用来使用这些对象。用户能够认为JavaBean提供了一个随时随地复制和粘贴功效,而不用关心任何改变。
JavaBean可分为两种:一个是有用户界面JavaBean;还有一个是没有用户界面,关键负责处理事务(如数据运算,操纵数据库)JavaBean。JSP通常访问是后一个JavaBean。
JavaBean是可复用平台独立软件组件,开发者能够在软件结构器工具中其直接进行可视化操作。
JavaBean组成:属性、方法、事件
属性:
JavaBean提供了高层次属性概念,属性在JavaBean中不只是传统面向对象概念里属性,它同时还得到了属性读取和属性写入API支 持。属性值能够经过调用合适bean方法进行。比如,可能bean有一个名字属性,这个属性值可能需要调用String getName()方法读取,而写入属性值可能要需要调用void setName(String str)方法。
方法:
JavaBean中方法就是通常Java方法,它能够从其它组件或在脚本环境中调用。
事件:
Bean和其它软件组件交流信息关键方法是发送和接收事件。事件为JavaBean组件提供了一个发送通知给其它组件方法。
3.3 jsp运行环境
运行jsp,需要有支持jsp服务器,本系统使用服务器是tomcat7.0.41服务器。
4 系统开发环境
4.1 运行环境介绍
操作系统:windows 7
数据库:postgresql
开发工具:Eclipse Java EE IDE for Web Developers.版本: Kepler Service Release 1
开发语言:java、jsp
4.2 服务器配置
第一步:打开pache-tomcat-7.0.41安装目录下conf目录下server.xml文件,按需修改服务器链接端口,默认为:8080。
第二步:运行bin目录下startup.bat(windows下),浏览器地址栏输入http://localhost:8080,打开是tomcat服务器首页,以下所表示:
4.3 数据库介绍和后台环境配置
4.3.1 数据库介绍
PostgreSQL支持大部分 SQL标准而且提供了很多其它现代特征:复杂查询、外键、触发器、视图、事务完整性、MVCC。PostgreSQL 采取是比较经典C/S(client/server)结构,也就是一个用户端对应一个服务器端守护进程模式,这个守护进程分析用户端来查询请求,生成计划树,进行数据检索并最终把结果格式化输出后返回给用户端。PostgreSQL 特征覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包含了能够说是现在世界上最丰富数据类型支持,其中有些数据类型能够说连商业数据库全部不含有, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功效自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检验等特征唯一一个自由软件数据库管理系统。
4.3.2 数据库后台环境配置
相关数据库后台环境配置,关键是相关许可用户远程登录权限相关配置,默认是只接收当地访问连接,其它配置信息基础上能够采取默认配置了如:端口号5432。
在配置数据库许可远程登录连接权限需要对pg_hba.conf配置文件进行修改,若对应权限配置信息配置不正确在调试工程需要对数据库进行连接相关功效时候就是出现500错误,提醒数据库连接被拒绝。需要修改配置文件和修改内容以下所表示:
修改data目录下pg_hba.conf:配置对数据库访问权限。
在该配置文件host all all 127.0.0.1/32 md5行下添加以下配置,或直接将这一行修改为以下配置(许可全部ip远程访问):
host all all 0.0.0.0/0 md5
第二章 需求分析和可行性研究
1 系统说明
本系统是由spring security+struts 2 + mybatis框架组合而成一个网上图书选购系统,由spring security安全框架提供用户身份认证和访问控制;struts 2 实现对系统部分拦截处理;mybatis关键是后台数据库管理。
2 系统功效介绍
2.1 基础功效
2.1.1 前台功效模块
前台功效模块需要实现功效关键是完成和用户部分交互,如:登录、注册、浏览图书、对个人信息修改、购物车、下订单等。
2.1.2 后台管理模块:
系统后台管理模块需要实现功效关键是对系统全方面管理,比如用户管理、书目管理、订单管理等功效。
2.2 用户界面设计
对于本系统用户界面设计关键是引用国外部分开源界面设计框架或样式。其中信息展示页、登录页、注册页、犯错提醒页采取是自己设计css样式,首页、购物车页面、订单页、用户信息管理页、书管理页等引用是开源框架设计和样式。
页面编码:UTF-8
引用css样式:bootstrap.css、theme.css、font-awesome.css、mycss.css
引用javascript是:jquery-1.7.2.min.js、bootstrap.min.js
页面布局:
三个关键div:navbar导航条、sidebar-nav侧边栏、content主体部分
2.2.1 引用文件说明:
font-awesome.css来自,是Font Awesome 是一套专门为 Twitter Boostrap设计图标字体库。这套图标字体集几乎囊括了网页中可能用到全部图标,除了包含 Twitter Boostrap 默认图标外,还有社交网络图标、web应用程序图标和编辑器图标等等。
bootstrap.css 、bootstrap.js 、bootstrap.min.js来自。
bootstrap.css关键是部分基础css样式,比如页面中分块需表现为浮动、隐藏、块状、自动、鼠标停留、鼠标滑过、图像、按钮等格式。bootstrap.js 和bootstrap.min.js 文件全部将全部插件包含在一个文件中了(前者是未压缩版,后者是压缩版)。具体说明参阅:。这两个js全部是定义部分插件效果,如:过分效果、下拉菜单、滚动监听、标签页、弹出提醒、警告框、按钮效果、折叠效果、轮播效果等。
bootstrap.js 是bootstrap全部js指令集合,你看到bootstrap里面全部js效果,全部是由这个文件控制,这个文件也是一个未经压缩版本,供开发时候进行调试用,bootstrap.min.js 是bootstrap.js压缩版,内容和bootstrap.js一样,不过文件大小会小很多,在布署网站时候就能够不引用bootstrap.js,而换成引用这个文件。
jquery-1.7.2.min.js 来自于,是jquery-1.7.2.js压缩版,是一个兼容多浏览器javascript框架,关键理念是write less,do more(写得更少,做得更多)。jQuery 是一个快速、简单JavaScript library, 它简化了HTML 文件traversing,事件处理、动画、Ajax(异步JavaScript和XML,是一个创建交互式网页应用网页开发技术)互动。jQuery能够使用户html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。API说明文档地址:。
mycss.css是自己编写一套css样式,关键是定义部分自定义分类导航等。
2.2.2 页面布局
整个页面分块布局以下图所表示:
2.3 测试环境要求
操作系统:Windows XP、windows 7、windows 8
浏览器:chrome、IE7.0以上、firefox
第三章 总体设计
1 体系结构设计
本系统采取是spring security+struts2+mybatis框架结构。下面将对各框架进行说明。
1.1 spring security
Spring 官网上对于spring security 安全框架介绍是:Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.是一个强大、高效可定制身份认证模块和访问控制框架。Spring Security对Web安全性支持大量地依靠于Servlet过滤器。这些过滤器拦截进入请求,而且在应用程序处理该请求之前进行一些安全处理。在本系统中过滤器并不是采取servlet过滤器而是采取struts2过滤。
相关对spring security安全框架相关配置将在第四章具体设计中具体描述。
1.2 struts2
Struts 2是以WebWork为关键,采取拦截器机制来处理用户请求,其体系结构简而言之就是:用户提交HttpServletRequest,Struts 2过滤器拦截并调用ActionMapper确定请求是属于哪个action,依据action返回值查找结果字符串对应(Result)然后实施这个Result。
相关对Struts 2相关配置将在第四章具体设计中具体描述。
1.3 Mybatis
MyBatis 是支持一般 SQL查询,存放过程和高级映射优异持久层框架。Mybatis功效架构能够分为三层:
API接口层:关键是提供部分供外部使用接口。
数据处理层:负责具体SQL部分操作(查找、解析、之行)处理和对处理结果映射。
基础支撑层:负责最基础功效支撑,包含部分数据库连接管理、配置文件加载等。
相关对MyBatis 相关配置将在第四章具体设计中具体描述。
2 功效模块划分
2.1.1 前台功效模块
用户登录功效:实现用户登录
用户注册功效:对新用户,实现注册,保留用户信息
浏览图书功效:对图书能够进行动态查看
查看个人信息功效:用户对于个人信息查看
修改个人信息功效:用户对于个人信息修改
购物车功效:能将想要购置图书加进购物车。
购物车修改功效:对购物车中商品实现删除和修改功效。
提交订单功效:显示订单提交,提交成功代表已成功下单,购物成功。
2.1.2 后台管理模块:
用户管理:
添加、删除用户功效:管理员能够添加、删除用户
更新用户信息功效:管理员能够更新用户信息
图书管理:
图书增删改查功效:实现对图书增删改查,动态更新图书信息
订单管理:
查看订单功效:对和已提交成功订单进行查看。
3 数据库设计
3.1 E-R图
3.1.1 用户实体图:
3.1.2 图书实体图:
3.1.3 订单实体图:
3.1.4 图书类型实体图:
3.1.5 整体E-R图:
3.2 表结构
对于能否做一个完善网上购物类型网站,数据库设计好坏是必需要考虑。
以下几张表就列出数据库中关键表和其字段和该字段意义。
用户信息表
字段名
数据类型
是否主键
描述
uid
int
是
用户id
Username
VARCHAR(45)
否
用户名
password
VARCHAR(45)
否
密码
email
VARCHAR(45)
否
电子邮箱
Phone_number
VARCHAR(45)
否
用户电话号码
address
VARCHAR(45)
否
用户地址
role
int
否
用户权限,0管理员,1一般用户
图书信息表
字段名
数据类型
是否主键
描述
bid
int
是
书本id
bookname
Varchar(50)
否
书名
Authorname
Varchar(50)
否
作者名
time
date
否
上架时间
type
Varchar(10)
否
书本类型
image
Varchar(50)
否
书本图像
price
float
否
价格
sum
int
否
库存
Sale_munber
int
否
销量
图书类型表
字段名
数据类型
是否主键
描述
类型号
Int
是
图书类型号
类型名
Varchar(10)
否
图书类型
描述
Varchar(50)
否
类型描述
订单信息表
字段名
数据类型
是否主键
描述
oid
int
是
订单号
bid
int
是
书本id
Amount
int
否
购置数量
订单表
字段名
数据类型
是否主键
描述
oid
int
是
订单号
uid
int
否
用户id
txt
Varchar(50)
否
订单备注
status
int
否
订单状态,1为已提交,0为购物车状态
Result
Int
否
订单受理状态,1为已受理,0为未受理
第四章 具体设计
1 系统概述
本系统是由spring security+struts 2 + mybatis框架组合而成一个网上图书选购系统,由spring security安全框架提供用户身份认证和访问控制;struts 2 实现对系统部分拦截处理;mybatis关键是后台数据库管理。
本系统关键功效有:用户登录、注册、浏览图书、对个人信息修改、购物车、下订单、用户管理、书目管理、订单管理等。
1.1 数据流图
1.1.1 顶级数据流图:
1.1.2 系统数据流图:
1.2 关键用例图:
系统用例图
2 系统关键文件
2.1 配置文件
系统关键配置文件有:applicationContext.xml(spring配置)、security_config.xml(spring security框架配置)、struts.xml(struts2过滤器配置)、mybatis_config.xml(mybatis连接数据库配置)和网站基础配置web.xml文件,其中:applicationContext.xml、security_config.xml、struts.xml、mybatis_config.xml框架部分配置信息将在后面章节中具体说明。web.xml配置文件关键配置信息包含指明spring、spring security 过滤器配置文件路径和加载spring和struts部分控制关键。
web.xml具体配置信息以下所表示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="" xmlns="" xsi:schemaLocation=":// id="WebApp_ID" version="2.5">
<display-name>spring_struts2</display-name>
<!-- 指明spring配置文件applicationContext.xml 在何处 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<!-- spring security 过滤器链配置 -->
<filter>
<filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--spring 容器 开启监听器-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 加载struts2关键控制器FilterDispatcher -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- FilterDispatcher用来初始化Struts 2而且处理全部WEB请求。 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
2.2 Jsp文件
本系统关键jsp文件和其对应功效以下所表示:
2.2.1 index.jsp:
本系统首页,不需要登录验证直接能够访问。提供本系统登录和注册接口,图书信息展示,网站信息展示,个人信息、订单信息、购物车信息和登录状态显示查看等功效。注:个人信息、订单信息、购物车信息和登录状态显示查看必需在以经过登录或是验证后方可进入对应链接,不然会自动跳转到登录页面进行登录,这些全部是由spring security安全框架控制。
2.2.2 login.jsp:
本系统登录页面,不需要登录验证直接能够访问。提供登录身份认证功效、“记住我”、和跳转到注册页面进行注册功效。身份验证功效实现关键是由登录action类进行控制,由struts2控制表单action处理类即那个action类对应那个action,如:登录login action对应action 类为:LoginAction,注册 register action对应action类为:Register。
2.2.3 register.jsp:
本系统注册录页面,不需要登录验证直接能够访问。提供注册功效,和跳转到登录页面进行登录功效。注册功效实现关键是由注册action类进行控制,由struts2控制register action处理类为Register。
2.2.4 book.jsp:
本系统图书信息展示页,需要登录验证才能够访问,展示信息有图书图片、价格、销量、库存、上架时间和书本介绍。除了图书信息展示功效外,还提供加入购物车功效。加入购物车功效由本页面一个action为order表单,把相关信息进行提交,一样由struts2控制处理本action处理类为Order。
另外,本图书展示页展示内容为动态,依据用户在首页点击不一样链接附带不一样参数来确定这个图书展示页所展示图书信息,全部图书信息均是由数据库查询所返回得到。
2.2.5 shopcar.jsp
本系统购物车信息展示页面,需要登录验证才能够访问,其关键功效是依据现在登录用户,展示经查询数据库中本用户所加进购物车全部图书信息,展示信息包含:书本图片,书名、购置数量、价格。除了展示购物车图书信息外,还含有统计本购物车中全部书本总价格和提供下订单接口。下订单关键是由处理订单Order;类进行处理,关键功效是把数据库中订单状态由购物车状态置为订单状态。订单信息表中数据只有订单状态为购物车状态(为0,为1是订单状态)方可显示出来。
2.2.6 order.jsp:
本系统订单展示页面,需要登录验证才能够访问,其关键功效是依据现在登录用户,展示经查询数据库中本用户已成功下订单全部图书信息,展示信息包含:订单号,订单时间,书本图片,书名、购置数量、单价、总价,订单受理状态。
2.2.7 admin.jsp:
本系统管理员后台管理页面,需要含有管理员权限账号方可登录,本系统中,只有管理员账号:admin才含有管理员权限。
本页面中提供功效有对图书查看、增加、删除,查看、修改注册用户个人信息,查看所以订单信息,和对于已提交订单进行审核,已审核经过订单在订单信息展示页中展示为:“已受理”,表示此订单管理员已经知道了,将会对本订单作出深入处理,如:发货。
2.2.8 403.jsp:
本系统错误页面,在security_config.xml中配置,犯错后跳转页面。关键功效是提醒犯错。
2.2.9 success.jsp
本系统登录、注册成功后跳转页面,关键功效是提醒登录、注册是否成功,此页面还有一个功效就是在五秒后将会自动跳转到首页中,在后续修改方案中,这里应该为自动跳转到登录、注册前用户浏览页面。
2.2.10 error.jsp:
本系统登录、注册失败功后跳转页面,关键功效是提醒登录、注册是否成功,此页面还有一个功效就是在五秒后将会自动跳转到登录、注册页面中,引导用户重新登录或是注册。
2.3 Java文件
2.3.1 LoginAction.java:
登录处理类,关键实现功效是获取登录页面中登录表单中用户填写用户名和密码,依据此用户名和密码调用User.java这个接口类接口函数对数据库进行查询,若能够查询到对应数据库统计,则返回一个代表成功字符串,本系统中有此用户返回字符串是:“success”,失败返回字符串是:“error”,有struts2配置文件中定义不一样返回值来决定下一步跳转到对应页面。本系统中,succes跳转页面为:succes.jsp,error跳转页面是:error.jsp。
Register.java:注册处理类,关键实现功效是获取登录页面中登录表单中用户填写用户名和密码,依据此用户名和密码调用User.java这个接口类接口函数对数据库进行插入操作。注册成功返回succes,跳转到succes.jsp页面。
2.3.2 User.java:
用户实体类,实现功效是经过函数结构一个:“user”实体出来,方便对用户账号部分操作,如获取用户用户名或是密码只需要结构一个User类实体user,在经过user.username来获取。
2.3.3 Order.java:
订单处理类,实现功效关键是在数据库订单信息表进行增删改查操作,加入购物车,提交订单,我订单查询,购物车信息展示功效全部是需要调用到这个order类来实现对对应接口调用以实现对数据库操作。
2.3.4 UpdateUser.java:
个人信息处理类,实现功效关键是对个人信息增删改查,如用户对个人信息查看修改、管理员对注册用户信息管理等功效均经过此UpdateUser来对对应接口函数调用以实现对数据库更新操作。
2.3.5 UpdateBook.java:
书本信息处理类,实现功效关键是对书本信息增删改查,如用户对书本信息查看、管理员对书本信息管理等功效均经过此UpdateBook来对对应接口函数调用以实现对数据库更新操作。
2.3.6 UpdateOrder.java:
订单处理类,实现功效关键是对订单信息增删改查,如用户对图书进行“加入购物车”、下订单、查看购物车信息、查看订单信息和管理员对订单信息管理等功效均经过此UpdateOrder来对对应接口函数调用以实现对数据库更新操作。
2.3.7 UserMapper.java:
用户实体接口类。需要功效是:实现对数据库查询、插入、删除、更新操作。在UserMapper.java文件中只是对接口申明进行了定义,并没有具体接口实现,接口实现是在:UserMapper.xml文件中实现。比如:对用户增删改查接口定义:
public interface UserMapper {
public User selectUser(User user);//数据库选择数据
public void insertUser(User user);//数据库插入数据
public void updateUser(User user);//数据库更新数据
public void deleteUser(int userId);//数据库删除数据
}
在UserMapper.xml文件中对接口实现以下:
<!-- UserMapper 接口实现配置文件 -->
<!-- namespace是要指定为接口类路径 -->
<mapper namespace="dao.UserMapper">
<!-- select,insert,update,deleteid必需要和UserMapper.java接口中方法同名 -->
<select id="selectUser" parameterType="entity.User" resultType="entity.User">
SELECT * FROM table1 WHERE username=#{username} AND password=#{password}
</select>
<insert id="insertUser"
展开阅读全文