基于strutsspringhibernate的购物网站设计与实现内容摘要:

text 更加方便我们实现 J2EE 的应用; DAO/ORM 的实现也更方便我们进行数据库的开发: Web MVC 和 Spring Web 提供了 Java Web 应用的框架或能够与其它流行的Web 框架进行集成。 从设计理念可以看到 Spring 帮助你实现了真正的逻辑层和 Web 层的分离。 Spring模块是构建在核心容器之上的,核心容器又定义了创建、配置和管理 Bean 的方式。 浙江工业大学之江学院毕业设计(论文) 4 Spring 使用基本的 Java Bean 来完成以前只可能由 EJB 完成的事 情。 然而, Spring 的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何 Java应用都可以从 Spring 中受益。 图 23 spring 架构图 Hibernate框架 Hibernate 是一个实现对象和关系之间映射 (object relation mapping, 0RM)的开源框架。 它对 JDBC 进行了轻量级的对象封装,使得 JAVA 程序员可以使用面向对象的编程思维来操作关系数据库。 如果在软件开发中采用面向对象的方式进行设计,而使用的是关系数据库,就可以选用 Hibernate 这 种框架来实现对象和关系之间的映射和数据的持久化。 Hibernate 拥有一种功能非常强大的查询语言 HQL,这种语言与 SQL相似,而且完全是面向对象的。 它查询的是持久化对象,而不是数据库的记录,而且它可以支持多态、继承、关联等关系。 Hibernate 利用数据库配文件: hibernate. properties、 XML Mapping 等为应用程序提供数据持久服务的,又通过读取配置文件 ()和类的映射文件(XML Mapping)中的内容,生成 SessionFactory 实例,并由它 的 openSession0 方法负责每次所需的 Session 对象的创建,在 Session 对象的方法中借助持久化对象来完成对数据库的操作,而不需使用 JDBC 和 SQL 进行数据的操作。 这样就避免手工编写访问数据持久层的方法,可以大幅度减少开发时人工使用 SQL 和 JDBC 处理数据的时浙江工业大学之江学院毕业设计(论文) 5 间,降低了开发的难度。 图 24 hibernate 架构图 Struts、 Spring、 Hibernate的整合 综上所述,表现层采用 Struts 框架,业务逻辑层采用 Spring 框架取代 EJB 容器,数据持久层以 Hibernate 取代实体 Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级 J2EE 应用框架。 整个轻量级框架业务流程为:用户接口层利用 JSP+HTML 页面实现交互界面,负责传送页面请求和接收响应,表示层 Struts 收到请求,调用相应的 Action,处于业务层的 Spring IOC容器负责向 Action提供业务服务组件 (Service)和相应的数据访问处理组件 (DAO),并提供事务处理、日志管理等一系列系统服务,处于持久层的 Hibernate负责对象化映射与数据库交互,具体处理 DAO 组件请求,并返回结果。 我们把整合后的框架分成四层,这四层分别是:实体层、 DAO 层、服务层、 Web层。 每个层在处理应用程序上都应该有一项明确的责任,而不应该在功能上与其它层混合,并且每个层要与其它层分开的,但要给他们之间放一个通信接口。 浙江工业大学之江学院毕业设计(论文) 6 图 25 SSH 架构图 JSTL标签库 JSTL 是一个不断完善的开放源代码的 JSP 标签库,是由 apache 的 jakarta 小组来维护的。 JSTL 只能运行在支持 和 规范的容器上,如 tomcat。 但是在即将推出的 JSP 中是作为标准支持的。 JSTL 包含两个部分:标签库和 EL( Expression Language 表达式语言)语言。 JSP 标准标记库( JSP Standard Tag Library JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。 JSTL 有四个定制标记库 :core、 format、 xml 和 sql. 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。 标记库定义了 用来格式化数据(尤其是数字和日期)的操作。 它还支持使用本地化资源束进行 JSP 页面的国际化。 库包含一些标记,这些标记用来操作通过 XML 表示的数据。 库定义了用来查询关系数据库的操作。 浙江工业大学之江学院毕业设计(论文) 7 3 系统需求分析 B2C系统模块介绍  B2C 即企业通过互联网为消费者提供一个新型的购物环境 ——网上商店,消费者可以通过网络在网上购物、亦可在网上支付。 本系统主要分为前台部分和后台部分,前台部分主要实现的功能针对顾客使用,有顾客的注册和登录功能、个人信息维护功能、查看商品信息功能、搜索商品的功能 、购物车功能、收藏夹功能;后台部分主要由商城的管理员使用,有管理商品信息功能、管理商品目录功能、管理订单信息功能、管理注册会员功能。 这里的模块主要按照使用者不同进行分配。 网 上 购 物 商 城 系 统前 台 部 分 后 台 部 分顾客注册登陆查看商品信息搜索商品信息顾客购物车管理商品信息管理商品目录管理订单信息管理注册会员个人信息维护顾客收藏夹 图 31 本系统的前台部分和后台部分模块 它们各自的功能如 图 31 所示 : 1) 前台部分  首先顾客可以方便地注册与登录。 未注册的顾客可进行商品的查看,也可把商品放入购物车;未注册的顾客可进入注册页面进行注册,但是若其顾客恶意破环,后台的管理员可以对其会员进行删除。  顾客可以灵活地检索 所需的商品信息。 可采用关键字搜索。  顾客可以方便地查看详细的商品资料。  顾客可管理自己的购物车(包括添加或删除选购商品、修改商品购买数量、放入收藏夹及在线下订单等操作)。  顾客可管理自己的收藏夹(包括添加或删除选购商品、放入购物车等操作)。 2) 后台部分  管理员可以方便地管理商品(新增、删除、修改商品信息)。 浙江工业大学之江学院毕业设计(论文) 8  管理员可以查看订单、审核、发货、取消处理。  管理员可以删除顾客的信息。  管理员可以对商品目录进行管理(新增、删除、修改商品目录信息)。 确定用户需求 要求不同类型的用户拥有不同的功能,具体用户类型包括: 后台管理员,顾客(未注册或未登录用户,登录用户)。 用例图如下(图 32,图 33): 管理员后台登陆商品目录管理商品管理订单管理会员管理 图 32 后台管理员用例图 未注册/ 未登录顾客顾客登陆注册商品检索及浏览购物车管理下订单管理登录顾客收藏夹管理个人信息管理 图 33 前台顾客用例图 浙江工业大学之江学院毕业设计(论文) 9 需求规定 对性能的规定  要按照严格的格式输入,否则 数据库 不给予响应进行处理 ;  查询时要保证 所有包含查询关键字的记录都 能查到 ;  尽量减少服务器的压力 ; 输入输出要求  尽量减少输入数据量;  输入数据格式;  引导操作的提示; 数据管理能力要求  长久保存的数据存入数据库;  购物车给于 15 天保存期; 故障处理要求  尽可能的 保证数据库完好无损 ;  时常备份数据 库 ; 运行环境需求 1) 设备 一台具备 Microsoft Windows XP/VISTA 系统计算机 ; 2) 支持软件 ( 1)用户基础软件配置 操作系统 : Windows XP; 相关软件工具: MyEclipse ; ( 2)开发工具 平台: Windows XP; 服务器 : Tomcat ; 数据库: MySQL ; 相关类库: Struts、 Spring、 Hibernate、 JSTL 等 ; ( 3)测试环境 Windows XP + IE8。 浙江工业大学之江学院毕业设计(论文) 10 4 系统概要设计 总体设计 环境配置 B2C 系统都 基于 开发并测试,采用 Tomcat 做 Web 服务器,并在基于MyEclipse 的平台上开发并测试运行,数据库采用关系数据库 MySQL。 如此搭建出一个稳定的适于系统的应用开发运行环境。 Java 开发包 J2SDK( Java 2 Software Development Kit)是基于 Java 软件开发的前提。 J2SDK 简称 JDK, 仍是目前的主打。 Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache、 Sun 和其他一些公司及个人共同开发而成。 曾被JavaWorld 杂志评为最具创新的 Java 产品 (Most Inovative Java Product),同时它又是Sun 公司官方推荐的 Servlet 和 JSP 容器。 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。 MyEclipse 是 Eclipse的插件,集成了对 Spring、 Struts、 Hibernate 等主流 Java EE 组件开发插件的支持,大大简化了 Java EEj 应用的开发。 MySQL 是由 MySQL AB 公司开发、发布并支持的全世界 最流行的开源 SQL 数据库管理系统,目前最新版本为 ,对存储过程、触发器和视图有了很好的支持,成为开源数据库之首选。 系统结构 整个系统的架构设计遵循 MVC 模式,将展示层、控制层、模型层(业务逻辑层)及持久层进行合理分离。 表现层采用 Struts 框架,业务逻辑层采用 Spring 框架取代EJB 容器,数据持久层以 Hibernate 取代实体 Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级 J2EE 应用框架。 整个轻量级框架业务流程为:用户接口层利用 JSP+HTML 页面实现交互界面,负 责传送页面请求和接收响应,表示层 Struts 收到请求,调用相应的 Action,处于业务层的 Spring IOC容器负责向 Action提供业务服务组件 (Service)和相应的数据访问处理组件 (DAO),并提供事务处理、日志管理等一系列系统服务,处于持久层的 Hibernate负责对象化映射与数据库交互,具体处理 DAO 组件请求,并返回结果。 总体模块 总体设计是把总体任务分解为许多基本的、具体的任务。 这些具体任务合理地组织起来构成总体任务。 其基本任务是将系统划分成模块,决定每个模块的功能,决定模块的调用关系, 决定模块的界面及模块间信息的传递。 总体设计过程首先寻找实现目标系统的各种不同的方案。 通常,设计出初步的软件结构后还要多方改进,从而得到更合理的结构,进行必要的数据库设计。 浙江工业大学之江学院毕业设计(论文) 11 已登录会员注 册 登 陆查 看 搜 索 商品 信 息购 物 车 管 理个 人 信 息 管理收 藏 夹 管 理未注册/未登录顾客管理员商 品 目 录 管 理商 品 管 理订 单 管 理会 员 管 理B 2 C 数 据 库 图 41 B2C 系统 总体模块 图 功能模块 B2C 系统大致可以划分为 9 个功能模块: 用户 顾客注册、登录模块 用户 可以通过填写注册信息注册成为会员, 会员登陆后可以进行个人信息管理和购物车等重要操作,未登录或未注册的顾客只能检索 浏览商品信息 和购物车处理。 在注册信息时,系统会对注 册信息进行有效性的验证,有效才会注册成功。 无效返回重写有效失败返回重新登陆成功填写注册基本信息是否有效输入帐号密码登陆注册信息有效性验证 会员登陆验证完成注册是否成功成功登陆 图 42 用户 注册、登录模块活动图 浙江工业大学之江学院毕业设计(论文) 12 商品检索、浏览模块 用户 可以直接查看商品的全部信息(如商品名称、商品图片、商品价格 、商品折扣 、 商品介绍 等),也可以根据不同的商品种类浏览商品信息,也可以透过输入关键字对商品进行检索,查看其信息。 商品种类显示输入关键字进行检索 分页查看商品搜索信息选择具体的商品种类商品详细信息分页查。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。