• Spring.Day03.web集成


    01. 新建一个web工程,完成Dao,DaoImpl,Service,ServiceImpl,  applicationContext.xml 的配置,完成依赖包的配置;并构建一个servlet

      

       >> 问题

        > 在应用上下文中加载配置,会多次加载,对象也会被多次创建;

        > 解决方法:

          * 使用 ServletContextListener 监听 web 应用的启动;

          * 在启动的时候,加载配置文件,创建应用上下文 ApplicationContext; 

          * 将应用上下文存储到最大的域 servletContext 域中,这样就可以在任意位置从域中获取应用上下文 ApplicationContext  对象了;

        > 处理步骤

          * 创建 Listener 并重写 contextInitialized事件, 在初始化事件中,加载配置文件,并创建ApplicationContext, 并将其放到servletContext域中

             

            ** 上述方法中,对于配置文件,固定了文件名称,有点不方便,优化升级处理如下

             * 在配置文件中配置初始化全局参数

              

              * 在初始化时,依据全局配置参数,取Spring配置文件名称,再依据获取的名称加载参数;

                   

          * 配置监听器

          

              * 在创建ApplicationContext时,将其存储到了servletContext域中,但是存储的名字是固定的,为了避免每次取的时候都要记住这个名称,可以再建一个类,直接返回应用上下文对象;

          

         * 在获取 的时候,直接通过函数获取

          

       >> Spring 本身提供了上述逻辑的封装,只需要按如下步骤,即可实现上述相应的功能;

        1. 在web.xml 中配置 ContextLoadListener 监听器 (需要导和  spring-web 坐标);

          

          

        2. 使用  WebApplicationContextUtils 获取上下文对象 ApplicationContext

          

    02.SpringMVC

      A. 开发步骤

        >> 导入 SpringMVC相关坐标;

          

        >> 配置 SpringMVC核心控制器 DispathcerServlet;

          

        >> 创建 Controller类和视图页面

          

        >> 使用注解配置 Controller类中业务方法的映射地址;

          

         >> 配置 SpringMVC核心文件 spring-mvc.xml (主要是配置组件扫描)

          

          将配置文件加载

          

           >> 客户端发起请求测试;

          http://localhost:8080/xxx/quick

      B. Spring MVC 流程

        

     03. SpringMVC组件解析

      SpringMVC执行流程

      

      

    04 SpringMVC注解解析

       >>关于 @RequestMapping 注解的说明

      作用:用于建立请求URL和处理请求方法之间的对应关系;

      位置:类上,请求URL的第一级访问目录,此处不写就相当于应用的根目录;

         方法上,请求URL的第二级访问目录,与类上的使用@RequestMapping标的一级目录一起组成访问虚拟路径

      属性: value: 用于指定请求的URL,它和path属性的作用是一样的;

          method: 用于指定请求方式

          params: 用于指定限制请求参数的条件,它支持简单的表达式,要求请求参数的key和value必须和配置的一模一样;

            如: params = {"accountName"} :表示请求参数必须有 accountName

               params = {"money!100"} :表示请求参数中money不能是100

      >> 组件扫描

      a. mvc命名空间的引入

        

       b. 配置组件扫描

        

    05. SpringMVC的xml 配置文件

      

      

     

  • 相关阅读:
    【福利】JetBrains 全家桶永久免费使用
    openlayers操作分享:如何从容的在vue中食用openlayers6
    Axios的正确食用方法
    uniapp 地图全解析+事件监听
    JS数据扁平化
    Codeforces 记录
    WP开发加载图片及文字Resource/Content说明
    根据属性获取属性名
    string和byte 数组转换的快速方法(采用unsafe)
    Code First Migrations更新数据库结构(数据迁移)
  • 原文地址:https://www.cnblogs.com/jieling/p/16150973.html
Copyright © 2020-2023  润新知