- 浏览: 401446 次
- 性别:
- 来自: 北京
最新评论
-
c253898303:
求和的时候说是调用store的基础方法,这个能重写吗?如果可以 ...
给Extjs的GridPanel增加“合计”行 -
rhhao:
这个附件怎么用呢?
自己写段代码批量修改照片的Exif数据 -
AndLong:
【转】关于烂代码的那些事(下) -
TonyLian:
无意中翻出这篇老博文,文章中留下的遗憾“纯JSP如何获取req ...
Spring获得各种客户端HttpServletRequest的方法 -
TonyLian:
注释中应该写“这里为什么要做XXX”,“为什么这里没有做XXX ...
【转】关于烂代码的那些事(中)
文章列表
由于我希望提供各种客户端来连接Spring提供的服务,
(客户端种类至少包括:Flex/AIR、MS WinForm、Ajax、纯JSP)
所以Spring必须识别不同种类的客户端,并从中取得request,这样才能拿到类似IP地址这样的客户端信息。
这里说的“取得”,不是在JSP的代码里,JSP里根本不用“取得”,request就在那里。
这里是说在,Spring的代码中,如何识别各种客户端,并取得request
HttpServletRequest request = null;
if (request == null) {
// JSP客户端
try {
...
【原创】用Sping发布WebService 我的需求是这样的:系统已经成型,仅仅通过基础架构的很小变化,达到将服务开放为WebService的目的。 1、不用或几乎不用修改已有代码 2、简单的xml配置 3、通用性强,各种开发环境皆可访问 4 ...
多年前(中学时代)的一档电视节目的主题歌,歌词写得非常好,曾经抄在笔记本的扉页。
今天终于借助Baidu又找到了,记录下。
敞开你的心扉,风吹愁云散。真情涓涓如流水,坎坷不言累。
敞开我的心扉,歌唱真善美。你我灵犀两心知,人间共相亲、相慰……
刚刚开始接触java数组的人都会听到一句类似的话:java是纯面向对象的语言,他的数组也是一个对象。于是乎,笔者就按照一个对象的方式来使用数组,心安理得。直到我接触到C的数组后,才发现将数组作为一个类来使用在实现上是多么的“不自然”。
首先我们看一下表面现象,数组创建的时候采用的是如下语句:
MyClass[] arr = new MyClass[9];
而普通类采用的是如下语句:
MyClass obj = new MyClass();
就是说,创建数组的时候不使用小括号传参。使得数组和普通类看起来就有很多不同,因为小括号里的参数是传递给构造方法的 ...
三十年一开花 三十年一结果
- 博客分类:
- 【其他】
就在刚才,中国男子足球国家队创造了一个新的历史:三十年来首次战胜宿敌韩国队!而且是3:0完胜!
作为一名“老”准球迷,在全场“我爱你”的助威声中心潮澎湃,更是在终场哨音响起的时候,禁不住落泪!
无数的辛酸,使现在观看中国队的比赛已经是有一搭无一搭的事情,下午无意中看到女足的比赛,才知道稍后有男足。
但是,今天高家班的表现,却令人惊喜,给全国的球迷们一份最好的春节礼物!
不仅仅是开门红,不仅仅是大比分完胜,比赛过程中队员们所表现出的 自信、把握机会、低失误率、平和心态,都是取胜的关键。
其实,写程序也是,中国人从来都不缺少能力,只要有了自信、把握机会、降低失 ...
由于分词工具用的用户字典有了更新,比如加入了一些出现频度较高的专有名词。这时候希望通过重建索引,使查询结果更加准确。但是,由于一些信息是当初建索引时加入的,而且这些信息是不能从原始文件中提取的,如当初的上传者是谁、上传日期 等。所以,不能够直接删除索引文件,重新来过。
为此,必须遍历原有索引,将其中进行了分析的Field重新分析并更新,不需要分析的Field则保持不变。
/**
* 为现有文件重新创建索引
* 例如当更新了用户字典时使用
*/
public void rebuildIndex(){
IndexReader ireader = null;
...
梅映雪:《临江仙》天涯孤旅只一人,四季日夜连晨昏,秋霜如风雨似针。长夜独行久,庭院几许深。忍看邻家天伦暖,遥闻欢颜笑语声,生非命薄却如今。梦醒人不见,泪眼映孤灯。(同是天涯沦落人,相逢何必曾相识?)《 ...
用百度搜索“什么时候使用静态”,会得到大致这些结果:
静态方法不用new对象可以直接调用
1.与类相关与对象无关 2.不需要对象的“轻”方法 3.工厂方法
如果某个方法是用频率较高,或者方法本身通用性较强,无需初 ...
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前 ...
- 2009-09-15 15:05
- 浏览 1145
- 评论(0)
《第9章 线 程》
通过使用线程(thread)可以在同一程序中同时进行多个活动。多线程程序设计比单线程程序设计要困难得多。所以如果一个类库可以帮助你从低层的多线程程序设计中解脱出来,那么一定要使用这个类。即使这样,有时候仍然要编写或者维护多线程代码,所以本章包含的建议可以帮助我们写出清晰、正确、文档组织良好的多线程程序。
【第48条】对共享可变数据的同步访问
<我的废话:>
如今我们喜爱Java、使用Java,很大情况下是由于Java的稳定、强大的表现,丰富的类库资源和出色的跨平台性。这些优势在使用Java作为B/S结构编程中的S的实现时都 ...
BOM(Byte Order Mark)是一个字符,它表明UNICODE文本的UTF-16,UTF-32的编码字节顺序(高字节低字节顺序)和编码方式(UTF-8,UTF-16,UTF-32, 其中UTF-8编码是字节顺序无关的)。
如下所示:Encoding Representation UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00
有些utf8编码没有这个BOM,该怎么区分了,是u ...
- 2009-06-19 13:34
- 浏览 11965
- 评论(2)
作为本章的最后一条,此条目是一条“纪律”,一条你必须遵守的纪律。虽然这是显而易见的道理,但却很容易被违反。
任何一个被抛出的异常都是API设计者有意为之的,其中蕴含了特定的含义,所以千万不能忽略它们!
try{
......
}catch (Exception e){
}
这样的代码并不十分罕见,这有可能是在代码堆砌阶段的“简单写法”,也可能是程序员“偷懒”的写法,当然也有可能是连“何为Exception”都不得而知的“高人”的作品。
这里犯了两个错误。首先,就是本条要强调的,它忽略了捕获来的异常。相当于是把 ...
所谓失败的原子性,就是在一个方法失败之后,使对象保持“它在被调用之前的状态”。因为,尤其是CheckedException发生后,一般是希望程序可以从异常中恢复过来的。
那么如何才能保持对象的状态呢?最简单的方法就是使用非可变类型的对象(见【第13条】)。因为无论什么时候,非可变类的状态都是不可改变的。
对于可变对象,常见的方法是在对其进行处理之前,先做参数有效性的检查(见【第23条】),如果参数有问题,马上就先抛出一个异常。这时候对象的状态还未改变。
另一种方法是,将处理的过程调整一下顺序,让可能抛出异常的处理写在前面,而会改变对象状态的处理 ...
- 2009-06-15 11:23
- 浏览 1617
- 评论(0)
这一条是写给那些自己写Exception的程序员的。
为了在异常发生后捕捉失败原因,一个异常的字符串表示应该包括所有“对该异常有贡献”的参数和域的值。也就是说在异常所能“携带”的信息中,尽量多的加入对调试人员有用的信息。
一个例子是 IndexOutOfBoundsException ,在这个下标越界的异常中,提示出了,最小小标、最大下标和当前下标的值,这样调试人员就可以很清楚的知道到底是上溢出了,还是下溢出了,溢出了多少。
这一条对于自己扩展Exception类来说,非常有意义。扩展时不仅仅是继承已有的异常就行了,纵然可以通过异常的名称来 ...
- 2009-06-15 10:54
- 浏览 1353
- 评论(0)
虽然在【第40条】中说到了,Java的throws语法的一大好处是,即使没有文档也可以知道要调用的方法都会抛出哪些异常。但是,绝对不推荐你这么做。一定要写好文档。
通过@throws标签,逐个地声明每一个被检查的异常,并写清每一个异常被抛出的条件(这个是通过throws语句所了解不到的)。如果一个方法可能抛出多个异常,不要用它们共通的父类异常来表示。甚至,有人连会抛出哪些异常都不关,就干脆 throws Exception (更有甚者 throws Throwable)。这种极端的做法,可能是初学者偷懒的做法,也可能是习惯了.Net,对Java的checkedExcept ...
- 2009-06-09 17:12
- 浏览 1583
- 评论(0)