




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 J2EE课程设计 实验题目 基于J2EE的网络商城 专业班级 12软件工程(1)班 姓 名 薄文正 学 号 2012110606 指导教师 张锏老师 目录第一章 绪 论11.1背景11.2开发工具与技术11.3参考文献2第二章 需求分析32.1 项目描述32.2 功能分析3第三章 数据库设计43.1 数据库设计平台43.2 数据库ER模型图43.3 数据库设计及内容简介6第四章 项目环境搭建74.1 配置Struts274.2配置Hibernate84.3 配置Spring94.4 配置web.xml10第五章 功能概要设计115.1 登陆界面115.2 主界面115.3 商品预览115.4
2、 购物车模块125.5订单模块12第六章 课程设计小结12第一章 绪 论1.1背景近年来,随着 Internet 的迅速崛起,互联网用户的爆炸式增长以及互联网对传统行业的冲击让其成为了人们快速获取、发布和传递信息的重要渠道,于是电子商务逐渐流行起来,越来越多的商家在网上建起网上商城,向消费者展示出一种全新的购物理念,同时也有越来越多的网友加入到了网上购物的行列,阿里巴巴旗下的淘宝的成功展现了电子商务网站强大的生命力和电子商务网站更加光明的未来。笔者充分利用 Internet 这个平台,实现一种全新的购物方式网上购物,其目的是方便广大网友购物,让网友足不出户就可以逛商城买商品,为此构建网络商城系
3、统。1.2开发环境主要开发工具为:MyEclipse10、Mysql、Tomcat6.0。主要技术包括:J2EE轻量级框架SSH。S2SH集成框架是Struts、Spring 和Hibernate 三种技术的有机融合, 是目前应用最广泛的Java EE 架构。在S2SH集成框架中,Struts 的作用是提供MVC 模型, 将界面、业务逻辑和数据分离, 并提供一个高可扩展的架构。Spring作为核心,向上整合MVC框架,向下整合ORM框架,使用Spring的IoC容器来管理各组件之间之间的依赖关系,Spring的声明事务将负责逻辑层组件的事务管理。而Hibernate 提供了一个抽象的数据服务视
4、图,将用户对数据库的访问进行高度抽象。 Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,是Jakarta Apache 的一个开源项目。基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts 经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。1.Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServ
5、let转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。2.View部分该部分采用JSP实现。3.Controller组件Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处
6、理。对应Action部分。Spring 由Rod Johnson 创建,它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean 来完成以前只可能由EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring 中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。1.轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Sprin
7、g是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。2.控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。3.面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并
8、不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。4.容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。5.框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等)
9、,将应用逻辑的开发留给了你。Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合, 既可以在Java 的客户端程序使用, 也可以在Servlet/JSP 的Web 应用中使用。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下
10、面对这五个核心接口分别加以介绍。1.Session接口Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。2.SessionFactory接口SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象
11、。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。3.Configuration接口Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。4.Transaction接口Transaction接口负责事务相关的操作。它是可选的,开发
12、人员也可以设计编写自己的底层事务处理代码。5.Query和Criteria接口Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。1.3参考文献1李刚.轻量级JavaEE企业应用实战.北京: 电子工业出版社,2009.92孙卫琴.精通Struts:基于MVC的Java Web设计开发.北京: 电子工业出版社,2004 3 Dava Crane, Eric Pascarelo,Darren James 著.AJAX实战.人民邮电出版社,2006.4 4 邓子云, 张赐.Jsp网络编程从基础到实战.北京:电子工业出版社,2005 5 郭志学.易学设
13、计模式.北京:人民邮电出版社,2009.46蒋卫祥.J2EE案例开发教程.北京: 化学工业出版社,2013.5第二章 需求分析2.1 项目描述网络商城系统是基于 B/S 模式的电子商务网站,用于满足不同人群的购物需求,笔者通过对现有的商务网站的考察和研究,从经营者和消费者的角度出发,以高效管理、满足消费者需求为原则,要求本系统满足以下要求:统一友好的操作界面,具有良好的用户体验;商品分类详尽,可按不同类别查看商品信息;推荐产品、人气商品以及热销产品的展示;会员信息的注册及验证;用户可通过关键字搜索指定的产品信息;用户可通过购物车一次购买多件商品;实现收银台的功能,用户选择商品后可以在线提交订单
14、;提供简单的安全模型,用户必须先登录,才允许购买商品;用户可查看自己的订单信息;设计网站后台,管理网站的各项基本数据;系统运行安全稳定、响应及时。2.2 功能分析网络商城系统分为前台和后台两个部分的操作。前台主要有两大功能,分别是展示产品信息的各种浏览操作和会员用户购买商品的操作,当会员成功登录后,就可以使用购物车进行网上购物。网络商城前台功能结构图如图1 所示。图1 网络商城系统前台功能结构图后台的主要功能是当管理员成功登录后台后,用户可以对网站的基本信息进行维护。例如,管理员可以对商品的类别进行管理,如可以删除和添加产品的类别;如可以对商品信息进行维护,如可以添加、删除、修改和查询产品信息
15、,并上传产品的相关图片;如可以对会员的订单进行集中管理,管理员可以对订单信息进行自定义的条件查询并修改制定的产品信息。网络商城后台功能结构图如图2 所示。图2 网络商城系统后台功能结构图第三章 数据库设计3.1 数据库设计平台 MySQL数据库3.2 数据库ER模型图 会员信息表 tb_customer 的 E-R 图,如下图 所示。订单信息表 tb_order 的 E-R 图,如下图 所示。订单条目信息表 tb_orderitem 的 E-R 图,如下图 所示。商品信息表 tb_productinfo 的 E-R 图,如下图 所示。商品类别信息表 tb_productcategory 的 E
16、-R 图,如下图 所示。3.3 数据库设计及内容简介本系统采用 MySQL 数据库,创建的数据库名称为 db_database19,数据库 db_database19 中包含 7张数据表。所有数据表的定义如下:tb_customer(会员信息表)用于存储会员的注册信息,该表的结构如下表 所示。tb_customer 信息表的表结构tb_order(订单信息表)用于存储会员的订单信息,该表的结构如表 14.2 所示。tb_order 信息表的表结构tb_orderitem(订单条目信息表)用于存储会员订单的条目信息,该表的结构如下表 所示。tb_orderitem 信息表的表结构tb_produ
17、ctinfo(商品信息表)用于存储商品信息,该表的结构如下表 所示。tb_productinfo 信息表的表结构tb_productcategory(商品类别信息表)用于存储商品的类别信息,该表的结构如下表 所示。tb_productcategory 信息表的表结构tb_user(管理员信息表)用于存储网站后台管理员信息,该表的结构如下表 所示。tb_productcategory 信息表的表结构tb_uploadfile(上传文件信息表)用于存储上传文件的路径信息,该表的结构如下表 所示。tb_uploadfile 信息表的表结构第四章 项目环境搭建4.1配置Struts2struts.xm
18、l 文件是 Struts 2 重要的配置文件,通过对该文件的配置实现程序的 Action 与用户请求之间的映射、视图映射等重要的配置信息。在项目的 ClassPath 下创建 struts.xml 文件,其配置代码如下:<struts><!- 前后台公共视图的映射 -><include file="com/lyq/action/struts-default.xml" /><!- 后台管理的Struts2配置文件 -><include file="com/lyq/action/struts-admin.xml&q
19、uot; /><!- 前台台管理的Struts2配置文件 -><include file="com/lyq/action/struts-front.xml" /></struts>4.2配置HibernateHibernate 配置文件主要用于配置数据库连接和 Hibernate 运行时所需的各种属性,这个配置文件位于应用程序或 Web 程序的类文件夹 classes 中。Hibernate 配置文件支持两种形式,一种是 Xml 格式的配置文件,另一种是 Java 属性文件格式的配置文件,采用“键=值”的形式。建议采用 Xml 格式
20、的配置文件。在 Hibernate 的配置文件中配置连接的数据库的连接信息,数据库方言以及打印 SQL 语句等属性,其关键代码如下:<hibernate-configuration><session-factory><!- 数据库方言 -><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!- 数据库驱动 -><property name="hibernate.connecti
21、on.driver_class">com.mysql.jdbc.Driver</property><!- 数据库连接信息 -><property name="hibernate.connection.url">jdbc:mysql:/localhost:3306/db_database24</property><property name="hibernate.connection.username">root</property><property name=
22、"hibernate.connection.password">111111</property><!- 打印SQL语句 -><property name="hibernate.show_sql">true</property><!- 不格式化SQL语句 -><property name="hibernate.format_sql">false</property><!- 为Session指定一个自定义策略 -><propert
23、y name="hibernate.current_session_context_class">thread</property><!- C3P0 JDBC连接池 -><property name="hibernate.c3p0.max_size">20</property><property name="hibernate.c3p0.min_size">5</property><property name="hibernate.c3p0.
24、timeout">120</property><property name="hibernate.c3p0.max_statements">100</property><property name="hibernate.c3p0.idle_test_period">120</property><property name="hibernate.c3p0.acquire_increment">2</property><propert
25、y name="hibernate.c3p0.validate">true</property><!- 映射文件 -><mapping resource="com/lyq/model/user/User.hbm.xml"/><mapping resource="com/lyq/model/user/Customer.hbm.xml"/><mapping resource="com/lyq/model/product/ProductInfo.hbm.xml"
26、/><mapping resource="com/lyq/model/product/ProductCategory.hbm.xml"/><mapping resource="com/lyq/model/product/UploadFile.hbm.xml"/><mapping resource="com/lyq/model/order/Order.hbm.xml"/><mapping resource="com/lyq/model/order/OrderItem.hbm.xm
27、l"/></session-factory></hibernate-configuration>4.3 配置Spring利用 Spring 加载 Hibernate 配置文件以及 Session 管理类,在配置 Spring 的时候,只需配置 Spring 的核心文applicationContext-common.xml,其代码如下:<!- 配置sessionFactory -><bean id="sessionFactory"class="org.springframework.orm.hibernat
28、e3.LocalSessionFactoryBean"><property name="configLocation"><value>classpath:hibernate.cfg.xml</value></property></bean><!- 配置事务管理器 -><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionMan
29、ager"><property name="sessionFactory"><ref bean="sessionFactory" /></property></bean><tx:annotation-driven transaction-manager="transactionManager" /><!- 定义Hibernate模板对象 -><bean id="hibernateTemplate" class="
30、org.springframework.orm.hibernate3.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory"/></bean></beans>4.4 配置web.xml任何 MVC 框架都需要与 Servlet 应用整合, Servlet 则必须在 web.xml 文件中进行配置。web.xml的配置文件是项目的基本配置文件,通过该文件设置实例化 Spring 容器、过滤器、配置 Struts 2 及
31、设置程序默认执行的操作,其关键代码如下:<!- 对Spring容器进行实例化 -><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext-*.xml</param-value>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年纺织品检验员考试解析与展望试题及答案
- 国际美术设计师行业动态与试题及答案
- 大学马原期末试题及答案
- 2024年纺织行业专业水平考试试题及答案
- 干部廉洁自律试题及答案
- 当前市场下的纺织品设计师考试试题及答案
- 2024年技术标准改革对纺织的影响试题及答案
- 商标法的试题及答案
- 公务写作考试题及答案
- 提升审美能力2024年国际商业美术设计师考试试题及答案
- GB/T 13745-1992学科分类与代码
- GB/T 12444-2006金属材料磨损试验方法试环-试块滑动磨损试验
- 第五章曲霉病课件
- CRH380B型动车组概述
- 新方法验证报告水质矿化度重量法《水和废水监测分析方法》(第四版增补版)
- 2020新译林版高一英语必修三unit4单词默写
- 紫藤萝瀑布的说课稿
- GB∕T 37665-2019 古陶瓷化学组成无损检测PIXE分析技术规范
- 增材制造产业调研报告
- 曲阜师范大学毕业论文答辩通用ppt模板
- 刮板式花生脱壳机设计
评论
0/150
提交评论