背景由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同。存在着在一个项目中,不同的版本,不同的框架共存。导致日志输出异常混乱。虽然也不至于对系统造成致命伤害,但是明显可以看出,架构不够精良,追求极致略有不足。其中有一些标准通用接口,标准实现,各种桥接器的存在,下面就让笔者树立一下这些框架之间的关系。从上图中,我们可以看到4部分。接口:将所有日志实现适配到了一起,用统一的接口调用。实现:目前主流的日志实现旧日志到slf4j的适配器:如果使用了slf
系统 2019-08-29 23:17:50 2510
一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上Audi后他说"开奥迪车!"。你一定说:这人有病!直接说开车不就行了?!而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过这种方式来坐车的!幸运的是,这种有病的现象在OO语言中可以避免了。
系统 2019-08-29 23:01:33 2510
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反向代理为http://www.javapeixun.com.cn/的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0
系统 2019-08-29 22:59:17 2510
有时候真的很佩服老外的认真劲,有个故事这么说的,一个老外在自己的门上开了两个洞,大的是给狗进出用的,小的是给猫进出用的。换了中国人肯定想不明白为什么那么费劲,但老外就是这样,他们管这叫一丝不苟。OK,我们今天说的也是类似的一个一丝不苟的故事,想必大家都知道团购网站的鼻祖Groupon,但老外在这个问题上又较真了,这不,今天雷锋网发现了一个叫Gaypon的网站,顾名思义,Gaypon=Gay+Groupon,也就是说,这是一个专门为同志们设立的团购网站。实际
系统 2019-08-29 22:58:30 2510
Web层代码量比较大,涉及的地方也比较多,考虑到文章过于庞大,所以分两篇写。我们还是先从主要的action开始吧。在com.game.products.web.actions包中新建ProductsAction,这是一个DispatchAction,代码如下:packagecom.game.products.web.actions;importjava.util.List;importjavax.servlet.http.HttpSe
系统 2019-08-29 22:54:19 2510
最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现。对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考。我使用的是Maven来管理项目,需要的Jar包我给大家贴出来。quartz-1.8.5.jarcommons-logging.jarspring-core-3.0.5.RELEASE.jarspring-beans-3.0.5.RELEASE.jarspring-context-3.0.5.RELEASE.jarsp
系统 2019-08-29 22:51:06 2510
SublimeText的安装及基本配置一、下载汉化破解版本。http://download.csdn.net/download/yangyanghaoran/5168585二、安装packagecontrol按ctrl+~来调出控制台,然后在http://wbond.net/sublime_packages/package_control/installation复制以下代码importurllib2,os;pf='PackageControl.subli
系统 2019-08-29 22:49:50 2510
2.List接口List接口继承了Collection接口以定义一个允许重复项的有序集合。该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。(1)面向位置的操作包括插入某个元素或Collection的功能,还包括获取、除去或更改元素的功能。在List中搜索元素可以从列表的头部或尾部开始,如果找到元素,还将报告元素所在的位置:voidadd(intindex,Objectelement):在指定位置index上添加元素elementboolean
系统 2019-08-29 22:44:16 2510
AudioSystem类充当取样音频系统资源的入口点。此类允许查询和安装在系统上的混频器。AudioSystem包括许多在不同格式间转换音频数据的方法,以及在音频文件和流文件之间进行转换的方法。它还提供不用显式处理混频器即可直接从AudioSystem获得Line的方法AudioFormat是在声音流中指定特定数据安排的类。通过检查以音频格式存储的信息,可以发现在二进制声音数据中解释位的方式。Line.Info类Line.Info对象包含关于行的信息。只有
系统 2019-08-29 22:39:17 2510
字符串函数bcmpbcopybzeromemccpymemchrmemcmpmemcpymemicmpmemmovememsetmovmemsetmemstpcpystrcatstrchrstrcmpstrcmpistrcpystrcspnstrdupstricmpstrlenstrlwrstrncatstrncmpstrncmpistrncpystrnicmpstrpbrkstrrevstrsetstrstrstrtokstrupr数学函数absacos
系统 2019-08-29 22:33:30 2510