Servlet

Servlet

Servlet 版本

规范版本发布时间Java平台主要更新
Servlet 4.02017 年 9 月Java EE 8支持 HTTP/2
Servlet 3.12013年5月Java EE 7非阻塞 I/O、HTTP 协议更新机制(WebSocket)
Servlet 3.02009年12月Java EE 6可插拔、简化部署、异步 Servlet、安全、文件上传
Servlet 2.52005年9月Java EE 5Annotation支持
Servlet 2.42003年11月J2EE 1.4web.xml 支持 XML Scheme
Servlet 2.32001年8月J2EE 1.3新增 Filter、事件/监听器、Wrapper
Servlet 2.21999年8月J2EE 1.2作为 J2EE 的一部分, 以 .war 文件作为独立 web 应用

Servlet 组件注册

注册方式传统方式注解方式编程方式
Servlet 注册web.xml 部署<servlet> + <servlet-mapping>@WebServletServletContext#addServlet
Filter注册web.xml部署<filter> + <filter-mapping>@WebFilterServletContext#addFilter
*Listener 注册web.xml 部署<listener>@WebListenerServletContext#addListener
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
		http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
	metadata-complete="true" version="2.5">
	<context-param>
		<description>
			<!-- Spring 配置文件路径参数,该参数值将被 -->
			org.springframework.web.context.ContextLoaderListener 使用
		</description>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath*:/META-INF/spring/spring-context.xml
		</param-value>
	</context-param>
	<listener>
		<description>
			org.springframework.web.context.ContextLoaderListener 为可选申明Listener
		</description>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>
</web-app>

Spring Servlet Web

Servlet 生命周期

  • 初始化: init(ServletConfig)
  • 服务: service(ServletRequest, ServletResponse)
  • 销毁: destroy()
HttpServlet.init() HttpServletBean.init() FrameworkServlet.initServletBean() FrameworkServlet.initWebApplicationContext() DispatcherServlet.onRefresh() DispatcherServlet.initStrategies() Servlet 初始化生命周期调用> 将ServletConfig 参数绑定到 Servlet 字段 初始化Servlet 关联的 WebApplicationContext 触发 DispatcherServlet onRefresh 初始化 DispatcherServlet 各种组件 HttpServlet.init() HttpServletBean.init() FrameworkServlet.initServletBean() FrameworkServlet.initWebApplicationContext() DispatcherServlet.onRefresh() DispatcherServlet.initStrategies() MarkDown 画sequence图

Filter 生命周期

  • 初始化: init(FilterConfig)
  • 服务: doFilter(ServletRequest, ServletResponse, FilterChain)
  • 销毁: destroy()

ServletContext 生命周期

  • 初始化: contextInitialized(ServletContextEvent)
  • 销毁: contextDestroyed(ServletContextEvent)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值