- 浏览: 840409 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
renzhengzhi:
请教一下楼主,公有云和私有云的开发,具体要做哪些工作呢?我拿到 ...
4,云的4 种模式 -
SangBillLee:
我用了solr5.5,用SolrQuery查询,没法高亮,不知 ...
solr5.x快速入门 -
lw900925:
这翻译读起来真是别扭。
solr in action翻译-第一章1.1 -
springjpa_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Spring MVC性能提升 -
h416373073:
正遇到了此问题不知如何解决, 多谢分享
solr错误
下面编写一个实例,使它能够对ServletContext以及属性进行监听。由以上介绍可知,该类需要实现ServletContextAttributeListener和ServletContextListener接口类,其详细代码如下:
package servlet; import java.io.FileOutputStream; import java.io.PrintWriter; import javax.servlet.ServletContext; import javax.servlet.ServletContextAttributeEvent; import javax.servlet.ServletContextAttributeListener; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class MyServletContextListener implements ServletContextListener,ServletContextAttributeListener{ private ServletContext context = null; //定义一个ServletContext对象变量,赋为null public void contextInitialized(ServletContextEvent s) { //TODO 该方法实现了ServletContextListener接口定义的方法,对ServletContext进行初始化 this.context = s.getServletContext(); //初始化一个ServletContext对象 print("ServletContext初始化......"); //打印出该方法的操作信息 } public void contextDestroyed(ServletContextEvent s) { //TODO 该方法实现了ServletContextListener接口类定义方法,用于释放ServletContext对象 this.context = null; print("ServletContext被释放......"); } public void attributeAdded(ServletContextAttributeEvent sa) { //TODO 当上下文添加属性时,将调用该方法。这里只是将添加的属性信息打印出来 print("增加ServletContext对象的一个属性:attributeAdded('"+sa.getName()+"',' "+sa.getValue()+"')"); } public void attributeRemoved(ServletContextAttributeEvent sa) { //TODO 当把ServletContext中的某个属性删除时,调用该方法 print("删除ServletContext对象的某一个属性:attributeRemoved(' "+sa.getName()+"','")"); } public void attributeReplaced(ServletContextAttributeEvent sa) { //TODO 当上下文进行属性值更新时,将调用该方法 print("更改ServletContext对象的某一个属性:attributeReplaced(' "+sa.getName()+"','"+sa.getValue()+"')"); } private void print(String message){ //调用该方法在txt文件中打印出message字符串信息 PrintWriter out = null; try{ out = new PrintWriter(new FileOutputStream("D:\\output.txt",true)); out.println(new java.util.Date().toLocaleString()+" ContextListener: "+message); out.close(); } catch(Exception e) { e.printStackTrace(); } } }
程序说明:该监听器类实现了ServletContextAttributeListener和ServletContextListener两个接口类中的5个方法:
● contextInitialized(ServletContextEvent s)方法用来初始化ServletContext对象。
● contextDestroyed(ServletContextEvent s)方法在上下文中删除某个属性时调用。
● attributeAdded(ServletContextAttributeEvent sa)方法在上下文中添加一个新的属性时调用。
● attributeReplaced(ServletContextAttributeEvent sa)方法在更新属性时调用。
● attributeRemoved(ServletContextAttributeEvent sa)方法在上下文中删除某个属性时会被调用。
在使用这个监听器之前还需要在Web模块中的web.xml配置文件中进行声明,代码如下:
<listener>
<listener-class>servlet.MyServletContextListener</listener-class>
</listener>
接下来就编写JSP程序来操作ServletContext的属性,看看监听器程序作出什么反应,该JSP的一段代码如下:
<% out.println(“Test ServletContextListener”); application.setAttribute(“userid”,”zzb”); //添加一个属性 application.setAttribute(“userid”,”zzb2”); //替换掉已经添加的属性 application.removeAttribute(“userid”); //删除该属性 %> 代码说明:当第一次添加属性userid时,监听器调用contextInitialized(ServletContextEvent s)初始化监听方法和attributeAdded(ServletContextAttributeEvent sa)添加属性监听方法。 可以查看D根目录下的output.txt文件内容,如下: 2006-7-12 14:07:50 ContextListener: ServletContext初始化...... 2006-7-12 14:13:55 ContextListener: 增加ServletContext对象的一个属性:attributeAdded('userid','zzb') 2006-7-12 14:13:55 ContextListener: 更改ServletContext对象的某一个属性:attributeReplaced ('userid','zzb2') 2006-7-12 14:13:55 ContextListener: 删除ServletContext对象的某一个属性:attributeRemoved ('userid') 该log文件记录了监听器所做的动作。
发表评论
-
mysqldump参数详细说明
2013-12-25 11:01 1587mysqldump参数详细说明(参数来源于mysql5.5. ... -
Tomcat 启动两次的问题(ServletContextListener的contextInitialized被执行两次的问
2013-11-01 18:57 9118有些人会遇到自 ... -
jquery学习笔记5
2013-08-23 14:34 1053jQuery AJAX 实例 什么是 AJAX?AJAX ... -
jquery学习笔记4
2013-08-23 14:34 911jQuery - 添加元素添加 ... -
jquery学习笔记3
2013-08-23 14:34 866jQuery 效果 - 滑动jQuery ... -
jquery学习笔记2
2013-08-23 14:34 886jQuery 效果 - 隐藏和显示jQuery hide( ... -
jquery学习笔记1
2013-08-23 14:33 840jQuery 语法实例$(this).hide()隐藏当前 ... -
ajax乱码解决
2013-08-05 17:20 969public static String unescape( ... -
window.location.search
2012-11-15 16:45 1164location.search 返回“?”以及以后的内容, ... -
CshBBrain架构介绍
2012-10-15 11:22 1142在介绍CshBBrain服务器架 ... -
log4j配置详细
2012-05-11 14:36 1539log4j.rootLogger=DEBUG,CONSOLE, ... -
设置按钮的背景图片
2012-01-08 11:25 1111<Html> <head></h ... -
JS刷新当前页面
2011-09-23 11:35 1512reload 方法,该方法强迫 ... -
ServletContextListener的用法
2011-08-29 11:04 1129这个J2EE小提示阐述了Ser ... -
flex 报表
2011-05-20 11:38 1336http://www.iteye.com/topic/2290 ... -
ServletContextListener使用详解
2011-04-10 21:56 1645在 Servlet API 中有一个 Ser ... -
JavaScript脚本引起Struts2报错(Could not find action or result)
2010-10-27 14:41 1591一个简单的jsp页面,在查看显示效果的时候发现tom ... -
常用Reader之JsonReader
2010-10-12 10:49 1841在JavaScript中,JSON是一种非常重要的数据格式,k ... -
jstl的配置方法
2010-08-12 13:18 1144jstl的配置方法: 1、将jstl.jar和standard ... -
JPA详细说明
2010-08-04 16:39 1624JPA详细说明 @Temporal(TemporalTyp ...
相关推荐
- **定义**:监听器是实现了特定接口的Java类,用于监听Web应用中特定事件的发生,如会话创建、销毁、请求到达、上下文初始化等。 - **工作原理**:监听器通过实现Servlet规范中的各种监听器接口,如`...
- 监听器是Java Servlet API的一部分,它们是实现了特定监听接口的类,用于监听服务器、Servlet上下文(ServletContext)、HttpSession以及请求对象等发生的事件。 - 监听器可以自动触发某些操作,例如监控在线...
`ServletContext`是整个Web应用的共享上下文,它可以用来在不同Servlet之间共享信息,或获取全局配置。例如,`getContextPath()`获取Web应用的根路径,`getAttribute()`和`setAttribute()`用于存储和获取数据。 8....
7. **监听器**(Listener):监听Web应用中特定事件,如会话创建、销毁、上下文初始化等,可执行相应操作。 Servlet容器模型的另一个关键特性是多线程模型。由于HTTP请求是无状态的,Servlet容器通常为每个请求创建...
- **事件监听**:如`ServletContextListener`监听上下文初始化和销毁,`HttpSessionListener`监听会话创建和结束。 7. **MVC框架**: - **Model-View-Controller**模式常与Servlet结合使用,Spring MVC是广泛应用...
- `ServletConfig`:存储Servlet的初始化参数和上下文信息。 - `ServletContext`:代表整个Web应用的共享环境,用于Servlet间通信和共享资源。 4. **Servlet配置**: Servlet通常在`web.xml`部署描述符文件中...
3. **ServletContext**:代表整个web应用的上下文,提供了获取应用级资源、注册监听器和事件以及与其他Servlet通信的方法。 4. **HttpServletRequest** 和 **HttpServletResponse**:这两个接口分别代表了HTTP请求...
监听器是实现了特定接口的对象,它们监听Servlet上下文、session和请求事件。例如,ServletContextListener可以监听上下文的初始化和销毁事件,HttpSessionListener可以监听会话的创建和失效事件。 综上所述,Java ...
7. **监听器(Listener)**:监听器是实现了特定接口的类,用于监听Servlet上下文、会话和请求事件。它们可以在Servlet的生命周期事件发生时自动执行代码。 8. **异步处理**:从Servlet 3.0开始,Servlet支持异步...
8. **监听器(Listener)**:ServletAPI定义了一系列事件监听器接口,如ServletContextListener、ServletRequestListener和HttpSessionListener,它们可以在特定事件(如Servlet上下文初始化、请求到达或会话创建)...
- **事件(Event)**:事件是应用程序中发生的一种状态改变,例如用户点击按钮、页面加载完成或Servlet上下文初始化等。 - **事件源(Event Source)**:事件的发起者,通常是用户交互的对象或者系统组件。 - **...
6. **Servlet上下文**:ServletContext接口代表了整个Web应用的共享环境,所有Servlet都可以访问。它提供获取初始化参数、广播事件、存储全局数据等功能。 7. **请求和响应对象**:HttpServletRequest和...
6. **Spring框架中的监听器**: Spring框架提供了ApplicationContextListener,允许在Spring应用上下文初始化和关闭时执行自定义逻辑。此外,ApplicationEvent和ApplicationListener接口允许在Spring应用中发布和处理...
此外,Servlet API还提供了过滤器(Filter)和监听器(Listener)的概念,它们允许开发者在请求到达Servlet之前进行拦截处理,或者监听特定的事件,如session创建、销毁等。 JSP技术则是基于Servlet的,它将HTML和...
`ServletContext`是代表Web应用程序上下文的对象,它可以被多个Servlet共享。 ##### 2、`HttpServlet`对象介绍(接口) `HttpServlet`是抽象类,继承自`GenericServlet`,为HTTP协议提供了默认的实现。它重写了`...
- `getContextPath()`: 获取Servlet上下文路径。 - `getAttribute(String name)`: 获取全局属性。 - `log(String message)`: 记录日志信息。 五、Filter和FilterChain 1. `Filter`:可以拦截和修改请求或响应,实现...
而监听器则可以监听Web应用中的各种事件,如会话创建、销毁、请求上下文初始化等,提供了一种动态管理应用状态的手段。 除了这些,课程可能还会介绍Servlet容器,如Tomcat,它是运行Servlet的环境。Servlet容器接收...
五、Servlet上下文 `ServletContext`接口代表了整个Web应用的共享环境,它可以在所有Servlet之间传递信息。可以使用`getInitParameter()`获取全局初始化参数,`setAttribute()`和`getAttribute()`用于存储和检索对象...
`getServletConfig()`和`getServletContext()`方法分别返回Servlet的配置信息和应用程序上下文。 `HttpServlet`是`GenericServlet`的子类,专门为处理HTTP协议而设计。`HttpServlet`重写了`service()`方法,根据...
4. **上下文监听器(Context Listener)**:除了传统的`ServletContextListener`,Servlet 3.0还允许通过注解注册监听器,使得应用程序可以在部署时自动初始化或清理资源。 5. **微容器(Micro-container)**:...