一个基于web技术的在线交易系统内容摘要:

明。 当某一层发生变化,只要 API 不变,不会影响其他层的实现。 在本系统中,使用开源的 mysql 数据库,表示层用到 jsp 技术显示动态页面,业务逻辑层用普通 servlet 实现,控制层运用基于 struts2 的 action 控制。 数据库设计 对于关系型数据库,数据库的概念结构设计完毕后,要把 ER图描 述的概念数据模型转换为等价的关系模式极其约束。 逻辑设计的基本工作主要如下步骤。 关系模式设计 该设计以概念结构设计中的 ER图为主要依据, 数据库表的 关系模式如下 7 图 3 系统数据库表的 ER图 完整性设计 完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。 根据实际需要,采取一定的手段来满足用户的完整性需求。 域完整性约束要求属性值必须在域中。 实体完整性约束要求主键必须唯一且不能为空。 如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。 模式优化 本次采用 3NF 为规范准则来分解关系。 将一个关系分解为两个或者多个关系,以满足规范,从而避免产生插入异常、删除异常、更新异常。 数据库表设计 用户信息表如图 35所示 图 35 用户信息 d_user 表 产品信息表如图 36所示 图 36 产品信息 d_product 表 类别信息表如图 37所示 8 图 37 类别信息 d_category 表 具体产品与产品共性关系信息表如图 39 所示 图 39 具体产品与产品共性关系信息 d_category_product 表 具体产品信息表如图 38所示 图 38 具体产品信息 d_book 表 订单信息表如图 310所示 9 图 310 订单 d_order 信息表 条款信息表如图 311所示 图 311 条款信息 d_item 表 用户接受产品信息表如图 312 所示 图 312 用户接受产品信息 d_receive_address 表 系统结构设计 页面设计 本系统主要是一个由多个相互关联的网页组成有机整体的网站,这些网页的组成部分可以分为两大类:素材和功能模块。 其中素材包括 图片、动画、图像等,主要用于美化网页和做广告宣传,其特点是素材内容本身是静态的,可以以文件的形式存放。 而功能模块则体现了网站所具有的功能,这些功能包括: (1)导航栏,即用于指向网站特定内容的链接的集合。 比如,网站首页顶部 10 的页面导航栏,它指示了网站的主要组成部分,通过链接跳转的方式,用户可以很方便地从导航栏转到感兴趣的内容网页。 导航栏的特点是具有树状层次结构的链接的集合,链接的属性具有相似性,即都指向某个特定的页面。 (2)商品信息。 这是购物网站所含数据的主要组成部分。 它的特点是商品种类繁多,不同种类的商 品往往具有不同的属性或技术指标,这就需要将商品信息按某种规则分门别类的存放,而不是将信息统统存放在一起。 (3)购物车列表信息。 从 session 中取出原有购物车的所有产品信息列成表单显示在页面上,并对产品有增 、 删 、 改的操作 ,最后确认生成订单表单。 MVC 模式设计( Jsp+Servlet+Struts2) MVC( Model View Controller)是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。 使用 MVC 应用程序被分成三个核心部件:模型、视图、控制器。 它们各自处理自己的任 务。 视图是用户看到并与之交互的界面。 如何处理应用程序的界面变得越来越有挑战性。 MVC 一个大的好处是它能为你的应用程序处理很多不同的视图。 JSP 页面处于表现层,也就是视力( View 即 V)的角色。 模型表示企业数据和业务规则。 在 MVC 的三个部件中,模型拥有最多的处理任务。 由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 Servlet 则负责数据的处理,也就是模型( Model 即 M)的角色。 控制器接受用户的输入并调用模型和视图去完成用户的需求。 所以当单击Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。 它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 Servlet 用来处理请求的事务, Struts2 充当控制器( Controller 即 C)的角色,负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个 JSP 页面发送给客户。 Struts2 处理用户请求,处理用户请求时回调业务控制器的 execute 方法,该方法先获取用户请求参数,然后执行某种数据库操作,既可以将数据保存到数据库,也可以从数据库中检索信息,该方法的 返回值将决定了 Struts2 将怎样的视图资源呈现给用户。 第 4 章 购物系统实现 此项目的工程结构 表现层 : JSP页面涉及 EL标签 ,OGNL表达式 ,jQuery,Ajax 控制层 : 使用 Struts2控制器 ,涉及 11 业务层 : Action组件 数据访问层 : DAO组件 src源码包结构如下 : 用户模块 Action 订单模块 Action 产品浏览模块 Action 购物车 Action 接口 实现类 实体类 工具类 拦截器 Struts配置文件结构如下 : (主配置 ) (产品浏览模块配置 ) (订单模块配置 ) (用户管理模块配置 ) (购物车模块配置 ) WebRoot目录结构如下 : /WebRoot/main/ 产品浏览 JSP目录 /WebRoot/cart/ 购物车 JSP目录 /WebRoot/order/ 订单 JSP目录 /WebRoot/user/ 用户管理 JSP目录 /WebRoot/mon/ 页眉页脚目录 /WebRoot/css/ 样式文件目录 /WebRoot/js/ 脚本文件目录 /WebRoot/images/ JSP中图片目录 /WebRoot/productImages/ 产品图片目录 系统各部分的实现方法 从系统功能模块划分中可以看出,系统总体上 有两个功能模块组成。 各模块虽然是独立的,但又统一于同一数据库中。 在介绍系统各模块的实现方法之前,首先介绍系统与数据库的连接方式 1.首先要将 mysql 的驱动包放在此项目 WebRoot/WEBINF/lib 目录下 12 2.在项目的 包下面增加数据库连接工具类: DBUtil,类里面添加的内容如下: 访问数据库的 DAO 我们可以使用 DAO 将从数据库中查找到的数据封装打包成对象传到控制类。 连接数据库的 DAO—— Conn。 通过 JSP 页面调用 Controll 类,控制类 调用DAO 类操作数据库 ,可以实现对数据库的连接,数据表的添加、删除、更新等操作,具体实现如下代码: 13 用户登录页面比较简单,为防止用户登录的操作错误,应设置错误处理页面,在登录操作过程中,一般发生的错误有:用户输入了错误的用户名或密码、用户 14 直接单击了登录按钮,对上述情况的判断就要通过 javaScript 文件来实现。 用户 登录界面如图 41所示:。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。