摘要: Pushlets是在类名为Pushlet的servlet的init方法中进行初始化的。一般我们会在web.xml配置pushlet的时候,指定其servlet在Web应用启动时就进行初始化,即便这样,还是有可能初始化失败,导致整个Pushlets失效。Pushlet.init代码如下: 1 publ... 阅读全文
posted @ 2014-06-14 20:50 Bryan Wong 阅读(3127) 评论(2) 推荐(1) 编辑
摘要: 方法一:假定$SOLR_HOME为E:\Software\apache-tomcat-6.0.35-solr\solr步骤1,从solr-4.3.0\dist复制solr-4.3.0.war到$SOLR_HOME并重命名为solr.war;步骤2,将solr-4.3.0\example\solr复制... 阅读全文
posted @ 2013-05-19 21:27 Bryan Wong 阅读(15331) 评论(2) 推荐(3) 编辑
摘要: Session fixation attack(会话固定攻击)是利用服务器的session不变机制,借他人之手获得认证和授权,然后冒充他人。如果应用程序在用户首次访问它时为每一名用户建立一个匿名会话,这时往往就会出现会话固定漏洞。然后,一旦用户登录,该会话即升级为通过验证的会话。最初,会话令牌并未被赋予任何访问权限,但在用户通过验证后,这个令牌也具有了该用户的访问权限。防止会话固定攻击,可以在用户登录成功后重新创建一个session id,并将登录前的匿名会话强制失效。Spring Security默认即可防止会话固定攻击。具体实现方式[3.1版本]如下:HttpConfigurationBu 阅读全文
posted @ 2013-05-12 20:16 Bryan Wong 阅读(9742) 评论(0) 推荐(0) 编辑
摘要: 1,java.util.Timer和TimerTask是JDK1.3自带的定时任务实现类,使用非常简单,不过由于依赖系统时间,在时间跳变的情况下,执行会出现一些变化。如果时间向后(未来方向)修改,不影响任务执行,但如果向前(过去方向)修改,取决于时间调整的幅度,定时任务可能延迟很久才能回复正常,这在程序运行过程中,可能并不是我们所期望的的,对于一些依赖定时任务执行的关键任务 ,可能导致严重后果。 /** * @param args */ public static void main(String[] args) { TimerTask task = new TimerTask() {... 阅读全文
posted @ 2013-04-14 21:40 Bryan Wong 阅读(2423) 评论(0) 推荐(0) 编辑
摘要: 本文通过代码简单展示了采用TermQuery和FuzzyLikeThisQuery进行索引查询,并且展示了如何在查询结果中高亮显示匹配的关键字(这在实际使用中是一个很有用的功能) 1 public class Indexer 2 { 3 4 /** 5 * @param args 6 * @throws IOException 7 * @throws LockObtainFailedException 8 * @throws CorruptIndexException 9 * @throws InvalidToken... 阅读全文
posted @ 2013-03-09 23:26 Bryan Wong 阅读(7660) 评论(0) 推荐(0) 编辑
摘要: 1, jettisonjettison可以转换json和xml格式,并通过这种途径来将json字符串解析成Java对象。其采用STAX的方式进行json转换,用法如下public class Parse{ /** * @param args * @throws JSONException */ public static void main(String[] args) throws JSONException { JSONObject userString = new JSONObject("{\"jaxb\":{\"name\" : \&q 阅读全文
posted @ 2013-02-15 20:15 Bryan Wong 阅读(1650) 评论(1) 推荐(0) 编辑
摘要: 原创,type=1,直接在微博上发表,艾特某个人,收听者首页能展示转载,type=2,界面上又叫转播,名字起的乱七八糟的,收听者首页能展示私信,type=3,私信去,只能私信回对话,type=4,看到别人一条微博选择对话,后台又叫回复,收听者首页不展示,“提到我的”页能展示空回,type=5,空回一种扯蛋的类型,看着像原创,其实像对话,收听者首页不展示,“提到我的”页能展示评论,type=7,评论是否又叫点评?蛋疼的API文档提及,type=6,迄今还不知道这是什么个鸟类型,知道了再更新 阅读全文
posted @ 2012-12-16 16:18 Bryan Wong 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 给你一段文字,让你检测它是什么语言?有两个开源的项目可以使用。一个是Apache Tika,一个是language-detection。language-detection是google Code上开源的一个语言检测软件包,不折不扣的日货,但使用起来非常方便,其project链接如下:http://code.google.com/p/language-detection。基本上,你只需要引用langdetect.jar和其依赖的jsonic-1.3.0.jar(也是日货)即可,下面是一个简单的例子。新建一个Java工程,将上述两个jar包引入工程,新建一个测试类,如下:importjava.n 阅读全文
posted @ 2012-09-26 22:27 Bryan Wong 阅读(8469) 评论(2) 推荐(1) 编辑
摘要: 很多朋友的博文,講到使用Quartz來進行任務調度,很簡單就是告訴你引用一個jar包,實現一個Job接口,然後schedule起來就OK了,此外講的最多的是CronTrigger的使用。給人的假象是任務調度原來真是如此的簡單。 但是作為一個新手,你可知道Job會佔用多少線程?能否滿足自己調度的性能需要呢?Quartz的線程使用看起來很簡單,配置org.quartz.threadPool.threadCount這個參數,框架會自動為你初始化threadCount個WorkThread,一切省心省力。然而,Job和Thread是否一一對應呢?很明顯不是。當Job數量等於Thread數的時候,其執行 阅读全文
posted @ 2012-06-17 17:12 Bryan Wong 阅读(12511) 评论(0) 推荐(1) 编辑
摘要: Spring Source吭哧哼哧,从2011年2月开始到2011年2月终于把spring-data-mongo-1.0.1给Release出来了。从1.0.0.M1到1.0.0.M3的版本叫做Spring Data Document。1.0.0.M4开始更名为Spring Data MongoDB 1.0.0 M4,不过官网并没有特别说明,乍一看有点莫名其妙,尤其是MongoTemplate从org.springframework.data.document.mongodb移动到org.springframework.data.mongodb.core,官网的HelloWorldExampl 阅读全文
posted @ 2012-05-01 21:32 Bryan Wong 阅读(16315) 评论(1) 推荐(0) 编辑