流程图总结
- 格式: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消息后解析处结果