对象名称 类型 描述 作用域
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. 第一章 Python基本语法元素分析(二)

    1.3   实例1:温度转换 根据华氏和摄氏温度定义,利用转换公式如下: C=(F-32)/1.8 F=C*1.8+32 代码如下: 运行结果: 1.4   Python程序语法元素分析 注释:不被程 ...

  2. BZOJ 1855 股票交易 (算竞进阶习题)

    单调队列优化dp dp真的是难..不看题解完全不知道状态转移方程QAQ 推出方程后发现是关于j,k独立的多项式,所以可以单调队列优化.. #include <bits/stdc++.h> ...

  3. JSSDK调用微信原生的功能上传图片保存到自己的服务器中

    第一件事首先是微信的选择图片功能,就是微信发朋友圈选择图片的时候那个界面 //调用微信拍照功能 wx.chooseImage({ count: 1, // 默认9 sizeType: ['origin ...

  4. Codeforces 1108E2 Array and Segments (Hard version)(差分+思维)

    题目链接:Array and Segments (Hard version) 题意:给定一个长度为n的序列,m个区间,从m个区间内选择一些区间内的数都减一,使得整个序列的最大值减最小值最大. 题解:利 ...

  5. Nginx与前端开发

    Nginx与Node.js "Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡." 作为前 ...

  6. SQL两个事务update同一张表出现的死锁问题(waitfor delay)

    抄录网址:https://blog.csdn.net/qiumuxia0921/article/details/50574879 下面是我们的建表语句: SET ANSI_NULLS ON GO SE ...

  7. meterpreter基础命令大全

    meterpreter meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用.为后渗透提供了很多便捷之处 基础命令 我们进入meterpreter之后,键入 ...

  8. CentOS7自定义系统服务示例

    CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/ ...

  9. python魔法方法之构造和析构

    python的类实例化的时候会默认执行该类的构造方法_init_ class Rectangle: def __init__(self,x,y): self.x=x self.y=y def getA ...

  10. 基本DFS与BFS算法(C++实现)

    样图: DFS:深度优先搜索,是一个不断探查和回溯的过程,每探查一步就将该步访问位置为true,接着在该点所有邻接节点中,找出尚未访问过的一个,将其作为下个探查的目标,接着对这个目标进行相同的操作,直 ...