《2668.于MVC设计模式的Struts架构的研究毕业论文.doc》由会员分享,可在线阅读,更多相关《2668.于MVC设计模式的Struts架构的研究毕业论文.doc(33页珍藏版)》请在优知文库上搜索。
1、毕业设计摘 要电子商务已经成为目前商务领域中非常重要的一种运作方式,如何快速、高效的构建出客户所需的电子商务网站已经成为java web程序员最关心的问题。作为对经典的mvc设计模式的一种具体实现,struts是建立在当前动态网站设计中jsp,servlet,xml等相关开发技术基础之上的一种主流的开发架构,是一种基于mvc的经典mvc设计模式框架。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个
2、很好的起点。虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式。关键词: Struts;J2EE;MVCABSTRACTThe electronic commerce already becomes present commerce domainCentral Africa often the important one operation way, How fast, highly effective the electronic commerce website whichconstructed the customer to need already becomes j
3、ava the webprogrammer most issue of concern. As the classics mvc design pattern one kind of concreterealization, struts is the establishment in the current dynamicwebsite design jsp, servlet, correlation development technology baseand so on the above xml one kind of mainstream development overheadco
4、nstruction, is one kind based on the mvc classics mvc design patternframe. Struts with Tomcat, Turbine and so on many Apache project is same,operates source software, this is its big merit. Enables thedevelopment the more thorough understanding its interior realizationmechanism. Moreover, speaking o
5、f at present the domestic JSPdevelopment, besides uses the commonly used mark which JSP brings,very little develops own mark, perhaps Struts is a very goodbeginning.Although it now also has manyshortcomings, but it is one kind of extremely outstanding J2EE the MVCrealization way.Key word: Struts;J2E
6、E;MVC目 录摘 要IABSTRACTI1.绪论11.1 选题及研究意义11.2 课题研究的背景及内容12 J2EE知识12.1 J2EE概述12.2 J2EE技术23 Struts框架-基于MVC的设计模式23.1 MVC模式23.2 框架的概念43.3 Struts概述43.3.1 Struts组件43.3.2 Struts工作流程53.3.3 Struts实现MVC的机制74 开发工具的安装和配置84.1 JDK的安装和配置84.2 Tomcat的安装和配置94.3 Eclipse和Myeclipse的安装和配置105 基于Struts的课程查询中心系统开发105.1 需求分析105.
7、2 功能设计115.3 创建视图135.4 构建模型175.5 创建控制器组件215.6 发布和运行课程查询中心系统27总结28参考文献29致谢3031基于MVC设计模式的Struts架构的研究1 引言1.1 选题及研究意义 寻求在软件开发过程中设计级的重用的想法由来已久,这个领域的一个突破就是设计模式的提出。所谓设计模式,实际上就是对以往成功的解决方案的重复利用。就如同一个建筑设计师要设计一栋商用写字楼,一定会借鉴许多在商用楼设计方案中成功的设计经验一样。软件设计领域中的设计模式则是对以往成功软件设计方式的重用,是对专业软件开发人员技术和经验的重复利用,这无疑能够有效地降低软件开发的风险,提
8、高软件开发的效率。 mvc模式是国外用的比较多的一种设计模式,很多的开源项目,就是利用这一设计思想,已将其做成了web框架。web框架有很多,例如:turbine,jetspeed,struts。它们各有特点,而且功能强弱不同,这里只使用struts框架作为研究对象。1.2 课题研究的背景及内容 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行
9、开发时不用再自己编码实现全套MVC模式,极大的节省了时间,是一个非常不错的应用框架。struts构架一经推出,即受到各java开发群体的广泛重视,从2004年开始逐渐升温,并日渐成为java创建web应用开发的最流行的框架工具,在目前java web程序员的招聘要求中,几乎都提出了对struts的要求,精通struts架构已经成为java web程序员必备的技能。 在这样的一个情况下,我选择了这个课题作为我的毕业设计题目,一是为了掌握一种语言,但更重要的是为毕业以后的工作做更充分的准备。2 J2EE知识2.1 J2EE概述 J2EE是美国Sun公司刚刚推出的一种全新概念的模型,与传统的互联网应
10、用程序模型相比有着不可比拟的优势。 当今许多企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和客户之间 的响应时间,这就需要存在一种简捷,快速的服务于企业,合作伙伴和雇员之间。 典型的说,提供这些服务的应用软件必须同企业信息系统(EIS)相结合,并提供新的能向更为广阔的用户提供的服务。这些服务要具备以下的特点: a 高可用性:来满足现在的全球商业环境 b 安全性:保护用户的隐私和企业数据的安全 c 可依赖性和可扩展性:保证商业交易的正确和迅捷 通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与EIS相结合的功能。
11、这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的INTERNET技术使用户在管理上所花费的时间最小化。 J2EE正式降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以被快速的展开,并能够更轻松的面对竞争中的压力。 2.2 J2EE技术J2ee包括的技术如下:1) Enterprise JavaBeans (EJB)EJB定义了服务器方组件编写的规则和,同时定义了如何管理组件和应用程序以及他 们之间如何通信。EJB促进了组件交易市场的发展,在这里,组件提供商可以出售可重用的组件。2) Java Remote Method Invocation (RMI) and RMI-IIOP
12、RMI允许内部通信并且提供和其他服务通信的能力。RMI-IIOP是使用IIOP协议的RMI的精简扩充,可以和corba整合在一起。3) Java Naming and Directory Interface (JNDI)JNDI鉴别组件或者其他网络资源的位置。4) Java Database Connectivity (JDBC)JDBC是一个关系数据库的桥,允许操作关系型数据库5) Java Transaction API (JTA) and Java Transaction Service (JTS)JTA和JTS规范允许组件支持交易保护。6) Java Messaging Service
13、 (JMS)JMS 允许分布式对象异步通信。7) Java Servlets and Java Server Pages (JSPs)Servlets 和 JSPs 是网络组件,观念上符合面向请求/回应计算,象通过http协议和client端通信。8) Java IDL.java IDL是sun公司实现基于java的corba技术。Java IDL 允许和其他语言的应用整合,同时也允许基于corba的分布式计算。3 Struts框架-基于MVC的设计模式3.1 MVC模式MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC应用程序分成三个核心模块:模型、视图和控制器,它们分
14、别担负不同的任务。如图3-1。1)视图视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。控制器接受用户请求调用模块响应用户请求选择视图显示响应结果视图显示模型状态接受数据更新请求把用户输入数据传给控制器模型代表应用程序状态响应状态查询处理业务流程通知视图业务状态更新选择视图业务处理用户请求状态查询通知数据更新图3-1 MVC模式图2)模型模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由
15、于同一个模型可以被多个视图重用,所以提高了应用的可重用性。3) 控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。当web用户单击web页面中的提交按钮来发送html表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。4)MVC处理过程首先控制器接受用户的请求,并决定应该调用哪个模型来进行处理,然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。5)MVC的优点首先,多个视图能共享一个模型。如今,同一个web应用程序会提供多个用户界面,例如用户希望既能通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求web网站同时提供internet界面和wap界面。在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性。其次,模型是自包含的,与控制器和视图保持相对独立,所以可以方便的改变应用程序的数据层和业务规则。如果把数据库从Mysql移植到Oracle,或