• 【Struts 2.x权威指南第三版-读书笔记】3.2 Struts 2的基本流程


    Struts 2: 核心控制器StrutsPrepareAndExecuteFilter,(需要用户实现)业务(逻辑)控制器,(需要用户实现的)业务逻辑组件

    • 3.2.1 核心控制器StrutsPrepareAndExecuteFilter
      • 作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求,所以请求都会交给Struts 2框架处理
      • Struts 2框架获得了用户请求后,将根据http请求决定调用哪一个业务控制器(Action)
        • Struts 2应用中的Action都被定义在struts.xml文件中,定义Action时,指定了Action的name属性【指定处理哪个http请求】和class属性【指定该Action的实现类】
        • Struts 2用于处理http请求的Action实例,并不是用户实现的业务控制器,而是Action代理——因为用户实现的业务控制器没有于Servlet API耦合,显然无法处理用户请求。
        • Struts框架提供了系列拦截器,可将HttpServletRequest请求中的请求参数解析出来,传入Action中,并回调Action的execute方法来处理http请求。
    • 3.2.2 业务控制器
      • Action类通常包含了一个execute方法,该方法返回一个字符串——该字符串就是一个逻辑视图名,当业务控制器处理完用户请求后,根据处理结果不同,execute方法返回不同的字符串。
      • Action配置
        • Action所处理的URL
        • Action组件所对应的实现类
        • Action返回的逻辑视图和物理资源的对应关系
    • 3.2.3 Struts 2的模型组件
      • 模型组件已经超出了MVC框架的覆盖范围。对于Struts 2框架而言,通常没有为模型组件的实现提供太多的帮助。
        • Java EE应用里的模型组件,通常指系统的业务逻辑组件。而隐藏在系统的业务逻辑组件下面的,可能还包含了DAO、领域对象等组件
      • 通常,MVC框架里的业务控制器会调用模型组件的方法来处理用户请求。
      • 当业务控制器需要获得业务逻辑组件的实例时,通常是通过工场模式或利用IoC容器(Spring容器)来管理业务逻辑组件的实例
    • 3.3.4 Struts 2的视图组件
      • Struts 2允许使用多种视图技术,如FreeMarker、Velocity和XSLT等。
      • 当Struts 2的控制器返回逻辑视图名时,逻辑视图并未与任何的视图技术关联,仅仅是返回一个字符串,该字符串作为逻辑视图名。
      • 在struts.xml文件中配置Action时,不仅需要指定Action的name属性和class属性,还要为Action元素指定系列<result.../>子元素,每个<result.../>子元素定义一个逻辑视图和物理视图之间的映射。Struts 2默认使用JSP作为视图资源,使用其他视图技术,要配置<result.../>子元素时要指定type属性
    • 3.3.5 Struts 2的运行流程
  • 相关阅读:
    农村养殖业什么最赚钱?什么养殖项目行情好?
    加盟店可靠吗?如何识破加盟骗局?
    开小店做什么生意好?开小店需要营业执照吗?
    投资小的项目有哪些?投资小项目推荐
    贪心
    关于:Express会被Koa2取代吗?
    关于:Express会被Koa2取代吗?
    关于:Express会被Koa2取代吗?
    关于:Express会被Koa2取代吗?
    剑指offer
  • 原文地址:https://www.cnblogs.com/chenhongarticles/p/9157197.html
Copyright © 2020-2023  润新知