毕业论文-基于struts2购物网站的设计与实现内容摘要:
于 HTTP 的无状态性引起的, Model2 和 MVC 一样,也是利用控制器来分离模型和视图,达到一种层间松散耦合的效果,以提高系统灵活性、复用性和可维护性。 Struts2 继承了 MVC 的各项特性,并根据 J2EE 的特点,做了一些变化 和调整。 作为 MVC 模式的典型实现,对 Model、 View 和 Controller 都提供了实现组件其具体的实现,如图 所示。 图 Struts2 框架结 Hibernate Hibernate 是一个面向 Java 环境的对象 /关系数据库映射工具。 对象 /关系数据库映射(Object/Relational Maing)表示一种技术,用来把对象模型表示的对象映射到基于 SQL 的关基于 Struts2 购物网站的设计与实现 6 系模型数据结构中去。 Hibernate 从问世的那天起,就爆发了一场对数据持续性处理问题的激烈讨论。 所以在目前行业的 Java 数据库应用项目中,许多的开发人员开始使用 Hibernate在数据库上的应用,从而将开发人员从重复、技术含量不高、繁琐的数据库编程中解脱出来。 在 Hibernate 诞生之前,开发人员要非常麻烦的将面向对象的软件和关系结合在一起。 而借助 Hibernate 对象 /关系数据库映射 (ORM))技术,可以轻松地将对象的各个状态数据映射到基于 SQL 的关系模型数据结构中去。 而 Hibernate 中最核心的技术是 ORM,就是将Java 中的对象与对象之间的关系,对应到关系型数据库中的表格与表格的关系, Hibernate提供了方案,相 反地,也提供数据库表 与表 之间的关系,对应 Java 程序中对象之间的关系。 Hibernate 中提供了数据查询和获取数据的方法,从而大幅度减少了开发时人工使用 SQL和 JDBC 处理数据的时间。 Hibernate 的系统结构正如上面所介绍的, Hibernate 的持久化解决方案将用户从赤裸裸的 JDBC 访问中释放出来,用户不再关注底层的 JDBC 操作,而是以面向对象的方式进行持久化操作。 这种“全面解决”的体系结构,如图 所示: 图 Hibernate 体系架构图 基于 Struts2 购物网站的设计与实现 7 下面对上图中各对象逐一进行说明: SessionFactory,这是 Hibernate 的关键对象,它是线程安全的,因为它是单个数据库映射关系经过编译后的内存镜像。 它本身要用到ConnectionProvider。 Session 对象有一个一级缓存,显示执行 flush 之前,所有持久化操作的数据都缓存在 Session对象处。 持久化对象,系统创建的 POJO 示例,一旦与特定的 Session关联,并对应成数据表的制定记录,该对象就处于持久化状态,这一系列对象都被称为持久化对象。 在程序中对持久化对象执行修改,都将自动被转换为持久层的修改。 事务(Transaction),代 表一个原子操作,它具有数据库事务的概念。 但它可以通过抽象,把应用程序从底层具体的 JDBC、 JTA 以及 CORBA 事务中隔离开。 Spring Spring 作为实现 J2EE 的一个全方位应用程序框架,为我们开发企业级应用提供了一个健壮、高效的解决方案。 主要有 以下几个特点: 1 非侵入式:对于写代码从来不考虑复用和移植的程序员来说,这一点根本就没有吸引力,那么请跳过。 所谓非侵入式是指 Spring 框架的 API 不会在业务逻辑上出现,也就是说我们的业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。 首先针对应用 而言,这样我们才能将业务逻辑从当前应用中剥离出来,从而在其他的应用中实现复用;其次针对框架而言,由于业务逻辑中没有 Spring 的 API,所以业务逻辑也可以从 Spring 框架快速的移植到其他框架。 2 容器: Spring 提供容器功能,容器可以管理对象的生命周期,对象与对象之间的依赖关系。 你可以写一个配置文件(通常是 xml 文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。 那么在容器启动之后,这些对象就被实例化好了,基于 Struts2 购物网站的设计与实现 8 你直接去用就好了,而且依赖关系也建立好了。 3 IOC:控制反转,谓之 “ 依赖关系的转移 ” ,如果以前都是依赖于实现,那么现在反转为依赖于抽象吧,其实它的核心思想就是要面向接口编程 4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、 set注入,在 Spring 中只支持后两种 5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个 “ 方面 ” ,那么以前这些服务一直是直接写在业务逻辑的代码当中的,这有两点不好;首先业务逻辑不纯净,其次这些服务被很多业务逻辑反复使用,完全可以剥离出来做到复用。 那么 AOP 就是这些问题的解决方案,我们可以把这些 服务剥离出来形成一个 “ 方面 ” ,以期做到复用;然后将 “ 方面 ” 动态的插入到业务逻辑中让业务逻辑能够享受到此 “ 方面 ”的服务。 其他还有一些特点不是 Spring 的核心,这里只做简单陈述,如:对 JDBC 的封装与简化,提供事务管理功能,对 O/R mapping 工具( hibernate、 iBATIS)的整合;提供 MVC解决方案,也可以与其他 web 框架( Struts JSF)进行整合;还有对 JNDI、 mail 等服务进行封装。 基于 Struts2 购物网站的设计与实现 9 第 3章 系统需求分析 开发可行性分析 技术上的可行性 根据系统目标需求分析得结 果来看,不需要通过购买专业软件,仅采用基本的 J2EE开发工具,就可以解决相关的问题,从而保证系统功能的实现。 管理上的可行性 把企业业务延伸到 Inter 上,建立了电子商务网站,这样,对于企业来说,可以通过网络方便的展示信息,快捷的进行购物等商务活动。 因此,企业中的管理人员也不会对此有很大的抵触情绪,主管领导也能够给予相应的支持。 经济上的可行性 企业在运营过程中,会经常遇到产品的宣传受到限制等情况,会有一些地理位置相对较远的客户与企业,这样,采购商或顾客只能通过上门咨询或者电话沟通 等方式进行各种信息的获取与交换,也受到了时间与物理空间的局限并且成本随之提高。 而本系统可以帮助企业正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来是企业与顾客间的经济活动变得更灵活、更主动。 基于 Struts2 购物网站的设计与实现 10 功能需求分析 需求分析就是描述系统的需求,通过定义系统中的主要类来建立模块。 开发者和提出需求的人之间建立一种理解和沟通机制这才是分析的根本目的所在,所以电子商务网上购物系统的需求分析也必须是开发人员和用户(或客户)一起才能完成的。 需求分析一般包含两个步 骤,首先进行需求提取,通过调研,与客户充分交流沟通咨询等手段获取需求信息,对系统的需求进行概括性的描述。 然后再需求提取的基础上再通过识别参与者、绘制用例图以及进行用例描述等方法进行进一步的需求分析。 需求提取 电子商务网上购物系统的简单流程是 : 商品管理员进货后,整理归类,将商品信息发布到网站上。 网 络用户登录该网站后,自行注册,购得商品,提交购物单给商品管理员。 管理员 根据具体情况更改订单的 状态 (已下单,未受理 /已受理,未 发货 /已发货,交易未结束 /交易成功 ) . 需求分析 识别参与者 从上 面的文本需求说明可知,电子商务购物系统的角色可以划分为两类。 商品管理员:拥有所有权限。 用户(购物者):浏览商品列表、任意选购商品、任意填写购买数量、修改购买数量、删除已选择的商品、取消购买、提交购买下达订单和查看自己订单 的处理进度。 系统用例图 根据上述分析,画出系统的主要用例图,如图 所示。 基于 Struts2 购物网站的设计与实现 11 图 系统用例图 系统用例说明 表 商品管理用例说明 名称、标识符 商品管理 功能描述 对商品进行增加、删除、修改、查询、发布 优先级 高 输入 输入初始化的商品 输出 显示商品的基本信息 补充说明 首先要求的就是能够添加商品 登录 商品管理 后台管理员 订单管理管理 会员 管理 系统用户 管理 会员信息修改 会员 前台 订单 管理 购物车 管理 购物 浏览商品 会员注册 非会员 商品搜索 基于 Struts2 购物网站的设计与实现 12 表 订单管理用例说明 名称、标识符 订单管理 功能描述 查看订单、删除订单、修改订单的状态 优先级 高 输入 主要选择订单的四种状态: 已下单,未受理 /已受理,未发货 /已发货,交易未结束 /交易成功 输出 主要是显示订单的基本信息和订单状态 表 会员管理用例说明 名称、标识符 会员管理 功能描述 管理员可以查看所有注册用户、删 除某一用户、修改某一用户的基本信息 优先级 低 输入 输入用户的基本信息 输出 用户的基本信息 补充说明 主要是对用户进行审核,若有不守信用的会员可以及时删除 表 用户注册用例说明 名称、标识符 用户注册 功能描述 注册用户的信息包括登录账号、密码、核对密码、真实姓名、联系电话、联系地址、邮政编码、电子邮箱 优先级 高 基于 Struts2 购物网站的设计与实现 13 输入 输入用户的基本信息 输出 把填入的信息保存到数据库,用于日后管理员的维护以及用户自己的修改 补充说明 购买商品,必须先进行注册。 表 选购商品 用例说明 名称、标识符 选购商品 功能描述 可以查看所有上架商品、选择购买、填写购买数量 优先级 中 输入 用户将要购买的产品 输出 将用户已经购买的商品基本信息显示出来 补充说明 表 购物车管理用例说明 名称、标识符 购物车管理 功能描述 可以查看自己已选购的商品和数量、可以修改某一数量,也可以继续购物,清空购物车,提交购物车下达订单 优先级 中 输入 如果觉得购买的数量不如意,可以重新输入用户要购买的数量 输出 把用户选好购买的商品信息显示出来 补充说明 确认好了就可 以下达订单 基于 Struts2 购物网站的设计与实现 14 数据库分析 数据库分析是整个电子商务系统开发过程中一个重要环节,它具体可以分为两个部分:一是概念模型的分析,即 ER 图的分析。 二是逻辑模型的分析,即表与字段的分析 系统 ER 图 本系统根据上面的需求分析,可以确定系统中各种实体以及他们之间的关系。 规划出的实体包括用户数据实体、货物数据实体、商品类别数据实体、所购商品信息实体等。 通过对实体联系的分析,设计出本系统各实体联系的 ER 图,如图 所示。 图 电子商 务系统实体关系图 商品 购买 会员 隶属 商品种类 包含 订单 购物车 拥有 购物车选购商品 拥有 包含 生成 1 n n 1 n 1 n 1 n 1 n n 1 生成 1 nnn N 基于 Struts2 购物网站的设计与实现 15 数据字典 表与字段分析是建立在上面所示的电子商务网上购物系统 ER 图的基础上,可以通过该 ER 图确定系统中所有的表以及相应的字段。 根据功能模块设计的结果可知,本系统的用户有管理员和注册用户两类,在系统中要记录用户的数据。 用于管理用户和注册用户的性质和操作功能大不相同,因此,在此系统中要分别进行数据记录。 首选需要如下两个数据实体。 管理员数据实体:只要记录管理员的用户名和密码,这两项是进行管理功能模块登录验证时所必需的。 表 管理员表( Admin) 编 号 字段名称 字段类型 说 明 1 ID int 主键 id 2 LoginName varchar(20) 管理员用户名 3 LoginPwd varchar(50) 密码 注册用户数据实体:包括用户名、密码、身份证、性别、联系地址、联系邮编、联系电话、电子邮 件等。 这些信息由用户自己进行维护,管理员可以根据这些信息来了解 户。 表 注册用户表( member) 编 号 字段名称 字段类型 说 明 1 ID Int(11) 主键 id 2 MemberlevelID Int(11) 会员级别 id 3 LoginName varchar(20) 会员账号 4 LoginPwd varchar(50) 密码 基于 Struts2 购物网站的设计与实现 16 5 Me。毕业论文-基于struts2购物网站的设计与实现
相关推荐
中断标志)被置 1 后,调密码显示子程序,密码正确系统重新检测中断信号,密码有误则主程序首先判断 7EH 的情况,如果被置 1,则调用控制模块声光报警,处理完成后记录报 警信息,再检测是否同时发生了火险,即 7DH 是否被置 1,如果被置 1,则同样调用控制模块 PROCESS 完成后续处理。 如果没有发生盗情,即 7EH 没有被置 1,则直接检测 7DH,认为发生了火警
代( 2G)和第三代( 3G)移动通讯技术之间。 它通过利用 GSM 网络中未使用的 TDMA 信道,提供中速的数据传递。 GPRS 突破了 GSM 网只能提供电路交换的思维方式,只通过增加 相应的功能实体和对现有的基站系统进行部分改造来实现分组交换,这种改造的投入相对来说并不大,但得到的用户数据速率却相当可观。 而且,因为不再需要现行无线应用所需要的中介转换器,所以连接及传输都会更方便容易。
接到母线上,操作目标元件为 X、 Y、 M、 T、 C、 S。 LD、 LDI 指令还可与 AND、 ORB 指令配合,用于分支回路的起点。 ( 2) OUT指令的目标元件为 Y、 M、 T、 C、 S 和功能指令线圈。 ( 3) OUT指令可以连续使用若干次,相当于线圈并联。 单个触点串联指令( AND、 ANI) 用法 AND:与指令。 用于单个触点的串联,完成逻辑“与”运算,助记符号为
EM78P135 作为控制器,完成了对外部触发信号的检测、产生脉冲信号、检测回波首波信号等工作。 与此同时其还肩负着控 制电路的开启,处理超声波换能器的横向干扰,并且消除电路固定延时影响等工作。 对于本次设计,选用这种测距模块将极大减少设计的工作,降低设计的成本。 超声波探测模块 HCSR04 的电气参数如图 所示。 山东科技大学 毕业设计( 论文 ) 10 图 HCSR04 的电气参数
P20~P23 口完成的按键 KEY_STKEY_UPKEY_DW 完成定时 器的暂停自加和自减功能而发光二极管 L2L4 则反映了选用的定时时间的不同 第四章 软件设计 本章首先对设计思想即主程序进行介绍然后对发光二极管指示程序键扫描程序和数码管的显示程序的设计分别进行说明 41 主程序 本次设计中由于要求有定时器 123 所以程序设计中使用了三个定时器分别进行定时数码管显示部分由于最大数是
的弹簧; 4)测力装置,如弹簧秤和动力计上的弹簧。 除此之外,在机械设备、仪表、日用电器以及生活器具上也都使用着各式各样的弹性元件,如螺母防松弹簧垫圈,零件在轴上定位用的卡环,门的启闭装置,玩具的发条等等。 在机电产品,用量最大的弹簧主要有三大类: ○ 1 汽车为主的机动车辆弹簧; ○ 2 以 日用电器为主的电子产品弹簧; ○ 3 以摄像机、复印机和照相机为主的光学装置弹簧。