日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python监听器_监听器 - python成长中 - 博客园

發布時間:2025/4/5 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python监听器_监听器 - python成长中 - 博客园 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

監聽器介紹

監聽器 - Listener

監聽器(Listener)是J2EE Servlet模塊下的組件

Listener的作用對web應用對象的行為進行監控

通過Listener監聽自動觸發指定的功能代碼

第一個監聽器

packagecom.imooc.listener;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;

@WebListenerpublic class FirstListener implementsServletContextListener {

@Overridepublic voidcontextDestroyed(ServletContextEvent arg0) {//TODO Auto-generated method stub

System.out.println("監聽器銷毀");

}

@Overridepublic voidcontextInitialized(ServletContextEvent arg0) {//TODO Auto-generated method stub

System.out.println("監聽器初始化");

}

}

com.imooc.listener.FirstListener

內置對象監聽器

案例應用

請求流量分析統計

packagecom.imooc.total;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importjavax.servlet.ServletContext;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;importjavax.servlet.ServletRequestEvent;importjavax.servlet.ServletRequestListener;public class RequestTotal implementsServletContextListener,ServletRequestListener {

@Overridepublic voidrequestDestroyed(ServletRequestEvent arg0) {//TODO Auto-generated method stub

}

@Overridepublic voidrequestInitialized(ServletRequestEvent arg0) {/*** 監聽請求,每次請求來臨時,記錄時間段的請求次數

**/

//獲取ServletContext對象

ServletContext context =arg0.getServletContext();//取出屬性對象

List timeArray = (List) context.getAttribute("timeArray");

List valueArray = (List) context.getAttribute("valueArray");//定義一個時間類型的對象

Date date = newDate();//時間格式化

SimpleDateFormat hourMinute = new SimpleDateFormat("HH:mm");//對小時和分鐘格式化

String time =hourMinute.format(date);//判斷當前時間在不在集合里

if(timeArray.indexOf(time) == -1) {//時間集合里增加這個時間段

timeArray.add(time);//在請求記錄集合里,初始化有一次請求

valueArray.add(1);//保存ServletContext對象里

context.setAttribute("timeArray", timeArray);

context.setAttribute("valueArray", valueArray);

}else{//獲取該時間段索引

int index =timeArray.indexOf(time);//根據索引獲取值

int value =valueArray.get(index);//根據索引累加值

valueArray.set(index, value+1);//保存屬性

context.setAttribute("valueArray", valueArray);

}

}

@Overridepublic voidcontextDestroyed(ServletContextEvent arg0) {//TODO Auto-generated method stub

}

@Overridepublic voidcontextInitialized(ServletContextEvent arg0) {//初始化時間集合,累加請求集合

List timeArray= newArrayList();

List valueArray= newArrayList();//獲取ServletContext對象

ServletContext context =arg0.getServletContext();//把timeArray當屬性保存在ServletContext里

context.setAttribute("timeArray", timeArray);

context.setAttribute("valueArray", valueArray);

}

}

xml配置

request-total

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

com.imooc.total.RequestTotal

入門百度Echarts組件

Insert title here

$.ajax(

{

url:"./rt",

type:"get",

dataType:"json",

success : function(json) {//data = jQuery.parseJSON(data);//dataType指明了返回數據為json類型,故不需要再反序列化

console.log(json);

console.log(json.timeArray);

console.log(json.vauleArray);//基于準備好的dom,初始化echarts實例

var myChart = echarts.init(document.getElementById('main'));//指定圖表的配置項和數據

var option ={

title: {

text:'請求流量數據表'},

tooltip: {},

legend: {

data:['訪問量']

},

xAxis: {

data: json.timeArray

},

yAxis: {},

series: [{

name:'次數',

type:'bar',

data: json.valueArray

}]

};//使用剛指定的配置項和數據顯示圖表。

myChart.setOption(option);

},

error:function(){

alert("請求失敗");

}

}

)

}

window.setInterval("showCase()",1000);

packagecom.imooc.total;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importjavax.servlet.ServletContext;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;importjavax.servlet.ServletRequestEvent;importjavax.servlet.ServletRequestListener;importjavax.servlet.http.HttpServletRequest;public class RequestTotal implementsServletContextListener,ServletRequestListener {

@Overridepublic voidrequestDestroyed(ServletRequestEvent arg0) {//TODO Auto-generated method stub

}

@Overridepublic voidrequestInitialized(ServletRequestEvent arg0) {/*** 監聽請求,每次請求來臨時,記錄時間段的請求次數

**/

//獲取HttpServletRequest對象

HttpServletRequest request =(HttpServletRequest)arg0.getServletRequest();//獲取請求的URL

String url =request.getRequestURL().toString();if(url.endsWith("/rt") == true) {return;

}//獲取ServletContext對象

ServletContext context =arg0.getServletContext();//取出屬性對象

List timeArray = (List) context.getAttribute("timeArray");

List valueArray = (List) context.getAttribute("valueArray");//定義一個時間類型的對象

Date date = newDate();//時間格式化

SimpleDateFormat hourMinute = new SimpleDateFormat("HH:mm");//對小時和分鐘格式化

String time =hourMinute.format(date);//判斷當前時間在不在集合里

if(timeArray.indexOf(time) == -1) {//時間集合里增加這個時間段

timeArray.add(time);//在請求記錄集合里,初始化有一次請求

valueArray.add(1);//保存ServletContext對象里

context.setAttribute("timeArray", timeArray);

context.setAttribute("valueArray", valueArray);

}else{//獲取該時間段索引

int index =timeArray.indexOf(time);//根據索引獲取值

int value =valueArray.get(index);//根據索引累加值

valueArray.set(index, value+1);//保存屬性

context.setAttribute("valueArray", valueArray);

}

}

@Overridepublic voidcontextDestroyed(ServletContextEvent arg0) {//TODO Auto-generated method stub

}

@Overridepublic voidcontextInitialized(ServletContextEvent arg0) {//初始化時間集合,累加請求集合

List timeArray= newArrayList();

List valueArray= newArrayList();//獲取ServletContext對象

ServletContext context =arg0.getServletContext();//把timeArray當屬性保存在ServletContext里

context.setAttribute("timeArray", timeArray);

context.setAttribute("valueArray", valueArray);

}

}

packagecom.imooc.total;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.alibaba.fastjson.JSON;/*** Servlet implementation class RequestTotalServlet*/@WebServlet("/rt")public class RequestTotalServlet extendsHttpServlet {private static final long serialVersionUID = 1L;/***@seeHttpServlet#HttpServlet()*/

publicRequestTotalServlet() {super();//TODO Auto-generated constructor stub

}/***@seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//TODO Auto-generated method stub

response.setContentType("text/html;charset=UTF-8");

PrintWriter out=response.getWriter();//out.println("

流量統計計算器

");

ServletContext context=request.getServletContext();

List timeArray = (List) context.getAttribute("timeArray");

List valueArray = (List) context.getAttribute("valueArray");//out.println(timeArray.toString()+"\n");//out.println(valueArray.toString());//整合集合,采取map映射表的方式

Map dict = newHashMap();//初始化鍵值對

dict.put("timeArray", timeArray);

dict.put("valueArray", valueArray);//轉化為JSON字符串

String json =JSON.toJSONString(dict);

out.println(json);

}/***@seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//TODO Auto-generated method stub

doGet(request, response);

}

}

總結

以上是生活随笔為你收集整理的python监听器_监听器 - python成长中 - 博客园的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人3d动漫一区二区三区 | 黄色.com | 亚洲午夜无码久久久久 | 欧美色偷偷 | 日本欧美一区二区三区 | 性做久久久久久免费观看欧美 | 黄色录像网址 | 亚洲视频1区 | 蜜桃av噜噜一区二区三区小说 | 日本无翼乌邪恶大全彩h | 免费的黄色av | 久热精品视频在线观看 | 久久日韩| 午夜理伦三级理论 | 中文在线资源 | 人超碰| 婷婷中文字幕在线 | 国产精品一国产精品 | 亚洲国产精彩视频 | 五月婷婷影院 | 综合色影院 | 久久国产一区二区 | 特一级黄色 | 非洲一级片 | 四虎免费在线观看 | 秋霞影院午夜伦 | 可以直接看av的网址 | 国产免费a视频 | 日本一区二区三区在线观看视频 | 91精品久久久久久久久中文字幕 | 日韩视频h| 大肉大捧一进一出好爽mba | 亚洲精品成a人在线观看 | 求av网站| 欧美人妻一区二区 | 一本一道久久 | 乱lun合集小可的奶水 | 国内黄色一级片 | 91超薄丝袜肉丝一区二区 | 五十路熟母 | 亚洲国产综合视频 | 国产黄色片免费看 | 国产精品黄色大片 | 成人免费看片又大又黄 | a级黄色片免费看 | 日韩国产一区二区 | 欧美久久综合网 | 国产熟妇一区二区三区aⅴ网站 | 嫩草一区二区 | 羞辱极度绿帽vk | 国产粉嫩呻吟一区二区三区 | 亚洲成年网站 | 黄色一级片免费观看 | 国产成人精品123区免费视频 | 国产激情福利 | 伊人五月天 | 日韩免费视频观看 | 黄色动漫免费在线观看 | 日韩免 | 99精品久久 | wwwxxx国产 | 久久人人爽人人爽人人片亚洲 | 五月婷婷在线观看 | 玖玖爱资源站 | 欧美日韩免费在线观看 | 热逼视频| 日韩一区二区在线观看视频 | 日韩网站免费观看 | 小sao货大ji巴cao死你 | 日本中文在线视频 | 欧美日韩一二三四区 | 亚洲欧美精品在线观看 | 成人动漫一区二区三区 | 久久久精品免费看 | 亚洲www啪成人一区二区麻豆 | 日韩精品在线一区 | 青青免费视频 | 加勒比伊人 | 884aa四虎影成人精品一区 | 亚洲成人18| 麻豆影视在线播放 | 三点尽露的大尺度国产 | 亚洲熟妇一区二区三区 | 久久人人爽人人爽人人片亚洲 | 欧美人喂奶吃大乳 | 久操国产 | 日本黄色大片免费看 | 成年人在线视频网站 | 中文字幕不卡在线 | 久久成人网18网站 | xx久久| 神马午夜一区二区 | 亚洲一区二区三区无码久久 | 久久久电影 | 国产日韩欧美中文 | 光明影院手机版在线观看免费 | 国产中文字幕视频 | 青青草视频偷拍 | 无码h肉动漫在线观看 |