计算机科学与技术毕业设计.docx
- 文档编号:8543792
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:36
- 大小:4.29MB
计算机科学与技术毕业设计.docx
《计算机科学与技术毕业设计.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术毕业设计.docx(36页珍藏版)》请在冰豆网上搜索。
计算机科学与技术毕业设计
计算机科学与技术毕业设计
广东警官学院
GUANGDONGPOLICECOLLEGE
本科毕业论文(设计)
基于jsp的网络书店的设计与实现
系(部)
计算机系
专业
计算机科学与技术
学号
201007140238
学生姓名
刘文静
指导教师
王晓雷
提交日期
2014年4月1日
广东警官学院
本科毕业论文
基于jsp的网络书店的设计与实现
专业:
计算机科学与技术
学号:
201007140238
学生姓名:
刘文静
指导教师:
王晓雷
毕业论文(设计)诚信声明书
本人声明:
我所提交的毕业论文(设计)是我在指导教师指导下独立研究、写作的成果,论文中所引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均已在我的致谢辞中加以说明并深致谢意。
论文作者签名:
刘文静
日期:
2014年4月1日
毕业论文(设计)版权使用授权书
本人所提交的毕业论文(设计)是我在校期间所完成学业的组成部分,是在广东警官学院教师的指导下完成的,因此,本人特授权广东警官学院可将本毕业论文的全部或部分内容编入有关书籍、数据库保存,可采用复制、印刷、网页制作等方式将论文文本和经过编辑、批注等处理的论文文本提供给读者查阅、参考,可向有关学术部门和国家有关教育主管部门呈送复印件和电子文档。
本毕业论文无论做何种处理,必须尊重本人的著作权,署明本人姓名。
论文作者签名:
刘文静
日期:
2014年4月1日
指导教师签名:
日期:
年月日
摘要
本系统是由springsecurity+struts2+mybatis框架组合而成的一个网上图书选购系统,由springsecurity安全框架提供用户的身份认证以及访问控制;struts2实现对系统的一些拦截处理;mybatis主要的是后台数据库的管理。
本系统的主要功能有:
用户登录、注册、浏览图书、对个人信息的修改、购物车、下订单、用户管理、书目管理、订单管理等。
关键词:
springsecuritystruts2mybatis
第一章引言
1课题的意义与目的
现今的社会,人们已经离不开网络了,网络已经成为人与人之间交流的一种形式,网上购书已经成为一种时尚。
那么,在网上销售过程中,网上书店系统作为一种媒介,已经显得尤其重要。
网上书店为人们提供了更广阔的环境:
人们不受时间的限制,不受空间的限制,不受传统购书的诸多限制,可以随时随地在网上交易;热衷书店者几乎都是奋力开拓事业者和苦心求学深造者,时间对于他们而言无比宝贵,网上书店节省了大量时间,这对于那些没有时间经常逛传统书店或其住所离传统书店很远的读者来说,具有实际意义。
网上书店减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。
网上书店更符合时代的要求。
在网上开书店主要有两种模式:
一是建立自己的图书销售网站;二是借助于一些大型的相当成熟的网上店铺平台。
前者需要一定的首期投入,并且要懂得了解一定程度的网络知识,再经营中推广宣传成本也比较高;后者不需要软件硬件知识,但对于初次开店的投资者也不容易,由于经验不足,再加上较大的盲目性,没有认真,了解网上商城的招商说明、收费标准等,因此带来一定的困难。
2研究现状
2.1国内的研究状况:
在我国,虽然互联网开通较晚,但发展极为迅速。
1998年3月6日,由世纪互联通讯技术有限公司和中国银行共同携手成功完成了我国国内第一笔互联网上的商品交易。
这标志着我国网上销售已开始进入实用阶段。
随着互联网在我国的大规模普及,信息技术在国际贸易和商业领域的广泛应用,利用计算机技术、网络通信技术和互联网实现商务活动的国际化、信息化和无纸化,已成为21世纪经济发展的一大趋势。
人们的日常生活已离不开网络。
人们的生活和工作将会越来越依赖数字技术的发展,越来越数字化、网络化、电子化、虚拟化。
网上购物也成为了电子商务的一个时尚,而网上书店是最普遍,也最流行的一个动态的电子商务网站,它使每一位顾客可以足不出户就可以搜索、查询到自己需要的图书信息、购买到自己需要的图书。
2.2国外的研究状况
由于中国物流市场已经对外开放,支撑中国网上书店的物流产业正在蓬勃发展,一些国际物流公司如FEDEX和UPS等已经进入了中国市场,而中国本土物流公司也将在竞争中得到优化;中国人口基数大,且互联网用户增长快,网上书店拥有众多的潜在客户;中国银行业也在积极提高网上服务能力以迎接来自国外银行的竞争。
所有这些都为中国网上书店的发展带来了机会。
3开发平台与相关技术的选择介绍
3.1jsp的页面组成
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中是看不到的;
标准动作元素
param>: 用于传递参数,必须配合方法一起用。 有下面几种: include> 动态加载HTML页面或JSP页面.在加载时还可以传参数。 注意: include动作和include页面指令都可以用来加载其他页面,但两者的差异是: 这里的动作是在页面被运行时加入的.而页面指令是在编译时就加入了。 forward> 页面跳转: forwardpage=”b.jsp”/> 3.2JavaBean技术介绍 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有一个名字属性,这个属性的值可能需要调用StringgetName()方法读取,而写入属性值可能要需要调用voidsetName(Stringstr)的方法。 方法: JavaBean中的方法就是通常的Java方法,它可以从其他组件或在脚本环境中调用。 事件: Bean与其他软件组件交流信息的主要方式是发送和接受事件。 事件为JavaBean组件提供了一种发送通知给其他组件的方法。 3.3jsp的运行环境 运行jsp,需要有支持jsp的服务器,本系统使用的服务器是tomcat7.0.41服务器。 4系统开发环境 4.1运行环境的介绍 操作系统: windows7 数据库: postgresql 开发工具: EclipseJavaEEIDEforWebDevelopers.版本: KeplerServiceRelease1 开发语言: 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: 配置对数据库的访问权限。 在该配置文件的hostallall127.0.0.1/32md5行下添加以下配置,或者直接将这一行修改为以下配置(允许所有ip远程访问): host all all 0.0.0.0/0 md5 第二章需求分析与可行性研究 1系统说明 本系统是由springsecurity+struts2+mybatis框架组合而成的一个网上图书选购系统,由springsecurity安全框架提供用户的身份认证以及访问控制;struts2实现对系统的一些拦截处理;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来自Awesome是一套专门为 TwitterBoostrap设计的图标字体库。 这套图标字体集几乎囊括了网页中可能用到的所有图标,除了包括TwitterBoostrap 的默认图标外,还有社交网络图标、web应用程序图标和编辑器图标等等。 bootstrap.css、bootstrap.js 、bootstrap.min.js来自 bootstrap.css主要是一些基本的css样式,例如页面中分块需表现为浮动、隐藏、块状、自动、鼠标停留、鼠标滑过、图像、按钮等格式。 bootstrap.js 和bootstrap.min.js 文件都将所有插件包含在一个文件中了(前者是未压缩版,后者是压缩版)。 详细的说明参阅: bootstrap.js 是bootstrap的所有js指令的集合,你看到bootstrap里面所有的js效果,都是由这个文件控制的,这个文件也是一个未经压缩的版本,供开发的时候进行调试用,bootstrap.min.js是bootstrap.js的压缩版,内容和bootstrap.js一样的,但是文件大小会小很多,在部署网站的时候就可以不引用bootstrap.js,而换成引用这个文件。 jquery-1.7.2.min.js来自于less,domore(写得更少,做得更多)。 jQuery是一个快速、简单的JavaScriptlibrary,它简化了HTML文件的traversing,事件处理、动画、Ajax(异步JavaScript和XML,是一种创建交互式网页应用的网页开发技术)互动。 jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。 API说明文档地址: mycss.css是自己编写的一套css样式,主要是定义一些自定义的分类导航等。 2.2.2页面布局 整个页面的分块布局如下图所示: 2.3测试环境规定 操作系统: WindowsXP、windows7、windows8 浏览器: chrome、IE7.0以上、firefox 第三章总体设计 1体系结构设计 本系统采用的是springsecurity+struts2+mybatis框架结构的。 下面将对各框架进行说明。 1.1springsecurity Spring官网上对于springsecurity安全框架的介绍是: SpringSecurityisapowerfulandhighlycustomizableauthenticationandaccess-controlframework.Itisthede-factostandardforsecuringSpring-basedapplications.是一个强大、高效可定制的身份认证模块和访问控制框架。 SpringSecurity对Web安全性的支持大量地依赖于Servlet过滤器。 这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安全处理。 在本系统中的过滤器并不是采用servlet的过滤器而是采用struts2的过滤。 关于对springsecurity安全框架的相关配置将在第四章详细设计中详细描述。 1.2struts2 Struts2是以WebWork为核心,采用拦截器的机制来处理用户的请求,其体系结构简而言之就是: 用户提交HttpServletRequest,Struts2过滤器拦截并调用ActionMapper确定请求是属于哪个action,根据action返回值查找结果字符串对应的(Result)然后执行这个Result。 关于对Struts2的相关配置将在第四章详细设计中详细描述。 1.3Mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。 Mybatis的功能架构可以分为三层: API接口层: 主要是提供一些供外部使用的接口。 数据处理层: 负责具体SQL的一些操作(查找、解析、之行)的处理以及对处理结果的映射。 基础支撑层: 负责最基础的功能支撑,包括一些数据库的连接管理、配置文件的加载等。 关于对MyBatis的相关配置将在第四章详细设计中详细描述。 2功能模块划分 2.1.1前台功能模块 用户登录功能: 实现用户的登录 用户注册功能: 对新用户,实现注册,保存用户信息 浏览图书功能: 对图书能够进行动态的查看 查看个人信息功能: 用户对于个人信息的查看 修改个人信息功能: 用户对于个人信息的修改 购物车功能: 能将想要购买的图书加进购物车。 购物车的修改功能: 对购物车中的商品实现删除和修改功能。 提交订单功能: 显示订单的提交,提交成功代表已成功下单,购物成功。 2.1.2后台管理模块: 用户管理: 添加、删除用户功能: 管理员能够添加、删除用户 更新用户信息功能: 管理员能够更新用户信息 图书管理: 图书的增删改查功能: 实现对图书的增删改查,动态的更新图书信息 订单管理: 查看订单功能: 对与已提交成功的订单进行查看。 3数据库设计 3.1E-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系统概述 本系统是由springsecurity+struts2+mybatis框架组合而成的一个网上图书选购系统,由springsecurity安全框架提供用户的身份认证以及访问控制;struts2实现对系统的一些拦截处理;mybatis主要的是后台数据库的管理。 本系统的主要功能有: 用户登录、注册、浏览图书、对个人信息的修改、购物车、下订单、用户管理、书目管理、订单管理等。 1.1数据流图 1.1.1顶级数据流图: 1.1.2系统数据流图: 1.2 核心用例图: 系统用例图 2系统主要文件 2.1配置文件 系统的主要配置文件有: applicationContext.xml(spring配置)、security_config.xml(springsecurity框架配置)、struts.xml(struts2过滤器的配置)、mybatis_config.xml(mybatis连接数据库的配置)以及网站的基本配置web.xml文件,其中: applicationContext.xml、security_config.xml、struts.xml、mybatis_config.xml框架的一些配置信息将在后面的章节中详细的说明。 web.xml配置文件主要的配置信息包括指明spring、springsecurity过滤器的配置文件的路径以及加载spring以及struts的一些控制核心。 web.xml的具体配置信息如下所示: xmlversion="1.0"encoding="UTF-8"? > xsi="http: //www.w3.org/2001/XMLSchema-instance"xmlns="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 技术 毕业设计