您的位置:首页 > 编程语言 > Java开发

Struts的详细流程

2012-04-11 20:12 190 查看
在上篇博客中已经介绍了Struts的结构,下面来了解一下Struts的程序详细流程。

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

如下图,Struts的流程:





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

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



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

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

<action-mappings>
     <action path="/login" 
             type="com.bjpowernode.struts.LoginAction"
             name="loginForm"            
             scope="request"                 
     >
     <forward name="success" path="/login_success.jsp" />
     <forward name="error" path="/login_error.jsp"/>                 
</action>




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

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

return mapping.findForward("success");

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

如下图:登录的时序图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: