一.Struts实现的MVC框架

二.Struts的工作流程

对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet, ActionServlet从

struts-config.xml 文件中读取配置信息,把它们存放到各种配置对象中,例如Action的映射存放在ActionMapping对象中.

具体的说,Struts框架总控制器(ActionServle)t完成所有的初始化工作.总控制器是一个Servlet,他通过web.xml配置成自动启动的Servlet,读取配置文件(struts-config.xml)的配置信息,为不同的struts模块初始化相应的ModuleConfig对象.配置文件中的Action映射定义都保存在ActionConfig集合中.

说明:在Struts 应用启动时,会把Struts配置文件中的配置信息读入到内存中,并把它们存放在config包中相关JavaBean类的实例中. 下图为org.apache.struts.config包中主要的类框图.

特别的指出的是,初始化动作在Web容器启动时自动完成,初始化完成后,它将通过URL匹配映射截获所有以.do结尾的URL请求.

当ActionServlet接收到一个客户请求时,执行流程图如下:

再探Struts框架相关推荐

  1. 自制深度学习推理框架-第十一节-再探Tensor类并构建计算图的图关系

    自制深度学习推理框架-第十一节-再探Tensor类并准备算子的输入输出 本课程介绍 我写了一个<从零自制深度学习推理框架>的课程,课程语言是 C++,课程主要讲解包括算子实现和框架设计的思 ...

  2. c#Struts框架理念和自制Struts框架下 复杂版

    在上文中,我提到了一个"简单的zjy框架"的数据流程,但是那只是很少的一部分,用法和功能也比较简单,他能够完成的只是把一个数据库显示到页面(或者窗体)上.在这个第四章节中,我想将这 ...

  3. 深入浅出学习Struts框架(九):分析Struts框架实例4

    前两篇博客介绍了ActionServlet的初始化,讲述了它在初始化的时候做的事情.有了ActionServlet初始化,才能说当我们访问页面如何利用digester读取struts-config.x ...

  4. 【SSH进阶之路】一步步重构MVC实现Struts框架——封装业务逻辑和跳转路径(四)...

    目录: [SSH进阶之路]Struts基本原理 + 实现简单登录(二) [SSH进阶之路]一步步重构MVC实现Struts框架--从一个简单MVC开始(三) [SSH进阶之路]一步步重构MVC实现St ...

  5. Spring与Struts框架整合

    Spring,负责对象对象创建 Struts,用Action处理请求 Spring与Struts框架整合,关键点:让struts框架action对象的创建,交给spring完成! 1.步骤: 引入ja ...

  6. struts框架学习过程中的问题。

    1,错误: java.lang.NullPointerException: Module 'null' not found. 错误原因,struts运行需要的.jar文件拷贝不足,应该把它们加入到cl ...

  7. Struts框架的核心业务

    Struts的核心业务 Struts核心业务有很多,这里主要介绍了比较简单一些的: 请求数据的处理,和数据自动封装,类型自动转换 1.Struts中数据处理 1.1.方式1:直接过去servletap ...

  8. Java开发框架——Struts框架

    为了解决这些问题,出现了Struts框架,它是一个完美的MVC实现,它有一个中央控制类(一个Servlet),针对不同的业务,我们需要一个Action类负责页面跳转和后台逻辑运算,一个或几个JSP页面 ...

  9. Struts框架基础篇

    <script type="text/javascript"> google_ad_client = "pub-8800625213955058"; ...

最新文章

  1. phaser.min.js_如何使用Phaser 3,Express和Socket.IO构建多人纸牌游戏
  2. [C++]键盘钩子程序
  3. vue 多页面应用例子_【微服务】137:Vue之生命周期钩子
  4. java函数式编程例子_java函数式编程Lambda表达式的示例(一)
  5. origin与matlab拟合的不同,Origin自定义模拟与matlab中cftool工具箱拟合结果比较 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  6. 【论文笔记】LIME: low-light image enhancement via illumination map estimation
  7. 【Faster R-CNN论文精度系列】原文精析
  8. 极客评论:使用Screamer广播播放和录制网络广播
  9. Hadoop查看文件个数文件大小文件夹大小
  10. pci-e服务器显卡性能,目前性能最好的显卡 NVIDIA发布Tesla V100,PCI-E接口
  11. C/C++语言100题练习计划 87——火柴棒等式(枚举实现)
  12. python自动化测试selenium(四)切换页面、切换窗口
  13. mysql MMM详解
  14. pandas如何处理列转行
  15. QT案例实战1 - 从零开始编写一个OCR工具软件 (8) Pdf读取展示/截图/文字识别
  16. 苹果x来电闪光灯怎么设置_手机上使用的记事备忘便签软件怎么设置来电提醒功能?...
  17. python里raise是什么意思_Python中raise与raise...from之间有何区别?
  18. 2009年中国互联网大佬之众生相
  19. IDEA插件项目克隆下来后,如何在IDEA中导入?
  20. 重磅开源:标星超过 10k+ 的免费接口,API 的搬运工

热门文章

  1. 持续学习+元学习+无监督学习文章调研(七)
  2. python基础——类型转换
  3. 低功耗能量回收时钟发生器和触发器的设计
  4. SCM:新一代存储介质技术
  5. nginx代理内网1521,3306数据库端口
  6. Java统计代码的执行时间的6种方法
  7. 无人机三维建模(3) 航拍实景模型
  8. Paxos协议基本原理
  9. 纯虚函数 和 抽象类
  10. 数据库工程师考点2023