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)来获得参数值。

    走在一起是缘分,在一起走是幸福; 在一起走是缘分,走在一起是幸福
  • 相关阅读:
    svn cleanup failed–previous operation has not finished 解决方法
    开源SNS社区系统推荐
    从网络获取图片本地保存
    MS SQL Server 数据库连接字符串
    KeepAlive
    Configure Git in debian
    sqlserver query time
    RPi Text to Speech (Speech Synthesis)
    SQL Joins with C# LINQ
    search or reseed identity columns in sqlserver 2008
  • 原文地址:https://www.cnblogs.com/tarena/p/3622480.html
Copyright © 2011-2022 走看看