servlet的学习和总结(一)

一.  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确定配置位置

原文地址:https://www.cnblogs.com/yxb9527/p/5944231.html