对象名称 类型 描述 作用域
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. 【pytorch】关于Embedding和GRU、LSTM的使用详解

    1. Embedding的使用 pytorch中实现了Embedding,下面是关于Embedding的使用. torch.nn包下的Embedding,作为训练的一层,随模型训练得到适合的词向量. ...

  2. Nginx+rtmp+ffmpeg 搭建推流服务器

    1. 安装nginx服务器 1.1 clone $ brew tap denji/homebrew-nginx 1.2 安装 $ brew install nginx-full --with-rtmp ...

  3. Linux下的Locale详解

    locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多.Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境. loca ...

  4. 关系型数据库管理系统(RDBMS)与非关系型数据库(NoSQL)之间的区别

    简介 关系型数据库管理系统(RDBMS)是建立在关系模型基础上的数据库,主要代表有:Microsoft SQL Server,Oracle,MySQL(开源). 非关系型数据库(NoSQL),主要代表 ...

  5. 【LOJ#3096】[SNOI2019]数论

    [LOJ#3096][SNOI2019]数论 题面 LOJ 题解 考虑枚举一个\(A\),然后考虑有多少个合法的\(B\). 首先这个数可以写成\(a_i+kP\)的形式,那么它模\(Q\)的值成环. ...

  6. 使用lambda表达式对相同属性的实体进行合并

    List<CrmAuthorizedInfo> crmAuthorizedInfos = flowPlanInfoMapper.findAllByEncode(stationForm.ge ...

  7. ICPC China Nanchang National Invitational -- D. Match Stick Game(dp)

    题目链接:https://nanti.jisuanke.com/t/38223 题意:有一堆火柴构成了一个加减法式子,你可以把火柴重新组合,要求数字个数和原来一样多,每个数字的位数和对应原数字位数一样 ...

  8. jumpserver win终端无法添加

    今天遇到一个问题是,guacd,tomcat部署完成以后jumpserver终端管理页里面还是只有coco的终端而没有guacd的终端

  9. PHP开发要点与技巧总结(二)

    1 == 'a'.0 == 'a'.97 == '97a'?这里边牵涉到的是默认数据类型转换. // 无输出 if ('0') { echo "'0' is true\n"; } ...

  10. 分类器的评价指标-ROC&AUC

    ROC 曲线:接收者操作特征曲线(receiver operating characteristic curve),是反映敏感性和特异性连续变量的综合指标,roc 曲线上每个点反映着对同一信号刺激的感 ...