<b>JBuilder 2005 Struts深度体验之概述</b>[Java编程]
本文“<b>JBuilder 2005 Struts深度体验之概述</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Struts是基于Model 2实现的技术框架,Model 2是经典的MVC(Model,View,Control)模子的Web利用变体,这个改变主要由于HTTP协议的无状况性惹起的.Model 2的目的和MVC一样,也是操纵掌握器来别离模子和视图,到达差别层间疏松耦合的效果,提高系统机动性、复用性和可保护性.在大都情形下,你可以将Model 2与MVC平等起来.
图 1表示一个基于Java技术典型的MVC网络利用,从中可以看出MVC中的各个部份对应于J2EE哪些实现技术.
图 1 MVC和J2EE技术
在操纵Model 2之前,我们把全部的表示逻辑和业务逻辑都集合在一同(如我们前两个专题中的login.jsp),有时也称这种利用情势为Model 1,Model 1的主要缺陷就是紧耦合,复用性差,保护本钱高.
由于Struts就是基于Model2实现的框架,所以它底层的机制也是MVC,我们通过图 2描写Struts的具体实现:
图 2 Struts MVC实现
1.框架初始化
Struts框架总掌握器(ActionServlet)完成全部初始化工作.总掌握器是一个Servlet,它通过web.xml配置成自动启动的Servlet,读取配置文件(struts-config.xml)的配置信息,为差别的Struts模块初始化呼应的ModuleConfig对象.配置文件中的Action映射定义都保存在ActionConfig调集合,配置文件中其他配置信息辨别保存在ControlConfig调集、FormBeanConfig调集、ForwardConfig调集和MessageResourcesConfig等调集合.
要分外指出的是,初始化行动在Web容器启动时自动完成,初始化完成后,它将通过URL匹配映射截获全部以.do末尾的URL恳求.
2.客户端发送一个HTTP恳求
用户通过提交表单或调用URL向Web利用程序器提交一个恳求,恳求的数据用HTTP协议上传给Web服务器.
3.总掌握器接截获这个恳求并实例化Form Bean
掌握器接纳HTTP恳求,并从ActionConfig中找出对应当恳求的Action子类,假如没有对应的Action,掌握器直接将恳求转发给JSP大概静态页面.假若有对应的Action且这个Action有一个呼应的Action Form,ActionForm被实例化并用HTTP恳求的数据填充其属性,然后保存在Servlet Context中(request或session中),这样它们便可以被别的Action对象大概JSP调用.
此外,还可以在ActionForm填充数据后还可以调用validate()举行数占据效性自检,并且可以返回一个包含全部错误信息的ActionErrors对象,假如ActionErrors不空,总掌握器直接将恳求返回到进口页面.
4.掌握器将恳求转交给具体的Action处理
掌握器按照配置信息将恳求切换到具体的Action,这个Form Bean也一并传给这个Action的execute()办法.
5.Action完成具体的业务逻辑操作
Action很简单,普通只包含一个execute办法,它负责履行呼应的业务逻辑,假如需求,它也大概举行呼应的数据查抄.履行完成之后,返回一个ActionForward对象,掌握器通过该ActionForward对象来举行转发工作.
6.Action返回目标呼应对象给总掌握器
Action按照业务处理的差别后果返回一个目标呼应对象给总掌握器,这个目标呼应对象对应一个具体的JSP页面或别的一个Action.
7.总掌握器将HTTP恳求转换到目标呼应对象中.
总掌握器按照业务功效Action返回的目标呼应对象,将HTTP恳求转换到这个目标呼应对象中,普通情形下,它是一个具体的JSP页面.
以上是“<b>JBuilder 2005 Struts深度体验之概述</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |