流程图总结

  • 格式:docx
  • 大小:36.40 KB
  • 文档页数:5

解说 :

1… 容器启动时加载并初始化ActionServlet

ActionServlet读取配置文件(struts-config.xml)信息,

存放到各种配置对象中(如ModuleConfig、FormBeanConfig、浏览器 中心控制器

ActionServlet Struts-config.xml

1初始化

2. 接收请求 FromBe视图(View) JSP 3填充表单(如果有)

4.分发请求到具6返回转发对7 转发视图

8 响应生成HTML返回 ActionConfig)

2… ActionServlet接收客户端请求

3… ActionServlet收到请求,

根据传过来的URL在配置对象中查找作用域内ActionMapping实例

如果无此实例,则返回请求路径无效;

如果找到ActionMapping实例,看Action是否有name属性,

有则在作用域内查找相应的ActionForm实例,如有则重用

如实例不存在就创建一个ActionForm对象,并保存在相应的作用域中,

接着依次执行ActionForm的reset(),

setXXX(), validate()

出错返回input属性指定的页面

4…ActionServlet根据配置对象ActionConfig分发请求到Action, 并传递ActionForm,调用Action的execute()执行操作

5…execute()中调用后台javaBean处理业务

6…execute()返回ActionForward对象给ActionServlet

ActionServlet将请求转发至ActionForward所指的视图组件或另外Action,

视图组件响应生成静态HTML返回客户端

Struts2

解说:

1. Servlet容器接收HTTP请求后交给Struts2的StrutsPrepareAndExecuteFilter过滤器处理,

2. 过滤器查询ActionMapper是否请求有可调用的Aciton,

如有则由Dispatcher实例获取ActionProxyFactory,创建ActionProxy及ActionInvocation,

并把请求交给ActionProxy处理;

3. ActionProxy调用ActionInvocation实例;

(ActionInvocation 是Xwork中Action、Interceptor调度的核心。

它保存了整个拦截器栈、ActionContext、Result等信息,由invoke()发起对拦截器及action的调用)

4. ActionInvocation会根据配置加载Action相关的一系列Interceptor,并按照顺序一个个

通过代理模式执行Interceptor,最后调用Action;

5. Action执行完毕,Dispatcher负责根据struts.xml中的配置找到对应的返回结果;

6. 然后又按相反的顺序执行Interceptor,最后回到过滤器,返回响应完成HTTP请求过程。

Webservice工作原理

首先服务端将发布web 服务

客户端调用步骤:

1:调用WebService时,是找到服务(通过UDDI服务器),

然后根据WSDL会生成相应的本地代理类,本地代理类的生成,

使我们调用远程的服务好像本地调用一样,非常的方便。

2:客户端调用之前首先实例化一个该代理的对象,然后调用发布的方法

3:客户端将调用信息包括方法名和参数加入到soap消息中通过http传送给web service服务端

4:服务端从soap消息中获得调用信息,然后执行方法,

将返回结果加入到soap消息中然后通过http传回

5:客户端代理得到这个soap消息后解析处结果