对象名称 类型 描述 作用域
request javax.servlet.ServletRequest 表示一次用户请求 Request
response javax.servlet.SrvletResponse 表示一次响应 Page
session javax.servlet.http.HttpSession  表示一次会话 Session
application javax.servlet.ServletContext 表示服务器上下文 Application
out javax.servlet.jsp.JspWriter  可以用其输出信息 Page
page javax.lang.Object 表示一个页面对象 Page
config javax.servlet.ServletConfig 获取配置文件信息 Page
exception javax.lang.Throwable 表示异常对象 Page
pageContext javax.servlet.jsp.PageContext 表示页面上下文环境(JSP) Page

上面的就是Servlet内置的九大对象的简单总结,接下来就是监听器,监听器就是对内置对象的状态或属性变化进行监听并且做出反应的特殊Servlet,也需要在web.xml文件中对

监听器进行相关配置。内置对象的状态有两种:产生、销毁,而对象的属性变化指的是属性的增加、删除、修改。

Request监听器:

首先需要实现一个接口:"javax.servlet.ServletRequestListener"

然后重写两个方法:

public void requestInitialized(ServletRequestEvent arg0);  对Request对象的产生状态进行监听

public void requestDestroyed(ServletRequestEvent arg0);对Request对象的销毁状态进行监听

监听器的配置:

<listener>

  <listener-class>包名.类名</listener-class>

</listener>

对Request对象的属性进行监听:

首先实现接口:"ServletRequestAttributeListener"

然后重写方法:

public void attributeAdded(ServletRequestAttributeEvent event);   //增加属性时触发该方法

public void attributeRemoved(ServletRequestAttributeEvent event);   //删除属性时触发该方法

public void attributeReplaced(ServletRequestAttributeEvent event);  //更新属性时触发该方法

Session监听器:

首先需要实现一个接口:"javax.servlet.http.HttpSessionListener"

然后重写方法:

public void sessionCreated(HttpSessionEvent event);  //对Session对象的产生状态进行监听

public void sessionDestroyed(HttpSessionEvent event);   //对Session对象的销毁状态进行监听

监听器的配置:

<listener>

  <listener-class>包名.类名</listener-class>

</listener>

对Session对象的属性进行监听:

首先实现接口:"HttpSessionAttributeListener"

然后重写方法:

public void attributeAdded(ServletRequestAttributeEvent event);   //增加属性时触发该方法

public void attributeRemoved(ServletRequestAttributeEvent event);   //删除属性时触发该方法

public void attributeReplaced(ServletRequestAttributeEvent event);  //更新属性时触发该方法

Application监听器:

首先需要实现一个接口:"javax.servlet.ServletContextListener"

然后重写方法:

public void contextInitialized(ServletContextEvent sce);   对Application对象的产生状态进行监听

public void contextDestroyed(ServletContextEvent sce);   对Application对象的销毁状态进行监听

对Application对象的属性进行监听:

首先实现接口:"ServletContextAttributeListener"

然后重写方法:

public void attributeAdded(ServletRequestAttributeEvent event);   //增加属性时触发该方法

public void attributeRemoved(ServletRequestAttributeEvent event);   //删除属性时触发该方法

public void attributeReplaced(ServletRequestAttributeEvent event);  //更新属性时触发该方法

servlet九大内置对象和监听器的更多相关文章

  1. JSP九大内置对象与Servlet学习笔记[转]

    我们常说的JSP有九大内置对象分别为:request.response.session.out.pagecontext.page.exception.application.config. 我们知道, ...

  2. JSP九大内置对象和四大作用域和Servlet的三大作用域对象

    一.JSP九大内置对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用 内置对象特点: 由JSP规范提供,不用编写者实例化. 通过Web容器实现和管理 所有 ...

  3. jsp九大内置对象与servlet中java对象

    jsp九大内置对象 request对象 :  getParameter(String name)获取表单提交的数据 getParamegerNames() 获取客户端提交的所有参数名 getAttri ...

  4. servlet的三大作用域对象和jsp的九大内置对象及其四大作用域对象

    servlet的三大作用域对象: request(HttpServletRequest) session(HttpSession): application(ServletContext):tomca ...

  5. 今天我们来认识一下JSP的九大内置对象

    虽然现在基本上我们都是使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用 ...

  6. jsp的九大内置对象

    九大内置对象 jsp servlet   对象名 类型 使用范围 request HttpServletRequest 请求 浏览器--->服务器 response HttpServletRes ...

  7. 重温JSP学习笔记--三大指令九大内置对象

    最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: ...

  8. jsp数据交互(一),九大内置对象

    九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...

  9. JSP九大内置对象的作用和用法总结?

    JSP九大内置对象的作用和用法总结? 1.request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的请求信息,主要用于接受通过HTT ...

随机推荐

  1. oracle wm_concat 函数无法使用的情况下,使用LISTAGG()函数

    http://dacoolbaby.iteye.com/blog/1698957 --20180327 重写wm_concat函数,解决行数超过上限问题 /*执行前请将APPS替换为当前登录用户*/ ...

  2. BZOJ1112[POI2008]砖块Klo——非旋转treap

    题目描述 N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任 ...

  3. mpvue——Error: Cannot find module 'escape-string-regexp'

    报错 $ cnpm run build > mpvue-qq@1.0.0 build D:\wamp\www\wxsmallsoft\mini-0212\mpvueQQ > node bu ...

  4. Gym - 101982F Rectangles (扫描线+线段树)

    链接:http://codeforces.com/gym/101982/attachments 思路: 问被覆盖次数为奇数次的矩阵的面积并 扫描线求矩阵面积并我们是上界赋为-1,下界赋为1,因为要求覆 ...

  5. .Net Core实践3 配置文件

    环境 .netcore2.1 / vs2017 / win10 / centos7 在.netcore项目中读取配置文件,先添加应用程序配置文件App.config.这个是类库项目的配置文件名. Sy ...

  6. Java 8 特性 —— 函数式接口

    函数式接口 概述:接口中只有一个抽象方法. 函数式接口,即适用于函数式编程场景的接口.而 Java 中的函数式编程体现就是 Lambda,所以函数式接口就是可以适用于 Lambda 使用的接口.只有确 ...

  7. Java基础 -- Collection和Iterator接口的实现

    Collection是描述所有序列容器(集合)共性的根接口,它可能被认为是一个“附属接口”,即因为要表示其他若干个接口的共性而出现的接口.另外,java.util.AbstractCollection ...

  8. 51nod 1630(定积分 + 期望)

    51nod1630 每个人进入竞技场后,会等概率随机匹配一个人,匹配到的人与当前胜利和失败场数无关. 胜利达到x场,或失败达到y场后,退出竞技场,根据退出时的胜利场数获得奖励,不能中途放弃. 水平高的 ...

  9. 2017-12-20python全栈9期第五天第二节之字典的增删查改和字典的for循环

    #!/user/bin/python# -*- coding:utf-8 -*-dic1 = {'age':24,'name':'zd','sex':'boy'}print(dic1)#增dic1[' ...

  10. Vue打包优化之分析工具webpack-bundle-analyzer

    // 1. 安装 cnpm install webpack-bundle-analyzer --save-dev // 2. 在/build/webpack.prod.conf.js文件中引入 con ...