什么是java侦听器

什么是java侦听器,第1张

1、监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEvent se)方法,这样

就可以给在线人数加1。

2、常用的监听接口有以下几个:

1)ServletContextAttributeListener监听对ServletContext属性的操作,比如增加、删除、修改属性。

2)、ServletContextListener监听ServletContext。当创建ServletContext时,激发contextInitialized(ServletContextEvent sce)方法;当销毁ServletContext时,激发contextDestroyed(ServletContextEvent sce)方法。

HttpSessionListener监听HttpSession的操作。当创建一个Session时,激发session Created(HttpSessionEvent se)方法;当销毁一个Session时,激发sessionDestroyed (HttpSessionEvent se)方法。

4)HttpSessionAttributeListener监听HttpSession中的属性的操作。当在Session增加一个属性时,激发attributeAdded(HttpSessionBindingEvent se) 方法;当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法;当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se) 方法。

3、参考样例example:随服务器启动

<web-app>

<listener>

<listener-class>com.tb.listener.CountStartListener</listener-class>

</listener>

package com.tb.listener

import javax.servlet.ServletContextEvent

import javax.servlet.ServletContextListener

import javax.servlet.http.HttpServlet

import com.tb.timertask.DoCountTask

public class CountStartListener extends HttpServlet implements ServletContextListener

{

private static final long serialVersionUID = 1824920962239905170L

public CountStartListener()

{

// TODO Auto-generated constructor stub

}

public void contextDestroyed(ServletContextEvent arg0)

{

// TODO Auto-generated method stub

}

public void contextInitialized(ServletContextEvent arg0)

{

DoCountTask.dotask()

监听你系统通信所用的端口,有数据就获取显示就可以了。例如你的服务器ip是168.12.1.16,使用的是2000端口号,Socket socket=new Socket("168.12.1.16",2000)

DataOutputStream in=new DataOutputStream(socket.getInputStream())

你说的是服务器端的监听是吧。

listener.ora的文件中,有一个oracle_sid的字段,这个字段写的是oracle的sid,你和数据库的sid去对比,就知道监听的是哪一个数据库。

或者通过lsnrctl status能够调出监听状态,下面有四个监听正太,其中我忘了第几个,那个也是数据库的sid,跟数据库对比下,就知道了。

一本来说服务器监听的都是本机的数据库。 java监听器(Listener)和Servlet是两个不同功能的JavaWeb组件。

监听器是实现了javax.servlet.ServletContextListener这个接口的类,里面有两个方法需要你在子类实现:

public void contextDestroyed(ServletContextEvent evt) {

//监听器被销毁的时候调用

}

public void contextInitialized(ServletContextEvent evt) {

//监听启动的时候调用,初始化servletcontext事件

}

创建好后,配置到web.xml中即可。

对于Servlet自己没有监听器,只有当用户请求Servlet映射的路径时会触发Servlet对应的方法来处理,以此来响应客户的请求。

监听参数是用来初始化监听上下文使用的,不能被其他入口所调用。

<!--Spring ApplicationContext载入-->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<!-- Spring ApplicationContext配置文件的路径,此参数用于后面的Spring-Contextloader -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:beans.xml</param-value>

</context-param>

<!-- 系统服务初始化 -->

<listener>

<listener-class>pams.servlet.SysInitServlet</listener-class>

</listener>


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/229654.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存