关于项目框架设计的一点学习
摘要: 这两天又在接触一个新项目,对于如何设计一个项目的框架有了点概念,关于web项目(对于oa系统来说)的主体感觉比较需要设计的几部分为:
1. 页面模板定义:关于view层展示,无论对于top(顶层菜单)+left(左边树状菜单)+right(主体内容)结构还是left+right结构,都需要首先定制一些模板,如struts中可使用tiles定义。
2. 分页标签:自定义一个比较通用的分页标签或者使用一些框架中自带的(如struts-menu或者JSF中的t:dataScroller),不过比较好的做法是基于其源码编写自己的分页标签。
3. DB设计:可使用Power Deisign等设计数据库表结构,产生相关的表。
4. 代码自动生成:编写代码生成脚本如build.xml文件的编写(根据DB生成代码,也可以忽略3,先建model,再从model生成代码和数据库schema),生成Struts、Spring、Hibernate相关文件。
阅读全文
Struts学习笔记之Action
摘要: 下面是Struts中的一些常用Action如DispatchAction/LookupDispatchAction/MappingDispatchAction/ForwardAction/IncludeAction的总结
1.DispatchAction extends BaseAction
一般的Action如
,在这里UserAction只需要继承父类(extends Action类),然后重写父类的execute方法,在execute中实现具体的控制转向。
对于同一个formbean上进行的新增、修改、删除等,我们需要分发不同的Action,这里有两种做法。
阅读全文
Java对象初始化顺序
摘要: 由此可知当新建一java对象(上面main方法中new B())时,它的内部初始化顺序为:
1. 父类静态成员和静态初始化块,按在代码中出现的顺序依次执行
2. 子类静态成员和静态初始化块,按在代码中出现的顺序依次执行
3. 父类实例成员和实例初始化块,按在代码中出现的顺序依次执行
4. 父类构造方法
5. 子类实例成员和实例初始化块,按在代码中出现的顺序依次执行
6. 子类构造方法
阅读全文
Struts学习笔记之ActionForm
摘要: ActionForm中比较常用的两个方法是reset()和validator():
// 恢复ActionForm属性的默认值,如把boolean型设为true/false,字符串设为null。
public void reset( ActionMapping mapping, HttpServletRequest request ) { }
// validate只检查数据格式和语法,不检查数据是否符合业务逻辑。
public ActionErrors validate( ActionMapping mapping, HttpServletRequest request ) { return (null); }
这两个方法的默认实现是不执行任何操作,我们可以重写这两个方法来实现相关逻辑。
注:对于每个request,控制器都会先调用ActionForm的reset()方法,然后表单数据组装到ActionForm中。如ActionForm在request范围内,那么对于每个新的request请求都会创建新的ActionForm实
阅读全文
Struts源码学习之ActionServlet(二)
摘要: ④ 调用initChain(); 读取web.xml中命令链文件初始值chainConfig
protected String chainConfig = "org/apache/struts/chain/chain-config.xml";
//④initChain();
// 如没有chainConfig参数,则使用默认"org/apache/struts/chain/chain-config.xml"
String value;
value = getServletConfig().getInitParameter("chainConfig");
if (value != null) {
chainConfig = value;
}
阅读全文
Struts源码学习之ActionServlet(一)
摘要: Struts源码最新版本为struts-1.3.8-src.zip (12-Mar-2007 00:06)
学习笔记使用struts-1.3.5-src.zip 的源码,
下载地址:http://archive.apache.org/dist/struts/source/
2. 下面研究一下struts的源码,由于servlet设置了load-on-startup,所以tomcat启动时会加载ActionServlet,也就是会执行ActionServlet中的init()方法,Struts 的初始化实现就是在这里实现的。
注:由于servlet的生命周期为 web容器加载和实例化类/init()初始化/service()请求处理/destroy()四个阶段,而init()方法在tomcat启动后只执行一次,所以如果想在tomcat启动后用debug模式查看ActionServlet中init()方法的执行,可以把上面的
2注释掉就可以了(不过真正开发时还是需要的)。
阅读全文
Struts学习笔记之MVC模式
摘要: View:由JSP、Struts自定义标记库、资源文件(MessageResources.properties)共同组成,通过ActionForm实现JSP表单的封装,并映射到Model部分中JavaBean的相应属性中,完成用户数据的封装。
注意:关于ActionForm,有些人认为它属于Model层(仁者见仁,智者见智)。
事实上它不是Model,真正的Model应该是一个封装了业务逻辑的的对象。
而ActionForm仅仅是一个form-bean,封装了用户提交的表单数据(物理View),可以在其中进行一些非业务逻辑的验证,并没有真正的映射到模型数据,因为与层的关系比较密切,所以实际上它应该算是View层(逻辑View)。
阅读全文
Axis学习笔记
摘要: 实例(参考了axis-bin-1_4.zip\axis-1_4\samples\userguide中的例子)使用版本为Axis1.4,axis-bin-1_4.zip下载地址:
http://www.apache.org/dist/ws/axis/1_4/
目录说明如下:
jws:存放*.jws文件
src:java源码
WEB-INF/classes:java编译后的class文件
WEB-INF/lib:需要用到的jar包
Axis支持三种web service开发方式,分别为:
1、Dynamic Invocation Interface ( DII)
2、Dynamic Proxy方式
3、Stubs方式
阅读全文
SCJP1.4 and SCWCD1.4学习笔记整理下载
摘要: SCJP 1.4 score:81%
SCWCD 1.4 score:91%
下载地址:
蓝小刀的学习笔记_SCJP1.4
蓝小刀的学习笔记_SCWCD1.4
阅读全文