学习笔记
文章平均质量分 73
ZeekerLin
技术 产品 管理
——若要前行,就得离开你现在停留的地方
展开
-
用spring MVC 生成Excel和PDF
HTML页面并不总是向用户显示数据输出的最好方式,Spring支持从数据动态生成PDF或Excel文件,并使这一过程变得简单。文档本身就是视图,从服务器以流的方式加上内容类型返回文档,客户端PC只要运行电子表格软件或PDF浏览软件就可以浏览。下面是一个简单实现的例子:界面两个button,一个实现excel ,一个pdf.为了使用Excel电子表格,你需要在你的classpath中加入‘原创 2008-11-27 11:57:00 · 22966 阅读 · 1 评论 -
log4j日志存储到数据库
一、前提条件 系统必须是使用LOG4J进行日志管理,否则方法无效。 系统必须包含commons-logging-xxx.jar,log4j-xxx.jar这两个JAR包,XXX为版本号。 二、操作步骤 1、创建日志表 要把日志持久化,必须在数据库中创建一张用来存储日志信息的表,表内字段为日志 的一个主要属性包括:转载 2015-08-14 16:52:06 · 3713 阅读 · 0 评论 -
将Apache的访问日志实时写入mysql数据库
在apache配置文件或是虚拟主机配置文件中(也就是配置LogFormat以及CustomLog部分)增加如下内容:LogFormat "INSERT INTO apachelog (ID, dateTime, IP, URL, code, referer, userAgent, size, request) VALUES ( NULL , \"%{%Y-%m-%d %H:%M:%S}t\转载 2015-08-14 16:53:07 · 2804 阅读 · 0 评论 -
网站统计中的数据收集原理及实现
网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理,并一步一步实际搭建一个实际的数据收集系统。 数据收集原理分析 简单来说,网站统计分析工具需要收集到用户浏览目标网站的行为(如打开某转载 2015-08-07 17:25:06 · 4251 阅读 · 1 评论 -
服务端监控方案
需求功能性监控(availability):我们希望能够及时的发现线上的bug,异常。性能监控与调优(performance):我们希望能够识别可能的性能瓶颈,并且有数据支撑方便对性能进行调优。比如慢速SQL,缓存命中率,链接池等。预警报警:我们希望能够第一时间收到线上异常,进行处理。辅助线上故障定位、故障分析运维支持:我们系统能够有数据支撑我们进行容量规划、报警和扩容,等。自动化运维:比转载 2015-08-11 17:11:41 · 6162 阅读 · 0 评论 -
用户行为分析研究之数据采集
1.1用户行为分析的重要性 用户行为分析的重要性,我想做个网站的人都会用很清晰的认识,本来我想谈谈自己想法,但感觉自己毕竟还是做技术的,很难清晰的从商业价值的角度来分析它的重要性,因此放弃了想阐述自己意见的想法。当我第一次见到百度统计,和谷歌分析网站,就有那种惊鸿一瞥的激动,很想自己也能写出一套这样的网站,这也是我持续研究用户行为分析的初衷。 我估计还是有很多童鞋对“用户行为分析”的概转载 2015-08-13 15:07:40 · 10518 阅读 · 0 评论 -
深入理解 Session 与 Cookie
摘要 Session 与 Cookie 不管是对 Java Web 的初学者还是熟练使用者来说都是一个令人头疼的问题。在初入职场时恐怕很多程序员在面试的时候都被问到过这个问题。其实这个问题回答起来既简单又复杂,简单是因为它们本身只是 HTTP 协议中的一个配置项,在 Servlet 规范中也只是对应到一个类而已;说它复杂原因在于当我们的系统大到需要用到很多 Cookie 的时候,我们不得不考虑转载 2015-08-07 13:10:31 · 973 阅读 · 0 评论 -
Ehcache详细解读
Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。网上中文的EhCache材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行google;对于API,官网上介绍已经非常清楚,请参见官网;但是很少见到特性说明和对实现原理的分析,因此在这篇文章里面,我会详细介绍和分析EhCache的特性,加上一些自己的理解和思考转载 2015-08-06 13:59:51 · 9362 阅读 · 1 评论 -
eclipse中使用git
有的eclipse已经自带了GIt了,就不用安装了。如果,想重新安装,可以先卸载GIT,卸载不同eclipse卸载不一样:1.在Eclipse中依次点击菜单"Help"->"About Eclipse"。弹出图1所示对话框,点击"Installation Details"按钮,弹出图2所示对话框。选中要卸载的插件(按住Ctrl可多选),点击"Uninstall..."按钮。转载 2015-07-24 13:28:28 · 986 阅读 · 0 评论 -
一致性哈希算法与Java实现
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1转载 2015-08-09 19:33:27 · 1428 阅读 · 0 评论 -
Ehcache配置详解及CacheManager使用
缓存配置 name:缓存名称。 maxElementsInMemory:缓存最大个数。 eternal:对象是否永久有效,一但设置了,timeout将不起作用。 timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲转载 2015-06-04 17:35:30 · 2661 阅读 · 0 评论 -
Redis介绍及常用命令
一 Redis介绍 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。 Redis能运行在大多数POSIX(Linux, *BSD, OS X 和Solaris等)系统上,官方没有支持Windows的版本。目前最新转载 2015-04-20 09:59:15 · 902 阅读 · 0 评论 -
SOAP Webservice和RESTful Webservice
SOAPSOAP最早是针对RPC的一种解决方案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得现在开发人员觉得SOAP很重,使用门槛很高。在SOAP后续的发展过程中,WS-*一系列协议的制定,增加了SOAP的成熟度,也给SOAP增加了负担。 REST转载 2014-08-29 17:17:11 · 977 阅读 · 2 评论 -
关于Apache的日志
Apche日志系列(1):访问日志 想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道。访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置。 一、访问日志的格式 Apache内建了记录服务器活动的功能,这就是它的日志功能。这个文章介绍的就是Apache的访问日志、错误日志,以及如何分析日志数据,如何定制A转载 2015-08-14 15:54:52 · 1128 阅读 · 0 评论 -
APM的前世今生:服务经验加速国内APM未来发展
用户体验是衡量应用好坏的最终标准。作为一款成功的APM解决方案厂家,除了有着数据分析的持续增长的能力,APM产品也应有独特的差异化,从而形成企业的核心竞争力,拉开与其他产品的距离并提供更强大的优势,给用户提供更好的用户体验及监控管理。所以,丰富的客户服务经验,将是加速APM发展的重要因素。AD:近几年在云、移动、大数据的快速发展的时代下,智能设备终端已经把人转载 2015-08-11 16:31:38 · 2405 阅读 · 0 评论 -
基于Spring的远程访问与Web Service
<br />Spring框架对远程访问技术提供了很好的集成机制,Spring目前支持的技术包括:<br />1. Remote Method Invocation (RMI)。通过 RmiProxyFactoryBean和RmiServiceExporter,Spring支持以java.rmi.Remote和java.rmi.RemoteException 定义的传统RMI接口,提供经由RMI的透明访问;<br />2.Spring内置的HTTP invoker远程调用机制。Spring开发团队意识到在RM转载 2010-08-29 16:02:00 · 3457 阅读 · 0 评论 -
Spring2.5+MINA2搭建Socket Server
1、下载相应的开发包http://mina.apache.org/,MINA2.0版本包含了spring开发包,还需下载其他相关包,我的工程用到的包如下图: 2、配置spring的applicationContext.xml,配置mina服务;原创 2011-09-09 19:02:04 · 18227 阅读 · 7 评论 -
Spring+ActiveMQ实现消息收发和订阅
1、去apach网站下载ActiveMQ,地址为http://activemq.apache.org/download.html; ActiveMQ类似tomcat可以独立启动,相当于开了消息服务,包括连接客户端管理、消息存储设置,对于复杂的系统还可以设置双机热备、负载均衡等; ActiveMQ有个管理界面,可以查看客户端连接情况,消息队列的发送和接收情况等,也可以直接新原创 2013-10-28 12:27:16 · 18150 阅读 · 1 评论 -
Spring中的事务控制
Chapter 1. Spring中的事务控制(Transacion Management with Spring)Table of Contents1.1. 有关事务(Transaction)的楔子1.1.1. 认识事务本身1.1.2. 初识事务家族成员1.2. 群雄逐鹿下的Java事务管理1.2.1. Java平台的局部事务支持1.2.2. Java平台的分布式事务转载 2015-01-19 11:27:45 · 21320 阅读 · 0 评论 -
Git如何Check Out出指定文件或者文件夹
在进行项目开发的时候,有时候会有这样的需求那就是:我们只希望从Git仓库里取指定的文件或者文件夹出来。在SVN里面,这非常容易实现,因为SVN基于文件方式存储,而Git却是基于元数据方式分布式存储文件信息的,它会在每一次Clone的时候将所有信息都取回到本地,即相当于在你的机器上生成一个克隆版的版本库。因此在Git1.7.0以前,这无法实现,但是幸运的是在Git1.7.0以后加入了Sparse C转载 2015-10-10 10:23:25 · 14987 阅读 · 0 评论 -
Java NIO原理图文分析及代码实现
前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoop的RPC机制的实现主要用到了两个技术:动态代理(动态代理可以参考博客:http:/转载 2015-09-18 17:16:35 · 545 阅读 · 0 评论 -
智能绑定微信公众号功能是如何实现的
简单来说就是由程序模拟登陆到微信公众平台,抓取需要的内容(鉴权参数)后,回填到自己的系统中,来完成一种智能化的、无需用户干扰的功能,以提高用户体验。基本思路:通过用户提供的用户名、密码模拟登陆到公众平台登陆后转到特定的页面来获取需要的内容获取到内容后回填到系统,完成绑定知道基本思路了,下面开始正式动工,在开始之前需要有一个前提:你是个程序猿(或者至少懂一门开发语言)。转载 2015-08-20 11:05:29 · 1585 阅读 · 0 评论 -
Web用户行为跟踪收集
收集用户隐私的行径眼下已不再是什么新鲜的话题(与其说是收集,不如说是偷窥),就连G、MS也屡出风头,当然事出有因,企业通过无法八门的各种手段了解用户的行为,进而作为决策支持的依据;通常表现为跨领域的收集(浏览器、智能系统、OS etc.)、业务、产品数据的收集,当然收集的方式也不一而论。以下展示通过客户端脚本方式收集Web站点用户行为数据的实现方式,以此来判断页面加载过程、执行时间、用户停留时间、转载 2015-08-07 16:50:17 · 8185 阅读 · 0 评论 -
创建mysql表分区的方法
mysql测试版本:mysql5.5.28mysql物理存储文件(有mysql配置的datadir决定存储路径)格式简介数据库engine为MYISAMfrm表结构文件,myd表数据文件,myi表索引文件。INNODB engine对应的表物理存储文件innodb的数据库的物理文件结构为:.frm文件.ibd文件和.ibdata文件:这两种文件都是存放innod转载 2015-08-07 10:55:22 · 619 阅读 · 0 评论 -
高性能、高流量Java Web站点打造的22条建议
流量的激增让众多机构“疲于奔命”,高扩展性、面向服务的架构已成为当务之急。这里为大家分享打造高流量网站的22个建议,其中包括数据库、缓存、架构等多个方面。AD:从2005年-2013年,Ashwanth Fernando曾供职于Best Buy、Pearson VUE、Walgreens、Walmart eCommerce等多家知名公司,现在Apple从事高转载 2015-08-06 14:32:22 · 1399 阅读 · 0 评论 -
访问者行为追踪比较——Web服务器日志与JavaScript页面标记
当前网站分析中对访客行为的追踪,最常用的方式Web服务器日志和JavaScript页面标记两种方式。 Web服务器日志基本原理用户对网页的提出的一次请求,就称为一次命中。通过Web服务器日志软件,将请求信息记录在日志文件中,通过日志分析程序即可获得点击流(访问流)数据。请求信息中包含:请求 URL状态时间来源链接 Referer用户代理转载 2015-08-07 16:47:19 · 5987 阅读 · 0 评论 -
利用Druid实现应用和SQL监控
一、关于DruidDruid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。 SQLParser Druid可以做什么? 1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的St原创 2015-08-11 13:36:44 · 47288 阅读 · 8 评论 -
JFreeChart存储为PDF,支持中文显示
下面的代码是从jfreechart的Demo中复制后做了修改,demo中的代码存储pdf时,中文文字不能显示,解决的办法是将 //DefaultFontMapper mapper = new DefaultFontMapper();语句替换为 AsianFontMapper mapper = new AsianFontMapper("STSong-Light","Uni原创 2008-11-27 11:58:00 · 1521 阅读 · 0 评论 -
Openlayers发布谷歌离线地图
例子是基于OpenLayers-2.13,离线地图下载工具推荐OGCer,可以从这里下载,找了几个下载工具,这个还是比较不错的。这个工具下载好离线地图后会自动生成一个基于openlayers发布的html文件,把地图范围等都计算好了,但这个版本是2.07的,我在此基础上做了修改,增加了一些功能。不多说直接上代码了,都是js代码,拷贝过去直接可以用了,路径放在OpenLayers-2.13\原创 2013-12-16 15:54:15 · 9766 阅读 · 5 评论 -
JSTL 学习、应用记录
JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以 站点或应用程序为导向的操作。一旦您创建了定制标记库 ( 简称 taglib) ,当您扩展项目或转向另原创 2008-11-27 11:35:00 · 469 阅读 · 0 评论 -
图片文件合法性校验
/** * 效验图片文件是否合法,包括后缀名、大小和尺寸 * * @author Tony Lin Added on 2008-11-18 * @param fileEntity * @throws FileSafetyException */ public static void fileSafetyCheck(File原创 2008-11-27 11:58:00 · 2527 阅读 · 1 评论 -
简易的JS验证FORM表单特殊字符,防范SQL语句漏洞
在一些查询页面,如果查询条件输入一些特殊字符,比如“--”,“‘,,’”,““”等会使查询的SQL语句出错,为了避免这些情况的发生,在页面给查询条件增加一些特殊字符的检测。自己写了两个JS方法,功能相对比较简单,有待完善,代码如下: /** * 防范SQL注入漏洞,检测输入的字符 * 需要检测的特殊字符及字符串有:",","-","/","//","","%",""" * @par原创 2008-11-27 11:56:00 · 7259 阅读 · 1 评论 -
身份证号码与出生日期的JS验证
/** * 身份证号码与出生日期的验证 * 前提是:身份证号和出生日期格式都已经过格式验证 * 身份证号为15或18位,出生日期格式为XXXX-XX-XX */ function checkIdAndBirthday(strId,strBrithday){ //alert(strId); //alert(strBrithday);原创 2008-11-27 11:54:00 · 8235 阅读 · 0 评论 -
邮件地址和电话号码的JS验证
/** * 邮件地址验证 */ function checkEmail(strEmail) { var pattern=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(/.[a-zA-Z0-9_-])+/; flag=pattern.test(strEmail); if (flag) {return true;}原创 2008-11-27 11:53:00 · 1731 阅读 · 0 评论 -
对密码字段进行加密(MD5)
为了避免用户密码直接裸露存储在数据库中,应对用户密码进行加密,有些数据库就有加密函数,比如oracle,有个示例如下,进行对密码字段加密: CREATE OR REPLACE function md5(input_string VARCHAR2) return varchar2 IS raw_input RAW(128) :=原创 2008-11-27 11:50:00 · 3956 阅读 · 0 评论 -
调用父窗口js方法
opener.location="javascript:submitForm(<%=strPage %>)";其中submitForm()方法是opener窗口里的js方法。转载 2008-11-27 11:47:00 · 771 阅读 · 0 评论 -
JFreeChart使用心得与例子
一、JFreeChart的介绍与获取 JFreeChart开发包是一个开源的Java图形开发包,它从柱形图,饼形图,到雷达图,蜡烛图等等无所不包,可以在c/s,b/s,甚至是实时环境都能一显身手。 当前的JFreeChart的最新版本为jfreechart-1.0.11.zip。可以到http://www.jfree.org/jfreechart/index.html找到 二、J原创 2008-11-27 11:55:00 · 967 阅读 · 0 评论 -
Javascript身份证号校验
/***判断身份证号码格式函数*公民身份号码是特征组合码,*排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码*/function isChinaIDCard(StrNo){ StrNo = StrNo.toString(); if(StrNo.length == 15){ if(!isValidDate("19"+原创 2008-11-27 11:51:00 · 1142 阅读 · 0 评论 -
下拉菜单select值的获得
对于单选select框: <input name="a" type="text" value="" size="20" /> <select onchange="formname.a.value=this.value"> <option value="0">0 1 3 对于可多选select框: <select name=selectlist multiple=原创 2008-11-27 11:46:00 · 865 阅读 · 0 评论 -
JSP实现的分页(基于spring2.5)适合轻量级数据量
//大致代码如下 //页面获得control查询结果list List userList = (List)request.getAttribute("userList"); //分页参数设置 //分页显示,每页显示10条记录 int pageSize = 10; //总的页数 int pageSum = (userList.size()+p原创 2008-11-27 11:45:00 · 1372 阅读 · 0 评论