spring boot 与servlet

servlet:
     基于java的web组件,用于生成动态内容,由容器管理。
     类似其他java技术组件,由平台无关的java类组成,并且由java web服务器加载执行
 
servlet容器:
     servlet容器也称servlet引擎,作为web服务器或者应用服务器的一部分,
     通过请求和相应对话,提供web客户端与servlets的交互的能力,容器管理servlets实例以及它们的生命周期
 
核心接口:3.0及以后一般使用注解或api代替以前的web.xml进行启动
servlet3.0前时代
     服务组件
          javax.servlet.Servlet
          javax.servlet.Filter
     上下文组件
          javax.servlet.ServletContext
          javax.servlet.http.HttpSession
          javax.servlet.http.HttpServletRequest
          javax.servlet.http.HttpServletResponse
          javax.servlet.http.Cookie
     配置
          javax.servlet.ServletConfig
          javax.servlet.FilterConfig
     输入输出
          javax.servlet.ServletInputStream
          javax.servlet.ServletOutputStream
     异常
          javax.servlet.ServletException
          javax.servlet.IOException
     事件(since Servlet2.3)
          生命周期类型
               javax.servlet.ServletContextEvent
               javax.servlet.http.HttpSessionEvent
               javax.servlet.ServletRequestEvent
          属性上下文类型
               javax.servlet.ServletContextAttributeEvent
               javax.servlet.http.HttpSessionBindingEvent
               javax.servlet.ServletRequestAttributeEvent
     监听器
          生命周期类型
               javax.servlet.ServletContextListener
               javax.servlet.http.HttpSessionListener
               javax.servlet.http.HttpSessionActivationListener
               javax.servlet.ServletRequestListener
          属性上下文类型
               javax.servlet.ServletContextAttributeListener
               javax.servlet.http.HttpSessionAttributeListener
               javax.servlet.http.HttpSessionBindingListener
               javax.servlet.ServletRequestAttributeListener
 
servlet3.0后时代
     组件申明注解
          @Javax.servlet.annotation.WebServlet
          @javax.servlet.annotation.WebFilter
          @javax.servlet.annotation.WebListener
          @javax.servlet.annotation.ServletSercurity
          @javax.servlet.annotation.HttpMethodConstraint
          @javax.servlet.annotation.HttpConstraint
     配置申明
          @javax.servlet.annotation.WebInitParam
     上下文
          javax.servlet.AsyncContext
      事件
          javax.servlet.AsyncEvent
      监听
          javax.servlet.AsyncListener
      Servlet组件注册
          javax.servlet.ServletContext#addServlet()
          javax.servlet.ServletRegistration (响应对象)
      Filter组件注册
          javax.servlet.FilterContext#addFilter()
          javax.servlet.FilterRegistration (响应对象)
     监听器注册
          javax.servlet.ListenerContext#addListener() 无返回对象
          javax.servlet.AsyncListener
     自动装配
          初始器
               javax.servlet.SErvletContainerInitializer
          类型过滤
               @javax.servlet.annotation.HandlesTypes
servlet生命周期
     初始化
          容器第一次执行时,Servlet#init(servletconfig)方法被执行
     处理请求
          HTTP请求到达容器,Servlet#service处理请求
     销毁
          容器关闭,调用Servlet#destroy()方法
 
Filter生命周期
     初始化
          容器启动时执行Filter#init(FilterConfig)方法
     处理请求
          HTTP请求到达容器
          Filter#doFilter方法被执行,在Servlet#servic方法之前被执行
     销毁
          容器关闭时执行Filter#destory()方法
 
 
Servlet on Srping Boot
 
     Servlet组件扫描
 
     @org.springframework.boot.web.servlet.ServletComponentScan
          制定包路径扫描
          指定类路径扫描
 
     注解方式注册
          servlet
               1.扩展javax.servlet.Servlet
                    javax.servlet.http.HttpServlet
                    org.springframework.web.servlet.FrameworkServlet
               2.标记@javax.servlet.WebServlet
          Filter
               1 实现javax.servlet.Filter
                    org.springframework.web.filter.OncePerRequestFilter
               2 标记@javax.servlet.annotation.WebFilter
 
          监听器
               1 实现javax.servlet.ServletRequestListener
               2 标记@java.servlet.annotation.WebListener
 
     
     Spring Boot Api方式注册
          servlet
               1.实现 javax.servlet.Servlet
                    javax.servlet.http.HttpServlet
                    org.springframework.web.servlet.FrameworkServlet
               2. 组装Servlet
                    spring boot 1.4.0开始支持
                         org.springframework.boot.web.servlet.ServletRegistrationBean
                    spring boot 1.4.0之前
                         org.springframework.boot.context.embedded.ServletREgistatoinBean
               3 暴露Spring Bean
                    @Bean
          Filter
               1 实现javax.servlet.Filter
                    javax.servlet.http.HttpFilter
                    org.springframework.web.filter.OncePerRequestFilter
               2 组装Servlet
                    spring boot 1.4.0开始支持
                         org.springframework.boot.web.servlet.FilterRegistrationBean
                    spring boot 1.4.0之前
                         org.springframework.boot.context.embedded.FilterREgistatoinBean
               3 暴露Spring Bean
                    @Bean
          
 
 
   
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/aut-lory/p/9170251.html