搜索到与相关的文章
Java

java获取真实客户端ip地址 <>

在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 2346

编程技术

设计模式之模板方法模式

一.模式概述模板方法(TemplateMethod)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法留给子类去实现,这实际上就是在使用模板模式.所谓的模板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的模板模式."更近一步可以这样来理解:"准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.

系统 2019-08-29 22:51:31 2346

编程技术

CodeSmith 4 Release 注册方法

由于前段时间装的CodeSmith4Beta过期,正好也收到邮件Release发布。可能各位已经使用上V4Beta的XD们很快也要遇到这个问题。于是下载了最新版,只有10天试用,本人比较懒,用了新版就不想换回老版了,于是试着摸索了V4的注册方法,居然成功了。实在没想到……首先下载Release版的CodeSmith4,地址为:www.codesmithtools.com/download/CodeSmithProfessional-40.msi安装完成后,

系统 2019-08-29 22:42:17 2346

编程技术

挖掘FP-Tree

关联规则如何并行实现呢?一个很直观的想法是要么分数据要么分计算。本文要说的是分数据,想法来自mahout的fp-tree并行实现。其中分数据的博客已在前篇mahout关联规则FPGrowthDriver源码分析之如何分数据中说明,如何建树可以在网上查找(这个相对来说比较简单)或者直接看此片论文:《MiningFrequentPatternswithoutCandidateGeneration》,这篇博客要说的是如何挖掘已经建好的FP-tree,也是参考《M

系统 2019-08-29 22:05:15 2346

Java

将BIRT整合到自己的Java项目中(二)

关于编写viewer,关键在于使用ReportEngineAPI,这个在birt官方文档上有很详细的描述。这里将几个主要环节总结一下:启动ReportEngine这里需要注意启动ReportEngine的开销问题和图片链的协议的问题。使用IReportEngineFactory比每次new一个出来性能方面要好很多。使用HTMLEmitterConfig可以使得生成的HTML报表中的图片的src指向一个web资源而非file资源。publicIReportE

系统 2019-08-12 09:30:39 2346

编程技术

利用CORS实现跨域请求

跨域请求一直是网页编程中的一个难题,在过去,绝大多数人都倾向于使用JSONP来解决这一问题。不过现在,我们可以考虑一下W3C中一项新的特性——CORS(Cross-OriginResourceSharing)了。本文的所有代码均来自http://www.html5rocks.com/en/tutorials/cors/,如果您对其中的任何技术细节存在疑问,请以原文为准。客户端创建XmlHttpRequest对象对于CORS,Chrome、FireFox以及

系统 2019-08-12 09:30:32 2346

各行各业

博弈论 简介

1博弈论简介2博弈论基础知识34(一)巴什博奕(BashGame):56只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜.78若(m+1)|n,则先手必败,否则先手必胜。910显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜.因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者

系统 2019-08-12 09:27:07 2346

各行各业

Spring Atomikos分布式事务

分布式事务必须使用的数据库支持并且提供XA连接驱动如mysql的5.0+版本驱动中就有com.mysql.jdbc.jdbc2.optional.MysqlXAConnection等这些对XA分布事务支持的连接,所以理所当然我们要使用XA事务就必须使用这种XA连接,mysql5.1是支持分布事务的,mysql驱动需要5.0+Atomikos分两个:一个是开源的TransactionEssentials,一个是商业的ExtremeTransactions。T

系统 2019-08-12 09:27:02 2346

各行各业

关于分布式开发的资料

我说的都是基于TCP消息传递的分布式。网络层:Netty,Mina.我自己用的Netty,公司用的Mina.(都是NIO,异步,当你有同步需求的时候很蛋疼,比如负载均衡)消息传输格式:googleprotocolbuffer(我用的就是这个,序列化和饭序列化速度很快,缺点:要定义格式文件,没有继承的概念!!用编译器生成java代码,所以不要想extends)集群管理,心跳,FailOver通知,leader选举:zookeeper(基本快成行业标准了。)负

系统 2019-08-12 09:26:41 2346