servlet知识总结

一 servlet生命周期

1.一个servelt就是一个基于java技术的web组件,受管于容器,能够产生动态内容

2.servelt的生命周期:
1.载入和实例化
servelt容器负责载入并实例化servlet,可以在容器启动的时候载入并且实例化,也可以延迟到请求来的时候再实例化

2.初始化
servlet对象被实例化后要开始初始化servlet,此时容器会调用servlet的init()方法

3.处理请求
容器会调用servlet的service()函数

4.停止服务
当容器决定要移除servlet的时候,会调用servlet的destroy()来释放资源,一旦destroy被调用,不会再有请求传递到该servlet,如需再次使用这个servlet,需要重新初始化

二 ServletContext接口

1.每一个web应用都有一个ServletContext与之关联

2.ServletContext接口中允许servlet访问web应用的初始化参数-getInitParameter

3.任何绑定到上下文中的变量servlet共享—setAttribute

4.ServletContext提供了直接访问静态资源的方法,包括html,css,gif等


三 filter

<filter-mapping> <filter-name>Logging Filter</filter-name> 
<url-pattern>/products/*</url-pattern> 
<dispatcher>FORWARD</dispatcher>
 <dispatcher>REQUEST</dispatcher>
</filter-mapping>
dispatcher  接受客户端的请求和servlet 的forward过来的请求

四 应用程序生命周期事件

1.事件监听器:应用程序事件监听器是一些实现了一个或多个servlet事件监听器接口的类,servlet事件监听器会在ServletContext,HttpSession,和ServletRequest状态发生改变时获得通知


事件监听器举例:假想有一个简单的 web 应用程序,它有很多 servlet 并使用了一个数据 库。开发者编写一个 servlet context listener 用于管理数据库链接
1、当应用程序启动时,这个监听器被通知执行。程序登录数据库,并把数据库链接存储在 servlet context 里。
2、应用程序中的 servlet 会视需要而访问这个数据库链接。
3、当关闭 web 服务器或从服务器把该应用程序移除时,这个监听器获得通知并关闭数据库 链接。 




你可能感兴趣的:(servlet知识总结)