zoukankan      html  css  js  c++  java
  • 监听器**

    监听器 **
      1) 什么是监听器?
        servlet 规范当中定义的一种特殊的类,作用是监听容器当中产生的一些事件并进行相应的处理。
      容器产生的事件指的是两大类事件:
      第一大类
        生命周期相关的事件,指的是当容器创建戒者销毁 request,session,ServletContext 对象时产生的事件。
      第二大类
        绑订事件,指的是当调用 request,session,ServletContext 对象的
          setAttribute,removeAttribute 时产生的事件。
      2) 如何写监听器
      step1
        写一个 java 类,实现特定的监听器接口类(依据要监听的事件类型)。
      step2
        在接口声明的方法中,实现监听的逻辑。
      step3
        配置(web.xml)。
      3) ServletContext 接口
        web 服务器在启动时,会为每一个已经部署的应用创建唯一的一个 ServletContext 实例。该实例会一直存在,除非服务器关闭或者应用被删除。
      注意:每个应用对应唯一的一个 ServletContext 实例
        a. 如何获得 ServletContext 实例。
          GenericServlet 提供了 getServletContext()方法。
          HttpSession 提供了 getServletContext()方法。
          ServletConfig 提供了 getServletContext()方法。
        b. 常用方法
           绑订数据
            setAttribute(String name,Ob ject obj);
            getAttribute(String name);
            removeAttribute(String name);
           配置全局的初始化参数
            step1
              在 web.xml 中,使用<context-param>配置的参数,可以被所有的 servlet 共享。
            step2
              使用 String ServletContext.getInitParameter(String paraName);
           依据逻辑路径获得实际部署时的物理路径。
            String ServletContext.getRealPath(String url);
      4) 上传文件(扩展)
        step1
          在 form 中,设置 method="post",设置 enctype="multipart/form-data"。 enctype 属性用于设置表单的编码方式,对于文件上传,必须设置成"multipart/form-data"。
        step2
        在 servlet 类当中,不能够使用 request.getParameter 方法来获得参数值。要使用InputStream request.getInputStream();分析 InputStream 来获得参数值。直    接分析InputStream 比较复杂,一般使用一些封装好的工具(比如 apache 提供的commons-fileupload.jar)来获得参数值。

    走在一起是缘分,在一起走是幸福; 在一起走是缘分,走在一起是幸福
  • 相关阅读:
    cakephp异常机制
    你的效率是整理出来的——张一驰
    eclipse常用总结
    cakephp写Lib要点
    代码整洁之道-马丁-第3章 函数
    PHP静态方法如何编写
    编程常用工具
    代码大全(第二版)
    PHP实现AES对称加密
    【pytest】(三) pytest运行多个文件
  • 原文地址:https://www.cnblogs.com/tarena/p/3622480.html
Copyright © 2011-2022 走看看