欢迎来到天天文库
浏览记录
ID:50760908
大小:816.50 KB
页数:27页
时间:2020-03-14
《CORBA公共对象请求代理体系结构)是由OMG组织制订的一..ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Struts123456789CORBA:公共对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。或者说CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互联而提出的一种解决方案。1011WEB服务器和应用服务器任何一个WEB应用都离不开Web服务器以及应用服务器,WEB服务器用于处理http请求,应用服务器可以提供和web应用相关的服务,如EJB容器就是一种处理业务逻辑和事务的应用服务器。12实现它们。13141516171819202122233.控制器控制器由ActionServlet类和Acti
2、on类来实现。ActionServlet类是Struts框架中的核心组件,ActionServlet继承了javax.servlet.http.HttpServlet类,它在MVC模型中扮演中央控制器的角色。ActionServlet主要负责接收HttP请求信息。根据配置文件Struts-config.xml的配置信息,把请求转发给适当的Action对象。如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。对于小型简单的应用,Action类本身也可以完成一些业务
3、逻辑。当ActionServlet控制器收到用户请求后,把请求转发到一个Action实例,如果这个实例不存在就先创建。然后调用Action的execute()方法,execute()方法返回ActionForward对象,它封装了把用户请求转发给其他WEB组件的信息。用户定义自己的Action类时,即Action基类的子类时,必须覆盖execute()方法,在Action基类中该方法返回null。244.Struts的配置文件Struts-config.xml一个用户请求是通过ActionServlet来处理和转发的,那么ActionServlet如何决定把请求转发给哪
4、个Action对象呢?这就需要描述用户请求路径和Action映射信息的配置信息了。在该配置文件中,每个Action的映射信息都通过一个元素来配置。这些配置信息在系统启动的时候被读入内存,供Struts在运行期间实用,在内存中,每一个元素都对应一个org.apache.struts.action.ActionMapping类的实例。1.4.2Struts的工作流程。对于采用Struts框架的Web应用,在Web应用启动时就会被加载并初始化ActionServlet。ActionServlet从配置文件中读取配置信息,把他们存放到各种配置对象
5、中,例如Action的映射信息存放在ActionMapping对象中。当ActionServlet接收到一个请求的时候,它将执行如下流程。25检索和用户请求匹配的ActionMapping实例,如果不存在就返回用户请求路径无效的信息。(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。(3)根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的Validator()方法。(4)如果ActionForm的Validator()方法返回null或返回一个不包含ActionM
6、essage对象,就表示表单验证成功。(5)ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个对象,然后调用Action的execute()方法。(6)Action的execute()方法返回一个ActionForward对象,ActionServalet再把客户请求转发给ActionForward对象指向的jsp组件。(7)ActionForward对象指向的jsp组件生成动态网页,返回给客户。对于以上流程的流程(4),如果ActionForm的Validator
7、()方法返回一个包含一个或多个ActionMessage的ActionErrors对象,就表示表单验证失败。此时ActionServlet将直接把请求转发给包含用户提交表单的jsp组件。在这种情况下,不会再创建Action对象并调用Action的execute()方法。图1-14显示了Struts响应用户请求的工作流程。2627
此文档下载收益归作者所有