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 配置文件

  

  

 

 

 

 

 

 

 

 

posted @ 2022-04-16 09:31  耗喜天涯  阅读(20)  评论(0编辑  收藏  举报