1、 南 京 工 程 学 院毕业设计说明书(论文)专 业: 通信工程 题 目: 网上购物系统的研究与实现 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规
2、定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使
3、用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良
4、 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格
5、(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章
6、)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格
7、不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日摘要伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。本系统便是尝试用J2EE架构在网络上架构一个动态的电子商务网站,它是在W
8、indows XP下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用J2EE框架开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理等功能的电子商务网站。关键字:J2EE; MYSQL;Tomcat;网上购物系统AbstractAlong with the vigorous development of the Internet, e-commerce networks as a shoppi
9、ng center is a form of its highly efficient, low-cost advantages, gradually emerging as a business model and philosophy, there is no longer meet use and dissemination of information browsing, but a desire to bring the full enjoyment network more convenient. Internet shopping is being adapted to the
10、fast pace of todays society to live, so that customers can enjoy the convenience of fast and easy way to purchase their own like commodities. The system is trying to use J2EE architecture in a dynamic network of e-commerce websites structure, which is in Windows XP, MYSQL for database development in
11、 platform, Tomcat application server as a network information services, use J2EE architecture development online shopping system. Prospects and the background of some of his hours, the prospects of users, including users registered, a shopping cart management, order management, personal information
12、management; Background in part by managers, including commodity management, processing orders, customer information management, and information management. After the establishment of the website is a dynamic, interactive, with commodities, systems management, voice mail, and other functions of the e
13、-commerce website users. Keywords:J2EE;JSP; MYSQL;Tomcat;Online shopping system目 录第一章 绪论21.1 引言21.2 选题背景与意义21.3 研究现状31.4 论文主要研究内容31.5 主要章节安排4第二章J2EE简介52.1 J2EE基本概念52.1.1 J2EE概念52.1.2 J2EE的优势62.2 J2EE关键技术92.2.1 JSP的技术原理92.2.2 Struts框架11第三章 系统需求分析及总体设计163.1需求分析163.1.1系统用户163.1.2 网站功能163.2系统功能模块设计163.2
14、.1系统功能分析163.2.2用户访问系统的流程18第四章 数据库设计与实现194.1 数据库需求分析194.2 数据库结构设计194.2.1 用户信息表(cart_user)194.2.2 商品信息表(cart_product)204.2.3 订单表(cart_order)204.2.4 订单条目表(cart_order_item)204.3 Hibernate访问数据库214.3.1 Hibernate简介214.3.2 Hibernate的工作方式214.3.3 用Hibernate访问数据库224.3.4 用Hibernate访问数据库24第五章 系统详细设计265.1前台部分265.
15、1.1前台总体框架265.1.2 用户管理模块285.1.3用户登录295.1.4 购物车模块305.1.5 修改用户资料335.1.6 商品查询345.2后台部分365.2.1后台总体框架365.2.2管理员登录375.2.3商品管理385.2.4订单管理395.2.5 用户管理40第六章 总结与展望42致谢43参考文献44附录A45附录B47第49页南京工程学院毕业设计说明书(论文)第一章 绪论1.1 引言21世纪是网络飞速发展的时代,上网、创建网站已经成为热门话题。Internet技术得到持续、猛烈的发展,已经成为计算机产业的一个技术热点,越来越多的企业开始关注网络,许多人正在或正准备学
16、习网络知识,进行网络开发或创建自己的网站。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和 公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。1.2 选题背景与意义网上商店是电子商务的典型应用。大多数网上商店系统是基于两层体系结构来进行设计和开发的。随着Internet的飞速发展,传统的两层体系结构面临着严峻的挑战,其中最为突出的问题
17、是开发负担重、维护困难等。J2EE 是构建电子商务系统的新兴技术,采用J2EE技术,可以方便地将系统分离为三层:表示层、业务层及数据库层。表示层向客户的浏览器提供基于Web的显示页 面;业务层处理客户购物过程;数据层则提供数据存储。采用这种层次结构可以提高系统的扩展性和服务器的效率,方便开发。本文针对目前网上商店所面临的问题,采用J2EE技术,设计开发了一个网上商店系统。系统具有高可靠性、可扩展性和可重用性的特点。系统中采用多种设计模式来提高系统性能:采用前台控制器来方便地实现导航;采用复合视图来向用户提供Web显示,减少了视图中代码的重复;采用DAO模式访问数据库,从而实现了业务层和数据访问
18、层的分离,降低了层与层之间的耦合性。系统使用了J2EE中的多种技术,如Struts、JSP、Servlet、Hibernate、等。系统以MySql作为后台数据库,在Tomcat5.0应用服务器上部署成功。1.3 研究现状在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为
19、我国零售业奏出了网上购物的先声。根据CNNIC的统计结果,截止2004年1月中国有互联网用户7950万人,而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是3235.7万人,并且这一数字还在以17%左右的速度增长,到2006年中国网上购物用户将达到6962万人,这说明在中国发展网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。1.4 论文主要研究内容本论文涉及了软件开发基础知识、J2EE、MVC模式等方面的内容,主要包括了以下几个方面:软件开发流程包括以下步骤,即业务需求分析,可行性研究,方案设计,确定开发计划,需求分析,建模,详细设计,编写代码
20、,软件测试,软件维护。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
21、利用J2EE框架和MVC模式来开发一个web应用项目。最后,就全文的成果加以总结。1.5 主要章节安排首先就课题研究的背景和意义做出说明。第一章总体的介绍了下设计的内容。第二章简要介绍了J2EE的基础知识。第三章介绍了系统需求分析及总体设计,包括需求分析,系统功能模块设计,对具体功能及用例说明。第四章是数据库设计,包括数据库结构设计,Hibernate访问数据库。第五章给出了系统详细设计,包括前台和后台两个大的部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理等功能;后台部分由管理员使用,主要包括会员信息管理,主要包括商品管理,用户信息管理,处理订单等功能。最后给出
22、结论并对课题未来的发展做出了展望。第二章J2EE简介2.1 J2EE基本概念2.1.1 J2EE概念J2EE(Java 2 Enterprise Edition)是建立在Java 2平台上的企业级应用的解决方案。J2EE技术的基础便是Java 2平台,不但有J2SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,其最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题。事实上,J2EE已经成为企业级开发的工业标准和首选平台。J2EE并非一个产品,而是一系列的标准。市场上可以看到很多实现了J2EE的产品,如BEA Web
23、Logic,IBM WebSphere以及开源的JBoss等等。J2EE,是sun公司提出的一个标准,符合这个标准的产品叫实现;其中你下载的sun公司的j2ee开发包中就有一个这样的实现,而 jboss,weblogic,websphere都是j2ee标准的一个实现。由于jboss,weblogic,websphere自身带有 j2ee的api,所以可以不使用sun的j2ee实现。目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java
24、2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBean
25、s)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。2.1.2 J2EE的优势2.1.2.1 J2EE的优势J2EE为搭建具有可伸缩性
26、、灵活性、易维护性的商务系统提供了良好的机制: 高效的开发: J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:稳定的可用性: 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损 失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健 壮性能更好的操作系统如Sun Solaris
27、、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。2.1.2.2 J2EE三层模型(MVC)MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。 随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视
28、图的处理仅限于视图上数据的采集和处理,以 及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以 及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的 框架。它仅仅告诉你按这种模型
29、设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉 我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有 提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数
30、据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以 完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通
31、过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应 反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视 图、控制器三者之间的关系和各自的主要功能,如图2-1所示。图2-1 MVC框架图2.1.2.3 J2EE企业级应用示例下面我们通过假设一个企业应用的J2EE实现,来了解各种组件和服务的应用。假设应用对象是计算机产品的生产商/零售商的销售系统,这个销售系统能够通过自己的网站发布产品信息,同时也能将产品目录传送给计算机产品交易市场。销售系统能够在线接受订单,并随后转入内部企业管理系统进行
32、相关的后续处理。参见图2-2,这个企业应用可以这种方式架构。该企业应用的核心是产品目录管理和产品定购管理这两个业务逻辑,使用EJB加以实现,并部署在EJB容器中。由于产品目录和定购信息都需要持久化,因此使用JDBC连接数据库。 图2-2 J2EE应用示例2.2 J2EE关键技术2.2.1 JSP的技术原理2.2.1.1 JSP语言及其特点在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。Web服务器在遇
33、到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。2.2.1.2 JSP技术对动态Web页面的开发的影响(1)将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来动态的设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来
34、变化的,会根据不同的请求作相应的处理得到不同的内同,例如请求用户信息或者特定的商品的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用
35、性。(2)强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下
36、载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。(4)JSP能提供所有Servlets功能与Servlets相比,JSP能提供所有Servlets功能,它比用Println书写和修改HTML更方便。可以更明确地进行分工,Web页面设计人员编写HTML,只需留出空间让Servlets程序员插入动态部分即可。JSP技术能够支持高度复杂的基于Web的应用。(5)健壮的存储管理和安全性由于JSP页面的内
37、置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。(6)一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。2.2.2 Struts框架2.2.2.1 Servlet控制器组件技术Servlet在一个典型的Web应用中担任的重要角色就是Servlet非常适合做Web页面之间的消息转发器.因为Servlet是一个被W
38、eb容器动态加载的组件模块,它并不十分适合做用户的界面表示,而当Web用户发出请求的时候Servlet组件可以通过Servlet容器来捕获这个请求消息,这样它可以调用模型组件来出来这个消息。当客户程序(如: 浏览器)首先向Servlet容器发出Web请求,服务器接受到请求以后会调用相应的Servlet组件来执行相应的程序来完成这个请求,然后Servlet组件吧处理结果交给Servlet容器,再由Servlet容器把请求回复给客户程序.这也是一个典型的web应用的执行过程.Java的Servlet技术提供了一组用户的编程接口为开发人员定义了相关的类。Servlet API中以下几个比较重点的类决
39、定了Servlet的处理流程:HttpServlet :该类提供了用户扩展的能力,用户通过继承该类编写Servlet组件.主要填写Http方法(如: doPost doGet)完成服务。HttpServletRequest: 该类提供了接受用户请求数据的能力,该类通常是由Web容器在一次客户请求服务中创建的.Servlet可以通过该对象访问到请求时用户的请求数据。HttpServletResponse: 该类用于生成执行后的相应结果.该类也是由Web容器在服务中创建的。HttpSession: 该了同类处理客户的会话跟踪。ServletContext: Servlet容器为每个Web 应用模块
40、都提供了一个环境来保持该应用模块的状态.这组状态是该模块中所有Web组件可以访问到的共享信息。2.2.2.2 Struts框架结合MVC框架随着软件开发日渐成熟,软件工程师们也变得逐渐成熟起来,我们开始首先设计软件框架结构,这样在开发阶段我们才会井然有序的进行.而对于现代软件开发对软件的开发周期要求越来越迅速,所以如果要自己开发一套框架已经不太现实了.所以我们必须要选择已经成熟的软件框架了.而Struts对于Java的Web开发而言就是一个不错的选择.Struts框架实质就是JSP Model2模型的实现.1.视图视图是通过一组JSP程序实现的.这些JSP程序中不能包含业务逻辑,也不能包括模型
41、的信息.模型的信息是通过控制器传递的.在Struts中ActionForm 也被看成是视图的一部分.它其他更新视图,以及视图查询模型状态的桥梁.2.模型模型是程序的状态表示,其状态包括,消息中传递的状态,以及共享状态或一次回话中的状态,以及持久状态.而操作这些状态的流程也同样包括在模型中.这些模型也就是业务的总体运作流程和数据.3.控制器控制器部分由ActionServlet和Action来实现.ActionServlet也就是Struts框架用来和Web容器交互的接口.该类是Struts框架的核心组件.ActionServlet继承了HttpServlet类.它在MVC模型中扮演中央控制器的
42、角色.当Web容器一接收到客户请求就会交割ActionServlet该类更加struts-config.xml文件的配置信息选择合适Action来处理请求.并传递请求过程中的数据,这些数据是通过ActionForm传递的.Action本身也并不包含业务逻辑的处理代码.它只是负责调用业务的处理代码的.调用这些代码的方法在execute()方法中.该方法在调用业务处理以后会放回一个ActionForward对象来选择对应的视图.一般而言我们的Action必须直接或间接的继承该类.然后重写excecute()方法以完成我们自己的处理消息.4.Struts的配置文件 struts-config.xml
43、该文件实质是一个控制器和视图的黏合剂,控制器之所以能够选择对应的视图,以及视图能够通过对应的控制器查询到模型中的数据都是依赖该文件.该文件是一个XML文件.在该配置文件中每Action都对应一个标签用来映射Action类的信息.2.2.2.3 Struts流程1. web容器启动,根据web.xml内容中的标签 new一个struts的WebServlet对象action. 从此action对象开始一直存在,直到web服务器停止. action实例配置根据2. 当客户端浏览器有*.do的请求时,web容器就会根据转给struts的WebServlet对象action处理.从此程序进入strut
44、s处理流程3.struts的接收到*.do的请求后,根据配置文件struts-config.xml的映射关系,的对应关系转到相应的action控制器类处理.并且把相应的表单对象actionForm 传进去4.action控制器类根据需要调用相应的bo类来处理业务逻辑.5. bo类根据需要调用相应的dao类来实现与底层数据库连接6. dao返回结果给bo,bo返回给action 调用ActionMapping 对象转到相应的页面.图2-2 Struts基本流程状态图ActionServlet是Struts的核心控制器,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-c