Spring整合Web环境

JavaWeb三大组件及环境特点

  • 在Java语言范畴内,web层框架都是基于JavaWeb三大组件完成的,所以有必要复习一下JavaWeb组件的特点
    • 组件 作用 特点
      Servlet 服务端小程序,负责接收客户端请求并作出响应 单例对象,默认第一次访问创建,可以通过配置指定服务器启动就创建,Servlet创建完毕会执行初始化init方法,但缺点就是一个业务功能就需要配置一个Servlet
      Filter 过滤器,负责对客户端请求进行过滤操作 单例对象,服务器启动时就创建,对象创建完毕就执行init方法,对客户端的请求进行过滤,符合要求就放行,不符合要求就直接响应客户端,执行过滤的核心方法doFIlter
      Listener 监听器,负责对域对象的创建和属性变化进行监听的 根据类型和作用的不同,又可分为监听域对象创建销毁和域对象属性内容变化的,根据监听的域不同,又可分为监听Request域的,监听Session域的,监听ServletContext域的

Spring整合web环境的思路

  • 在进行Java开发时要遵循三层架构+MVC,Spring操作最核心的就是Spring容器,web层(控制层)需要注入Service,service需要注入DAO(Mapper),web层使用Servlet技术充当的话,需要在Servlet中获取Spring容器。
    web层代码如果都去编写创建AnnotationContext代码,那么配置类就被重复加载了,Spring容器也重复被创建了,不能每一次想从容器中获取一个Bean都得先创建一次容器,所以我们现在的诉求很简单,如下:
    • ApplicationContext创建一次,配置类加载一次
    • 最好在启动web服务器时,就执行第一步操作,后续直接从容器中获取bean使用即可
    • ApplicationContext的引用需要在web层任何位置都可以获取到
  • 针对以上诉求我们给出如下的解决思路
    • 在ServletContextListener的contextInitialized方法中执行ApplicationContext的创建。或在Servlet的init()方法中执行ApplicationContext的创建,并给Servlet的load-on-startup属性一个数字值,确保服务器启动Servlet就创建。
    • 将创建好的ApplicationContext存储到ServletContext域中,这样整个web层的任何位置就都可以获取到了

Spring的web开发组件spring-web

p106,明天再来

你可能感兴趣的:(Spring,5,前端,spring,servlet)