封装使用复习是1~5的总结
    image.png
    image.png
    ===============================================
    web封装, mvc封装
    封装请求-响应过程中的一些常用功能。

    在没有web框架前
    每次浏览器请求->服务器->参考web.xml找到与之匹配的servlet(controller)->调用service方法
    这就使得n次不同的请求,需要调用n个不同的servlet,不方便维护管理
    每次请求在servlet中都会有一些公共的操作
    接收参数 : 普通参数,文件参数,单个参数,多个重复参数
    类型处理 : 数字类型转换
    数组组装 : 将参数组装对象
    不同的请求具体的业务不同。
    业务处理完成后,需要给与响应
    直接响应
    间接响应
    转发(携带数据)
    request.getRequestDispatcher(url).forward()
    * 重定向

    1. * 综上分析,我们对请求响应中的一些功能实现封装<br /> * 封装后的效果包括以下特点:<br /> * 多个请求,不再对应多个controller的方法,可以对应一个controller的多个方法。<br /> * 思考: 如何处理这个映射,让框架实现请求与controller之间的匹配。<br /> * 由框架负责接收参数<br /> * 思考: 如何让框架知道需要获得哪个名字的参数呢<br /> * 思考: 如果传递的是文件参数,框架又如何处理<br /> * 由框架负责处理参数类型<br /> * 思考: 如何让框架知道需要将参数转换成哪种类型<br /> * 思考: 万一要转换的类型框架不会怎么办<br /> * 由框架负责将参数组成对象<br /> * 思考: 如何让框架知道需要将参数组成什么类型的对象 (反射)<br /> * 由框架负责响应<br /> * 思考: 如何让框架知道用哪种方式响应<br /> * 思考: 如何让框架知道响应什么<br /> <br /> * 由框架实现AOP<br /> * 功能管理<br /> * 不同用户会显示不同菜单<br /> * 不同用户会显示不同按钮<br /> * 设置功能表<br /> fid , fname , ftype功能类别 , fhref功能请求 , fauth功能权限.<br /> * 思考: 如何告诉框架增加了哪些自定义的切面功能<br /> * 思考: 如何告诉框架新增加的切面都对哪些请求生效<br /> * 思考: 框架如何实现AOP<br /> * 反射<br /> * 注解<br /> * 动态代理<br /> * 基于接口 Proxy<br /> * 基于父类 cglib<br /> <br /> * 使用注解和xml实现配置<br /> * 复习: sax解析xml<br />SAXsimple API for XML)是一种[XML](https://baike.baidu.com/item/XML/86251)解析的替代方法。相比于[DOM](https://baike.baidu.com/item/DOM/50288),SAX是一种速度更快,更有效的方法。它[逐行扫描](https://baike.baidu.com/item/%E9%80%90%E8%A1%8C%E6%89%AB%E6%8F%8F/1528535)文档,一边扫描一边解析。而且相比于DOM,SAX可以在解析文档的任意时刻停止[解析](https://baike.baidu.com/item/%E8%A7%A3%E6%9E%90/13016039),但任何事物都有其相反的一面,对于SAX来说就是操作复杂。<br />JAVA 解析 XML 通常有两种方式:DOM 和SAX。DOM([文档对象模型](https://baike.baidu.com/item/%E6%96%87%E6%A1%A3%E5%AF%B9%E8%B1%A1%E6%A8%A1%E5%9E%8B))是[W3C标准](https://baike.baidu.com/item/W3C%E6%A0%87%E5%87%86/8367679),提供了标准的解析方式,但其解析效率一直不尽如人意,这是因为DOM解析XML文档时,把所有内容一次性的装载入内存,并构建一个驻留在内存中的树状结构(节点树)。如果需要解析的XML文档过大,或者我们只对该文档中的一部分感兴趣,这样就会引起性能问题。<br />SAX,它既是一个接口,也是一个软件包.但作为接口,SAX是[事件驱动](https://baike.baidu.com/item/%E4%BA%8B%E4%BB%B6%E9%A9%B1%E5%8A%A8)型XML解析的一个标准接口不会改变 SAX的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。<br />大多数SAX都会产生以下类型的事件:<br />1.在文档的开始和结束时触发文档处理事件。<br />2.在文档内每一XML元素接受解析的前后触发元素事件。<br />3.任何元数据通常由单独的事件处理<br />4.在处理文档的DTD或Schema时产生DTD或Schema事件。<br />5.产生错误事件用来通知主机应用程序解析错误。<br />详情见:<br />百度:[https://baike.baidu.com/item/SAX%E8%A7%A3%E6%9E%90/10406120?fr=aladdin](https://baike.baidu.com/item/SAX%E8%A7%A3%E6%9E%90/10406120?fr=aladdin)<br />CSDN:[https://blog.csdn.net/qq_38409944/article/details/80584942](https://blog.csdn.net/qq_38409944/article/details/80584942)<br /> ![image.png](https://cdn.nlark.com/yuque/0/2021/png/8409167/1617951921284-1a90d0a6-674b-4171-96a1-baff763fb8fa.png#crop=0&crop=0&crop=1&crop=1&height=416&id=KwRLM&margin=%5Bobject%20Object%5D&name=image.png&originHeight=831&originWidth=1615&originalType=binary&ratio=1&rotation=0&showTitle=false&size=94295&status=done&style=none&title=&width=807.5)<br /> <br />请求映射:发送不同的请求,调用不同的方法