版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于struts技术的Web应用设计与实现
摘要Struts是目前Web开发中比较成熟的一种框架,本文阐述了基于MVC模型的Web应用软件开发框架struts的体系结构及主要组成组件,并结合一个实例讨论如何设计基于struts框架的应用,同时也分析了使用struts框架开发web应用的优势。关键词Struts;模型;视图;控制器近年来,基于MVC(Model-View-Controller)模型的Struts框架越来越受到web系统开发者的青睐。Struts是建立在当前动态网站设计领域中JSP、Servlet、XML等相关开发技术基础之上的一种主流开发架构,具有组件模块化、灵活性和重用性的优点,同时极大地简化了Web应用程序的开发。它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性。1Struts框架Struts体系结构Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。主要组件介绍下面我们就从分别从视图、控制、模型和Struts的配置文件struts-config.xml来介绍struts的体系结构。(1)视主要由JSP建立,Struts自身包含了一组可扩展的自定义标签库(Tag1ib),可以简化创建用户界面的过程。(2)模型:模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomFormBean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。(3)控制器:控制器主要由ActionServlet类和Action类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。(4)配置文件struts-config.xml:当ActionServlet接收HTTP请求信息时,如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息。在Struts中.这些配置映射信息都存储在特定的XML文件Struts—config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。
2基于Struts框架BBS系统实现BBS论坛是电子商务网站中一种常见的功能,它为上网用户提供了一个自由的讨论区。用户可以根据需要在论坛上发表文章,提出问题并表达自己的观点,俗称发帖子或灌水。与此同时,上网用户也可以在论坛中浏览其他人发表文章,并能对该文章进行回复。故一个典型的BBS系统一般应提供如下功能:①会员管理,②讨论区文章查阅,③发表新文章,④后台管理。运用Struts框架实现BBS,首先把应用分解为模型、视图和控制器来实现,这样就将业务逻辑和表现层分开,提高软件可扩展性和良好的逻辑性,改变了传统Web开发设计模式。然后运用配置文件将三者组装起来,协调它们完成相应的功能。下面将以BBS中用户登陆为例按照MVC架构来详述实现过程。创建视图组件在视图中主要包括两个组件:用户登录页面,是struts的输入显示页面;登录失败页面;是用户登录失败后显示的页面。它们都保存在Web应用目录bbs下。创建模型组件模型组件文件是处理业务逻辑的JavaBean,封装了与论坛用户相关的所有信息,同时也定义了所有与论坛用户信息处理相关的方法。例如检查用户身份的方法以及查找、删除、编辑、存储用户信息等。通过Action类派生的子类LoginAction访问实现对业务逻辑的处理。如果模型组建处理的业务比较复杂可以使用EJB或其他J2EE组件来实现。注意业务逻辑层对应的类所在的包应该部署在bbs/WEB-INF/classes下。创建控制器组件控制器组件作为整个Struts架构的控制中心,包括了ActionServlet、ActionBean、ActionFormBean、以及相关配置文件、及资源包。ActionServlet类是框架自带的,是整个Struts框架的控制枢纽,通常不需要扩展。⑴声明及定义该Javabean用于收取用户登录页面提交的表单数据。注意ActionFormBean中属性名称一定要对应用户表示层JSP页面中的表单元素名称及超链接参数名。⑵声明及定义负责处理客户端提交请求,其主要功能是依据接收到的不同请求,通过LoginActionForm中得到对应的提交表单数据,调用业务逻辑层中对应的进行处理。最终将结果传给用户表示层JSP页面,显示在用户面前。⑶配置文件定义主要实现了对ActionServlet进行配置,同时还必须声明Web表示层中所使用的struts标签库。针对本应用配置如下。form-beansform-beanname="loginForm"type=""//form-beansglobal-forwardsforwardname="LoginSuccessed"path="/"/forwardname="LoginFailed"path="/"//global-forwardsaction-mappingsactionpath="/login"type=""name="loginForm"scope="session"input="/"//action-mappings3结束语从某种意思上讲,Struts技术只实现了Web层的应用框架,但它是一个具有良好扩展性和不断完善的框架,结合J2EE核心设计模式,可构建出相当稳定的基于MVC应用框架,利用这样应用框架不但能缩短开发时间,还能够实现框架和代码的重用,是未来web应用开发的主流技术。参考文献:[
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产xx化学级氧化铝项目可行性研究报告(立项备案)
- 年产xx垃圾焚烧炉项目建议书
- 2022-2023学年广东省深圳市福田区三年级(上)期末英语试卷
- 2024年造纸印染污染治理项目资金筹措计划书代可行性研究报告
- 2023-2024学年广东省深圳市罗湖区五年级(上)期末英语试卷
- 大班社会公开课教案详案《闪光的国粹》
- 脑出血预见性护理
- 电信综合维护安全培训
- 团培训结业报告
- 美术学科小培训
- 招商部人员工作行为准则
- 液压破碎锤安全操作规程
- 飞机总体设计报告
- 浅谈预算绩效管理.ppt
- 光伏电站第二种电气工作票
- 汽车美容店长岗位职责
- 各种学校学校消毒记录表(汇总5篇)
- 中学数学兴趣社团活动记录
- 社会医学期末考试题目总结
- 小学英语疑问代词练习
- 毕业设计论文鼓形齿联轴器的设计完整图纸
评论
0/150
提交评论