首页 > 代码库 > Struts——实现流程

Struts——实现流程

简单流程:       

           发布Struts Web服务时,根据web.xml初始化ActionServlet,ActionContext等内容. 在接到一个HttpRequest请求后,ActionServlet 根据struts-config.xml中的配置内容,将请求的参数传到对应的Formbean中,并设置session(开发中没有使用Formbean).然后根据请求中的Action参数,在struts-config.xml中查找指定的Action,并调用此Action来处理请求.根据Action的处理结果,会返回一个forward变量,此时通过mapping.findForward()查找出对应的forward所标识的Action或者JSP页面(开发中没有转到另一个Action),将请求转到下一个处理.如果是forward指向JSP页面,则输出到前台.

 

示例:

         假如我们要登录一个struts技术构建的网站,需要输入用户名、密码,然后点击登录,这个流程如下:

(1)ActionServlet接收到用户发送的请求(ActionServlet已经初始化);

(2)ActionServlet接收到请求后,根据struts-config.xml中的配置内容,将请求的参数传到对应的Formbean中

3根据请求中的Action参数,在struts-config.xml中查找指定的Action,并调用此Action来处理请求

4根据Action的处理结果,会返回一个forward变量,此时通过mapping.findForward()查找出Action或者JSP,将请求转到下一个处理.如果是forward指向JSP页面,则输出到前台. 

 


 

 注意:struts中的Action是单实例的,所以存在线程安全问题。要了解Struts的流程,主要了解:ActionServlet类和RequestProcessor类。