• 分步学习Struts(三) 原理分析


           之前的实例演示,我们已经基本了解了如何使用Struts框架,这次我们主要讲解一下Struts框架是如何具体实现MVC的。


    在介绍之前有几个名词需要大家理解一下:

            ActionServlet:充当Struts框架的中央控制器 ,负责截取URL或分发
            ActionForm:用于封装用户的请求参数,而请求参数是通过JSP页面的表单域传递过来的。
            Action:是用户请求和业务逻辑之间的桥梁,每个Action充当客户的一项业务代理
            ActionForward:主要是用于存储转向信息,封装转发路径,即完成页面的跳转和转向
            ActionMapping:存储特定请求映射到特定Action的相关信息

    了解上述几个基本概念之后,我们看一下Struts框架的基本流程,如下图所示:

            1、首先客户端发出一个request请求,将其传递到响应的容器中。
            2、容器根据我们配置的Web.xml文件,将其传递给对应的Servlet,这里传递的就是Struts的核心控制类ActionServlet,当然传递的过程中肯定会有request、response对象作为参数。
            3、ActionServlet根据截取URL,根据URL的不同取得相应的配置信息,这些配置信息存储在ActionMapping中(ActionServlet 初始时,完成struts-config.xml文件中的配置信息到ActionMapping对象的转换,并将其存储在内存中)。
            4、ActionServlet 会根据URL取得ActionMapping中的配置信息之后,会创建相应的ActionForm和Action对象,并将页面数据存储到ActionForm对象。
            5、ActionServlet会将request、response、ActionForm、ActionMapping作为参数,执行Action的execute()方法,执行相应的操作(可以调用Model层)。
            6、Action执行完毕之后,根据ActionMapping中的相关信息,完成ActionForward对象的创建并将其返回。
            7、ActionServlet接受到ActionForward对象之后,会根据ActionForward中的path属性,渲染成相应的jsp页面。

            8、浏览器接受相应的jsp页面之后,将其显示出来。


            到此为止,Struts的基本实现过程我们已经基本了解,下次我们根据这个流程来自己写一个简单的Struts框架的实例。


  • 相关阅读:
    Seafile开源私有云自定义首页Logo图片
    启动seafile报错Error happened during creating seafile admin.
    jupyter的安装和使用(python3版)
    C#学习资料
    服务编排-以docker-swarm为例讲解
    docker swarm架构图
    VMware中安装centos7
    js获取数据:类似xpath
    博客园备份python程序
    解决docker中jenkins运行磁盘满的问题
  • 原文地址:https://www.cnblogs.com/zs234/p/3233356.html
Copyright © 2020-2023  润新知