3、Struts2之咬文嚼字
来源:互联网 发布:网络被骗有追回钱吗 编辑:程序博客网 时间:2024/06/12 01:29
读文章可以咬文嚼字,读代码也可以。今天随意(随意是指读哪个类很随意,读起来实际是咬文嚼字)地阅读Struts2的几个类的代码 ,有点心得,特记录如下。
在eclipse的workspace中,很自然会先读org.apache.struts2 这个包的类,因为它是最前面显示。StrutsStatics 接口没有任何方法,有几个final static 变量。这样设计,是为了让类去实现该接口,方便直接使用静态变量。其实一般做法是,写一个常量类,里面尽是一些静态常量,谁要用就直接用类名来引用即可。如果说这样每使用一个常量便要多写个类名,那在JDK5中可以通过静态import来实现省略类名的书写。这两种做法中,我比较认同后者。
/*......*/
public static final String PAGE_CONTEXT = "com.opensymphony.xwork2.dispatcher.PageContext";
public static final String STRUTS_PORTLET_CONTEXT = "struts.portlet.context";
}
在读Struts2的异常类StrutsException时,发现它扩展了XWorkException,而XWorkException是属于WebWork框架的(准确地说是XWork)。仔细一看,又发现StrutsException和XWorkException都实现了Locatable接口。既然StrutsException 扩展了 XWorkException ,就自然也成为Locatable的子类啦,为什么还要去显式实现Locatable接口呢?再细看,StrutsException并没有实现Locatable的方法。这样看来,StrutsException 显式实现Locatable接口是多此一举了。也许唯一的作用是让人一看就可直接知道StrutsException是Locatable的子类。
StrutsException
*/
public class StrutsException extends XWorkException implements Locatable
/*
XWorkException
*/
public class XWorkException extends RuntimeException implements Locatable
/*
Locatable 接口只有一个方法
*/
public interface Location {
public Location getLocation();
}
在RequestUtils类中,我发现有个方法的判断语句的写法不错,但又不太准确。代码如下:
if (null != servletPath && !"".equals(servletPath)) {
return servletPath;
}
一般判断字符串既不为null又不为空(""),会是以下两种写法。
if (servletPath != null && servletPath.length()>0)
- 3、Struts2之咬文嚼字
- 咬文嚼字之 Java 版
- 咬文嚼字
- 咬文嚼字
- 咬文嚼字之:ADL 和 Koening
- UML类图之咬文嚼字(转载)
- UML类图之咬文嚼字(转载)
- 也咬文嚼字
- C++咬文嚼字-'Evil cast'
- C++咬文嚼字-'Functions'
- ADO.NET的咬文嚼字
- 咬文嚼字中医启蒙-性味
- 咬文嚼字:抚养 or 抚养
- NLTK库来"咬文嚼字"
- C++咬文嚼字-'Hijack const'
- C++咬文嚼字-'0 or NULL'
- 咬文嚼字中医启蒙-归经
- [CTO札记]咬文嚼字除BUG
- 利用语音Modem实现电话点播和留言功能
- 杀不死的人狼——我读《人月神话》(五)
- 仿照xp关机退出的效果1
- 类似于新浪邮箱的提示效果
- [DOC]安装信息文件 (.inf) 定义
- 3、Struts2之咬文嚼字
- 细说Java之util类
- Blog开通
- 创建XMLHttp对象
- Soa 从概念到行动
- datagrid字数限制
- 修改http头,实现下载与查看
- 由学生就业难想到ERP的经典语录
- FireFox必备插件(二)