对象名称 类型 描述 作用域
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. (简单)华为Nova青春 WAS-AL00的USB调试模式在哪里开启的流程

    就在我们使用Pc接通安卓手机的时候,如果手机没有开启usb开发者调试模式,Pc则无办法成功检测到我们的手机,在一些情况下,我们使用的一些功能较强的app好比之前我们使用的一个app引号精灵,老版本就需 ...

  2. U68364 _GC滑迷宫

    题目背景 _GC买了一双蔡徐坤一代. 题目描述 _GC进入了一个n*m的迷宫.本题的特殊之处在于,_GC只能滑着走.具体来说就是,选定一个方向后,_GC会一直向该方向滑,直到撞到墙.会给出_GC的起始 ...

  3. 【学习笔记】JS知识点整理

    1 原型/原型链 1-1 原型 定义:原型是function对象的一个属性,定义了构造函数制造出的对象的公共祖先.通过该构造函数产生的对象,可以继承该原型的属性和方法. 原型是一个对象. 可以利用原型 ...

  4. requests爆破+简单数字验证码

    验证码用正则获取 然后提交:访问方式为get:由于有验证码 要用session:注意:获取验证码的时候所打开的网页要用当前session(即要get的) 不能另外打开(如urllib中的打开网页)网页 ...

  5. [APIO2017]商旅(floyd+分数规划+SPFA)

    题解:首先肯定要跑最短路,而n<=100,所以可以用floyd,然后根据比值,很容易想到二分答案,然后再SPFA跑一遍负环,就能求出解了. #include<bits/stdc++.h&g ...

  6. eclipse 包 取消代码第一行package包名 自动补全时取消自动引入包名 修改名字 取消引用 自动导入publilc static void main(String[] args) {}

    --项目 --包 包是为了管理类文件,同个包下不允许同名类文件,但不同包就可以,把类放在包里是规范 (https://zhidao.baidu.com/question/239471930532952 ...

  7. matplotlib的读书笔记

    matplotlib绘图总结   本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 类MATLAB API 最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MA ...

  8. Github 开源项目(一)websocketd (实战:实时监控服务器内存信息)

    websocketd 是WebSocket守护进程,它负责处理WebSocket连接,启动您的程序来处理WebSockets,并在程序和Web浏览器之间传递消息. 安装:websocketd wget ...

  9. SpringBoot项目打成jar包后上传文件到服务器 目录与jar包同级问题

    看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用Sp ...

  10. python小练习: 给定一个数组 按重复次数 降序排列输出 数组非空且为正整数

    假设有个列表  a=[1,1,1,2,2,4,5,5,5,5] (非空且为正整数) 那么根据要求 最终输出的形式为  5,1,2,4  (按重复次数 降序排列输出) 代码实现及解释: a=[1,1,1 ...