Struts框架响应客户端请求的流程

来源:互联网 发布:情深深雨蒙蒙 知乎 编辑:程序博客网 时间:2024/04/30 09:04

虽然Struts框架的控制器主要由ActionServlet,而业务控制却由Action、ActionMapping、ActionFoward等组成共同完成。
Web应用服务器启动时会加载并初始化ActionServlet,ActionServlet从struts-config.xml读取配置信息并保存到ActionMapping对象,当ActionServlet接收到客户端请求则执行如下流程:
1) 检索与用户请求匹配的ActionMapping实例,不存在则返回请求路径无效的信息。
2) 将客户端提交的表单数据保存到ActionForm对象,如果ActionForm对象不存在则创建。
3) 根据配置文件决定是否用ActionForm.validate()验证表单。返回null或1个不包含ActionMessage的ActionErrors对象,则表示表单验证成功。
若返回1个或多个包含ActionMessage的ActionErrors对象,则表示表单验证失败。此时ActionServlet直接把请求转给提交表单的JSP组件,而不会继续调用Action.execute()执行业务逻辑。
4) ActionServlet根据ActionMapping实例决定将请求转发给哪个Action,如果Action实例不存在则创建。
5) 调用Action.execute()方法执行业务逻辑,返回一个ActionForm对象。
6) ActionForm对象指向的JSP组成生成动态页面,返回到客户端。

0 0
原创粉丝点击