今天写了一个测试访问某个资源花费多少时间的过滤器,给大家分享一下
package com.own.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CalculateTimeFilter implements Filter {
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws ServletException,IOException{
//记录请求开始的时间
long beginTime = System.currentTimeMillis();
//调用下一个过滤器
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
chain.doFilter(httpRequest, httpResponse);
long endTime = System.currentTimeMillis();
long costTime = endTime - beginTime;
System.out.println("请求"+httpRequest.getRequestURI()+"花费了"+costTime+"毫秒");
//httpResponse.sendRedirect("bb.jsp");
}
public void destroy() {
// TODO Auto-generated method stub
}
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("filter is initialized");
}
}
这里也可以把花费时间记录到数据库中
分享到:
相关推荐
在"ISAPI Filter 限制 IIS 多线程访问"这个主题中,主要关注的是ISAPI过滤器如何可能影响IIS的并发处理能力。IIS作为一款高性能的Web服务器,其多线程模型允许同时处理多个客户端请求,以提高服务效率。但当ISAPI...
总之,`LogFilter`是一个用于记录HTTP请求详细信息的Java Web过滤器,它可以监控并记录用户的访问时间、IP地址、主机名和请求的URI。通过在`web.xml`中正确配置,我们可以确保这个过滤器在每次请求时都被触发,从而...
本实验的主要目的是为了实现基于时间的 ACL 配置及策略,限制销售部门在上班时间(8:00 至 18:00)访问工资查询服务器(IP 地址为 192.168.10.10),财务部门不受限制,可以随时访问。 ACL(Access Control List,...
1. JMeter是常见的性能测试工具,通过模拟大量用户并发访问来评估系统性能。 2. 性能指标包括响应时间、吞吐量、并发用户数等。 3. 性能测试通常包括负载测试、压力测试和稳定性测试。 四、接口测试 1. 接口测试...
2. **packet.dll**:提供了一个高级API,允许应用程序跨不同的Windows版本访问内核模块,实现了对BPF(Berkeley Packet Filter)驱动程序的直接访问。 3. **wpdpack.dll**:进一步封装了packet.dll,提供了与Unix/...
在Windows操作系统中,UVC(USB Video Class)摄像头是一种遵循USB...通过使用这个库,你可以快速实现对UVC摄像头高级特性的支持,如调整曝光时间、白平衡或其他自定义功能,从而提升你的应用程序的性能和用户体验。
为了调试和测试Caption Filter,可以使用DirectShow的调试工具如GraphEdit,它可以用来可视化滤波器图并进行实时操作。另外,通过设置DebugView或其他日志工具,可以跟踪Filter中的消息,帮助定位和解决问题。 综上...
在这个WindowsFormsApplication1中,可能包含了用于演示和测试布隆过滤器功能的代码和界面。 哈希函数的设计是布隆过滤器性能的重要组成部分。好的哈希函数应该具有以下特性: 1. **均匀性**:哈希函数应尽可能使得...
10. **测试**:确保编写单元测试和集成测试来验证你的统计逻辑,特别是边界情况,如跨年、跨月的访问统计。 通过掌握这些知识点,你将能够有效地实现Java中的访问量统计功能,覆盖到不同的时间粒度。
库会递归地访问这个目录下的所有子目录,查找其中的文件。它不仅能够处理单层目录,还能深入多层子目录,这在处理复杂的文件结构时非常有用。 该库的主要功能在于筛选。你可以设置过滤规则,比如根据文件的扩展名、...
- **VMware**:虚拟化平台,常用于模拟不同环境下的测试和调试场景。结合WinDBG,可以在VMware虚拟机中设置断点,跟踪内核代码执行流程,便于查找问题。 #### 5. VirtialWiFi在Vista下的编译问题 - **Virtual WiFi...
1. O(1) - 常数时间复杂度:访问数组的特定索引、查找哈希表中的元素等操作,其执行时间不随输入数据大小变化。 2. O(log n) - 对数时间复杂度:二分查找、平衡树操作等,执行时间与输入数据的对数成正比。 3. O(n) ...
项目管理员可以使用QC的Excel插件工具来执行需求的批量导入,进行导入之前请先确认已经访问过MQC主页,并安装了QCMSExcelAddin.exe插件。 插件下载地址: http://updates.merc-int.com/qual ... /msexcel/index.html...
3. **设置数据包过滤器**:如果需要特定的网络流量,可以使用`pcap_setfilter()`函数设置BPF(Berkeley Packet Filter)表达式,筛选出符合要求的数据包。 4. **捕获数据包**:调用`pcap_loop()`或`pcap_next()`...
在IT行业中,数据库连接池是优化数据库访问性能的关键组件之一,而`Druid`就是一款高效、强大且功能丰富的Java数据库连接池。本测试包针对`Druid`与`Spring`的集成进行了详尽的配置,旨在展示如何利用`Druid`进行...
2. **Web应用部署优化**:减少应用程序启动时的初始化工作,如延迟加载非必需的Servlet和Filter;合理组织静态资源,利用缓存技术提高访问速度。 3. **JAR包和WAR包瘦身**:删除无用的库文件,减少应用的体积,提高...
使用Spring Security,我们可以创建一个自定义的Filter或者使用`@PreAuthorize`或`@PostAuthorize`注解配合表达式语言进行访问控制。通过集成如`spring-security-ratelimiting`库,可以轻松实现基于HTTP头、URL或IP...