首页 理论教育 Struts工作流程解析|JSP设计与开发

Struts工作流程解析|JSP设计与开发

时间:2023-11-08 理论教育 版权反馈
【摘要】:对于采用Struts框架的Web程序,在Web应用程序启动时就会自动加载并初始化Action Servlet,Action Servlet从struts-config.xml文件中读取配置信息,然后将这些信息存放到各种配置对象中,例如,Action的映射信息存放在Action Mapping对象中。当Action Servlet接收到一个客户请求时,将执行如下流程。Action的execute方法返回一个Action Forward对象,Action Servlet再把客户请求转发给Action Forward对象指向的JSP组件。

Struts工作流程解析|JSP设计与开发

对于采用Struts框架的Web程序,在Web应用程序启动时就会自动加载并初始化Action Servlet,Action Servlet从struts-config.xml文件中读取配置信息,然后将这些信息存放到各种配置对象中,例如,Action的映射信息存放在Action Mapping对象中。当Action Servlet接收到一个客户请求时,将执行如下流程。

(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的信息。

(2)如果Action Form实例不存在,就创建一个Action Form对象,把客户提交的表单数据保存到ActionForm对象中。

(3)根据配置信息决定是否需要进行表单验证。如果需要验证,就调用Action Form的validate方法。

(4)如果Action Form的validate方法返回null或返回一个不包含Action Message的Action Errors对象,就表示表单验证成功;如果Action Form的validate方法返回一个包含一个或多个Action Message的Action Errors对象,就表示表单验证失败,此时Action Servlet将直接把请求转发给包含用户提交表单的JSP组件,在这种情况下,不会再创建Action对象并调用Action的execute方法。(www.xing528.com)

(5)Action Servlet根据Action Mapping实例包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute方法。

(6)Action的execute方法返回一个Action Forward对象,Action Servlet再把客户请求转发给Action Forward对象指向的JSP组件。

(7)Action Forward对象指向的JSP组件生成动态网页,返回给客户。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈