一. servlet的概述:
Servlet是sun公司提供的一门用于开发动态web资源的技术。
JavaEE规定,servlet必须实现 Servlet接口(javax.servlet.Servlet)
二. servlet规范: 提供两个实现
1. GenericServlet,通用servlet,与协议无关的实现。
2.HttpServlet,与HTTP协议有关实现类。
三. servlet的生命周期
1. init(ServletConfig) 初始化方法,默认情况 第一次调用service方法前。一生只执行一次。
一般情况初始化方法不用,如果使用进行数据预先处理(读取xml文件等)
2. service(ServletRequest,ServletResponse) 执行方法,一次请求调用一次。
3. destroy() 销毁方法,服务器正常关闭时执行,一生只执行一次。
一般情况销毁方法不用,如果使用进行资源释放。
四. servlet路径 <url-pattern>
1.完全匹配路径:必须/开头
例如:/hello 、/a/b/c/hello
访问路径和 web.xml配置路径一致,servlet将被调用。
2.不完全匹配(通配符匹配)/开头,以*结尾
例如:/* 、 /a/b/*
/a/b/* ,a目录下的b目录下的所有内容
/* 当前项目下所有内容
3.扩展名匹配 *开头
例如:*.do 、*.action 、 *.jsp
只处理某一类文件
4. 缺省路径 /
以上都没有匹配,将执行缺省
优先级:1 > 2 > 3 > 4
五. ServletContext servlet 上下文对象(servlet管理者)
作用:
1. web项目内部共享数据
2. 管理资源
getRealPath(path) 获得tomcat下真实路径(绝对路径,有盘符)
getResourceAsStream(path) 获得流
3. 获得系统初始化参数
servlet初始化 (当前servlet有效)
配置
<servlet>
<init-param>
<param-name>
<param-value>
通过对象获得:ServletConfig
config.getInitParameter(name);
经典应用:spring mvc 控制器用于设置配置文件
系统初始化 (整个web项目,所有servlet都可以获得)
配置
<context-param>
<param-name>
<param-value>
通过对象获得:ServletContext
context.getInitParameter(name);
经典应用:spring确定配置位置