代码改变世界

Struts的详细流程

2012-04-11 20:12  myjava2  阅读(270)  评论(0编辑  收藏  举报

           在上篇博客中已经介绍了Struts的结构,下面来了解一下Struts的程序详细流程。

刚开始学习Struts很容易被Struts的具体运行流程所迷惑,理解了Struts的流程那么对于Struts的应用就更加简单了。

如下图,Struts的流程:

 

           下面用一个登录的Demo来介绍一下Struts的详细流程。

1.     首先服务器启动后,加载配置文件web.xmlstruts-config.xml,之后加载web.xml中的Servlet即:ActionServlet

2.     在客户端输入用户名和密码之后登录,之后客户端发送请求requestlogin.do)到Tomcat服务器,之后Tomcat创建一个新的HttpServletRequestHttpServletResponse,来转发请求。

3.     客户端发送的登录请求被服务器端的ActionServlet拦截,拦截之后就截取URL,根据截取后的URL(login),将struts-config.xml中的Action标签的内容放到ActionMapping中,如:


 

4.     填充ActionForm,将请求中的用户名和密码填充到LoginActionForm

5.     之后创建业务逻辑控制器LoginAction,并且把请求转发到LoginAction,业务逻辑控制器取得表单数据LoginActionForm中的数据,然后就是调用业务逻辑JavaBean,业务逻辑处理完数据之后,判断是否存在这个用户,返回ActionForward信息到ActionServlet,如

6.     ActionServlet将收到ActionForward之后,把请求转发到JSP页面,JSP页面再返回HTTP响应,这样如果Client如果输入的用户名和密码正确的话,就显示登录成功—success.jsp页面。

      如下图:登录的时序图