zoukankan      html  css  js  c++  java
  • 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确定配置位置

  • 相关阅读:
    Xfire的aegis绑定方式配置小结
    ExtJS入门
    InstallScript 中数组的使用
    [转]手把手教你用C#(.NET)打包应用程序(安装程序)【卸载模块已添加】
    [VB]全局钩子
    VB.NET 反射机制取得当前函数名 类名等
    [.Net][转]dotNet取得各种系统信息
    [VB]清空Clipboard
    [VB]取得本机的网络连接(类似netstat 命令)
    [InstallShield] 安装时添加一个进度对话框Dialog
  • 原文地址:https://www.cnblogs.com/yxb9527/p/5944231.html
Copyright © 2011-2022 走看看