- 浏览: 656329 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (173)
- ajax (4)
- ant (4)
- css (14)
- eclipse (1)
- exe4j (0)
- hibernate (7)
- html (29)
- http (2)
- install4j (0)
- java (35)
- javascript (31)
- jdbc (1)
- jquery (2)
- jsp (15)
- linux命令 (8)
- ooad (2)
- properties (3)
- servlet (1)
- spring (3)
- struts (6)
- swing (4)
- thread (2)
- version_control (1)
- webservice (4)
- xml (4)
- 数据库 (19)
- 正则表达式 (5)
- 其他 (16)
- 面试题 (1)
- 框架 (9)
- maven (1)
- util (29)
- 设计模式 (1)
最新评论
-
herodie4444:
看起来好像不难。
Java Struts2创建Excel文件并实现文件下载 -
心轨翼:
Java遍历Set集合方法 -
魔鬼的献祭:
...
java的web开发分页工具类 -
Nmxszxsl:
能发一个没有被墙的代码到我的邮箱吗?万分感谢。54365156 ...
Google翻译post提交无长度限制的在线翻译例子 -
782763595:
...
jar包混淆器介绍
实现Servlet的接口过滤器接口Filter实现对用户访问页面的监控
JavaBean类:
import java.io.IOException; import java.util.Date; import java.util.Map; 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; import javax.servlet.http.HttpSession; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.csair.amp.web.webinf.common.model.LoginInfo; import com.csair.amp.web.webinf.utils.ReadPropertiesUtils; import com.csair.smms.effmonitor.dto.MonitorLog; import com.csair.smms.effmonitor.service.MonitorService; /** * 效能监控过滤器类 * * @author ahomeeye * * 2012-7-15 下午9:20:49 */ public class EffMonitorFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; HttpSession session = req.getSession(); String orginPath = req.getRequestURL().toString(); int index = orginPath.indexOf("/", 8); String reqPath = orginPath.substring(index); LoginInfo u = (LoginInfo) session.getAttribute("user"); if (u != null) { // 获取monitorService实现bean,此处无法使用spring的自动封装功能,monitorService ApplicationContext ac = WebApplicationContextUtils .getWebApplicationContext(session.getServletContext()); MonitorService monitorService = (MonitorService) ac .getBean("monitorService"); //ReadPropertiesUtils请参考http://ahomeeye.iteye.com/admin/blogs/1533760 Map<String, String> urlMap = ReadPropertiesUtils .getPropMap("effmonitor.properties"); if (urlMap.containsKey(reqPath)) { // 在监控的url包含有 MonitorLog m = new MonitorLog(); m.setUsername(u.getUsername()); m.setLogtime(new Date()); m.setFunction(urlMap.get(reqPath)); m.setClassName(reqPath); m.setMethodName(urlMap.get(reqPath)); monitorService.insertMonitorLog(m);// 保存效能监控日志 } } chain.doFilter(req, res); } @Override public void init(FilterConfig arg0) throws ServletException { } @Override public void destroy() { } }
JavaBean类:
package com.csair.smms.effmonitor.dto; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; /** * 监控日志实体 * * @author ahomeeye * * 2012-7-11 下午7:22:49 */ @Entity @Table(name = "MONITOR_LOG") public class MonitorLog implements Serializable { private static final long serialVersionUID = 7707875472196483005L; private int id;// 编号 private String username;// 用户名 private Date logtime;// 使用时间 private String function;// 使用功能 private String className;// 类名 private String methodName;// 方法名 public MonitorLog() { super(); } public MonitorLog(int id, String username, Date logtime, String function, String className, String methodName) { super(); this.id = id; this.username = username; this.logtime = logtime; this.function = function; this.className = className; this.methodName = methodName; } @Id @SequenceGenerator(name = "monitor", sequenceName = "seq_monitorlog", allocationSize = 1) @GeneratedValue(strategy = GenerationType.AUTO, generator = "monitor") @Column(name = "LOG_ID") public int getId() { return id; } public void setId(int id) { this.id = id; } @Column(name = "USERNAME", length = 20) public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Column(name = "LOG_TIME") @Temporal(TemporalType.TIMESTAMP) public Date getLogtime() { return logtime; } public void setLogtime(Date logtime) { this.logtime = logtime; } @Column(name = "FUNCTION", length = 20) public String getFunction() { return function; } public void setFunction(String function) { this.function = function; } @Column(name = "CLASS_NAME", length = 100) public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } @Column(name = "METHOD_NAME", length = 30) public String getMethodName() { return methodName; } public void setMethodName(String methodName) { this.methodName = methodName; } @Override public String toString() { return "MonitorLog [id=" + id + ", username=" + username + ", logtime=" + logtime + ", function=" + function + ", className=" + className + ", methodName=" + methodName + "]"; } }
发表评论
-
java读取.properties配置文件的几种方法
2017-09-22 09:38 606读取.properties配置文件在实际的开发中使用的很多,总 ... -
java前后台字符串编码转换
2016-12-15 15:52 733此文为应用中遇到字符串编码转换问题网上找资料解决问题记录笔记, ... -
JavaScript replace字符串替换函数的用法
2016-10-19 15:21 814replace 语法 stringObj.replace(rg ... -
JS前端DES加密参数
2016-07-08 14:27 11644DES加密为可解密的机制,这里使用DES进行加密方便后台解密还 ... -
JS Date函数整理
2015-01-30 10:43 1009JS Date 对象用于处理日期和时间。 创建 Date 对象 ... -
Java Struts2创建Excel文件并实现文件下载
2015-01-16 17:42 1823在做管理系统的时候,经常会用到文件的下载,特别是Excel报表 ... -
js中setInterval与setTimeout用法
2014-11-19 17:09 995下面详述js中的延时任务与周期任务的实现。 1.setTim ... -
java枚举类型(转)
2012-12-24 18:34 4927public class TestEnum { ... -
转 js中数据类型判断(转)
2012-11-05 11:07 1105转载自: http://www.cnblogs.com/yjh ... -
日期比较例子
2012-10-16 15:30 1157/** * 时间日期比较处理例子 * @autho ... -
包含日期和时间的选择器(转)
2012-09-27 16:11 1026转载自: http://www.cnblogs.com/swe ... -
基于hibernate的数据持久化处理简单实现类
2012-09-26 20:03 1651package com.forveross.plane.s ... -
jsp通用分页实现脚本
2012-09-26 17:12 1661工具脚本使用时只需替换url的问号前半部分即可。 此页面需要j ... -
Java过滤html标签
2012-09-21 09:54 1747方法一: String oldStr="< ... -
Web项目设置页面不缓存
2012-08-04 19:55 2796htm网页 <meta http-equiv=&qu ... -
Java文件保存与删除工具类
2012-07-26 15:46 4273import java.io.File; import ... -
linux修改系统时间(RHEL)
2012-07-20 16:53 911一般使用“date -s”命令来修改系统时间 比如将系统时间 ... -
使用AOP实现监控日志并保存
2012-07-13 20:42 5910最近项目中要做个效能监控的功能,经过考虑,觉得选择spring ... -
POI兼容读取Excel2003和Excel2007
2012-06-29 16:00 9396import java.io.File; import ... -
eclipse自动弹出提示的设置
2012-06-27 11:39 2092一、只弹出简单的单词提示(如输入system.的时候自动弹出o ...
相关推荐
使用spring+springmvc框架 ...使用了urlrewrite filter进行地址重写,实现伪静态页面 使用了sitemesh对网页进行布局和修饰 使用了loginFilter对访问进行登录过滤 使用了CheckCodeServlet生成验证码图片
Druid是阿里巴巴的一款java开源的为监控而生的数据库连接池组件。Druid是一个JDBC组件,它包括三部分:... 如下是一个基于Druid内置扩展StatFilter的监控实现:Druid 的 JavaDoc 文档请看 标签:阿里巴巴
- 几个摆烂class文件(基于Inceptor和filter),监控别人的流量,于此同时把流量都转发到自己机器的服务端(flask服务),且流量不进入控制器,实现不被攻击但是宕机 摆烂的jar 部署方式就是直接运行 ``` java -jar...
通过实现RobotCallback接口来实现,当然你也可以直接取roboter对象的属性来监控。 系统提供RobotMonitor实现,用户打印在cosole上运行期的状态。 RobotCallback m Monitor(); robby.setWebRobotCallback(monitor)...
Context: view filter mappings X X X X Context: list attributes X X X X Context: remove attributes X X X Context: start X X X Context: stop X X X Context: view web.xml X X X Context: view ...
欢迎访问Jetty文档 Wiki. Jetty是一个开源项目,提供了http服务器、http客户端和java servlet容器。 这个wiki提供jetty的入门教程、基础配置、功能特性、优化、安全、JavaEE、监控、常见问题、故障排除帮助等等。它...
IP Filter 仅允许从特定 IP 地址和网络访问 Radmin Server。 添加到日志文件的 DNS 名称和用户名信息。 智能防护密码猜测。 安全性已经构建到了 Radmin 的核心: Radmin 服务器有两个安全子系统。 因此...
IP Filter 仅允许从特定 IP 地址和网络访问 Radmin Server。 添加到日志文件的 DNS 名称和用户名信息。 智能防护密码猜测。 安全性已经构建到了 Radmin 的核心: Radmin 服务器有两个安全子系统。 因此...
12.9节使用Convolution Filter创建渐变效果 第十三章. 集合(439) 13.1节. 为ArrayCollection添加,排序和获取数据 13.2节. 过滤ArrayCollection 13.3节. 确定ArrayCollection数据项是否被修改 13.4节. 创建...
13.2.1 访问任务日志 技术点81 检查任务日志 13.2.2 调试不可预期的输入 技术点82 定位input split 问题 13.2.3 调试JVM 配置 技术点83 解决任务的JVM 启动参数 13.2.4 高效调试的编码准则 技术点84...
如何使用MongoDB+Springboot实现分布式ID? 如何在springcloud分布式系统中实现分布式锁? 如何用Redlock实现分布式锁 如何在IDEA启动多个Spring Boot工程实例 JWT如何在Spring Cloud微服务系统中在服务相互调时传
使用远程shell来进行监控和管理 i. 43.1. 连接远程shell i. 43.1.1. 远程shell证书 ii. 43.2. 扩展远程shell i. 43.2.1. 远程shell命令 ii. 43.2.2. 远程shell插件 v. 44. 度量指标(Metrics) i. 44.1. 系统指标 ...
数据科学.7 数据结构和算法的运用7.1 使用图进行数据建模和解决问题7.1.1 模拟图7.1.2 最短路径算法技术点52 找出两个用户间的最短距离7.1.3 friends-of-friends(FoF) 技术点53 计算FoF 7.1.4 ...
5.1.2 使用Intent Filter来为隐式Intent提供服务 121 5.1.3 使用Intent Filter作为插件和扩展 129 5.1.4 使用Intent来广播事件 132 5.2 Adapter简介 135 5.2.1 Android提供的部分Adapter简介 135 5.2.2 使用...
10.5.2.6 使用 HibernateTemplate 实现分页查询 254 10.6 小结 255 10.7 参考资料 255 10.7.1 MyEclipse生成的Spring+Hibernate无法保存数据问题的解决方法 255 10.7.2 MyEclipse生成的Spring+Hibernate无法保存数据...
一 服务启动 此项目集成了:Feign,Spring Cloud Bus,hystrix,swagger-ui,zuul-filter,配置中心功能 1)安装rabbitMQ 2)启动cloud—eureka :此时可访问 localhost:8761 3)启动 cloud-config 此处为配置中心 ...
4、使用SSH实现安全的登录 端口安全> ·SW端口安全是2层特性,提供3种保护: 1. 可以限定一个接口所能学习的MAC地址数量 2. 可以在一个接口静态绑定MAC地址 1.基于主机MAC来允许流量 ·可定义2个参数:授权...
项目管理员可以使用QC的Excel插件工具来执行需求的批量导入,进行导入之前请先确认已经访问过MQC主页,并安装了QCMSExcelAddin.exe插件。 插件下载地址: http://updates.merc-int.com/qual ... /msexcel/index.html...
1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和...