zoukankan      html  css  js  c++  java
  • Spring交互层框架

    问题:大量的配置&大量的冗余代码[不清楚目的:原因还是体会不到现在所谓的冗余代码的困扰!!!]——需要项目实践

    【1】web.xml配置

    【2】冗余代码:

          -获取参数

          -转发重定向

          -异常处理

          -响应流的写出,输出json

    【3】交互层框架的设计目标

          -减少配置文件的注册项——通过注解方式

          -减少冗余代码的编写量——封装代码块

    设计:这块提了,但是自己脑子里根本没有这个概念???——还是对Spring框架理解偏差??

    【1】DespatcherServlet:唯一的交互媒介与前端

    【2】ContextLoadListener:作为服务启动时初始化容器时使用 

    【3】如何抵达controller

       -哪些bean是Controller

            -通过接口识别

            -通过注解(Controller)方式

            -

       -如何把url和controller的 bean映射到一起

            -通过注解来添加属于controller地映射关系

            -

       -如何把url和controller当中的方法映射到一起

            -通过注解(RequestMapping)来添加属于method地映射关系

            -

       -如何把参数填入controller的方法对应参数当中,即如何获取请求的参数

            - 通过注解(RequestParameter)来添加属于参数的映射关系

            -

    =======================初始化工作完成==========================

    =====主要:加载容器与加载请求映射信息——请求尚未抵达

       -如何把要转发的属性,填入request作用域

            -使用ModelMap来保存,转发属性

       -如何分辨转发还是重定向

            -通过view来判断是转发还是重定向

                -不写:转发

       -如何分辨是转发重定向,还是响应流

            -使用注解(ResponseBody)来让当前方法以响应流的方式往外写

       -如何分辨是文件上传,还是普通表单上传

            -

            -

       -如何保持上传的文件

            -

            -

       -如何设计一种可以取代filter的功能,即拦截器

            -

            -

    MVC的调度认识:

    【1】对监听器、过滤器目前处于 知道是什么,生命周期如何,以及简单应用。具体在实际框架中的如何发挥作用还不明确!

    【2】对转发的uri地址不发生变化;重定向则会uri变更为重定向。

    【3】真正对Servlet【*.d0】在前端 jsp 表单页面的action地址之间跳转!,然后servlet通过mvc三层架构处理获取数据!

    【4】现在源码就是实现前面这些案例!

    【5】


    Tips: 对泛型的应用:集合中 toArray() toArray(T[])   ||  

    Map<String, Object> map = new HashMap<>();
             map.put("1", 1);
             map.put("a", 2);
             map.put("b", 2);
             System.out.println(Arrays.toString(map.keySet().toArray()));
             String[] strings = (String[])

    map.keySet().toArray(new String[0]);


    服务器支持多个项目同时加载!——通过项目名区别开|| 

        -但是容易混淆不同项目监听器、过滤器等提示消息

    整体流程:

    【1】通过contextListener 加载xml配置文件中的controllerservicedao

    【2】通过Servlet初始化handerMap——主要包括:映射的urieanmethodparameters[arameters_type

    【3】通过handerMap获取到对应的 HanderChain——主要包括:判断是否是表单元素与文件元素

    【4】通过chain获取到Model 、 View渲染到不同的页面中

    【5】细节略

  • 相关阅读:
    三范式
    作用域
    函数传参
    js数据类型
    纯css小图标
    js生成div
    js模拟微信聊天窗口
    js图片切换
    js this指向
    常用实体字符
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13392970.html
Copyright © 2011-2022 走看看