摘要: 为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件可以在Struts2压缩包中的lib目录下找到。3.将struts.xml里面的Xml代码 <package name="default" extends="struts-default"> 改为Xml代码 <package name="default" extends="json-default"> 4.Action中的配置Xml代码 <action name="te 阅读全文
posted @ 2012-02-18 12:19 rason2008 阅读(1589) 评论(0) 推荐(0) 编辑
摘要: 包java.io定义了很多用来读和写流数据或连续数据的类,其中类InputStream和OutputStream是用来读和写字节流的,而类Reader和Writer是用来读和写字符流的。流是可以嵌套的,也就是说我们可以从FileterReader对象中读取字符,FileterReader对象是用来从潜在的Reader流中读取并处理字符的。这种潜在的Reader流可以从InputSteam中读取字节,在把这些字节转换成字符。其实我们可以用流来执行很多共同的操作,下面的这个例子就是在操作平台上读取输入的用户信息:BufferedReader console= new BufferedReader( 阅读全文
posted @ 2012-02-05 10:52 rason2008 阅读(437) 评论(1) 推荐(0) 编辑
摘要: Java中定义了很多不同的类来处理日期和时间。java.util.Date类代表的是当前时间(精确到毫秒)。该类只是对一个长整数进行封装,它保存的是自格林尼治标准时间1970年1月1日零时起开始经过的毫秒数。下面给出了两种计算当前时间的方法:Long t0=System.currentTimeMillis();//以毫秒表示的当前时间java.util.Date now= new java.util.Date(); //实际上是一回事Long t1= now.getTime(); //把日期型转换成长整数类型Date类包含很多非常有趣的方法,但是这些方法大部分都已经废弃不用了,现在我们更多地使 阅读全文
posted @ 2012-02-04 09:51 rason2008 阅读(2031) 评论(0) 推荐(0) 编辑
摘要: 1.javascript的数组APIJs代码//定义数组 varpageIds=newArray(); pageIds.push('A'); 数组长度 pageIds.length;//shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefinedvara=[1,2,3,4,5];varb=a.shift();//a:[2,3,4,5]b:1//unshift:将参数添加到原数组开头,并返回数组的长度vara=[1,2,3,4,5];varb=a.unshift(-2,-1);//a:[-2,-1,1,2,3,4,5]b:7//注:在IE6.0... 阅读全文
posted @ 2012-01-29 17:34 rason2008 阅读(136) 评论(0) 推荐(0) 编辑
摘要: </head><body><div class="one" id="one"> id为one,class为one的div <div class="mini">class为mini</div></div><div class="one" id="two" title="test"> id为two,class为one,title为test的div <div class="mini& 阅读全文
posted @ 2012-01-29 16:40 rason2008 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 一、基础1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:\mssql7backup\MyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4、说明:创建新表createtabletabname(col1type1[notnull][primarykey],col2 阅读全文
posted @ 2012-01-22 18:32 rason2008 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 工厂方法工厂方法模式经常用于以下情景:1.客户类不关心使用哪个具体类,只关心该接口所提供的功能。2.创建过程比较复杂,例如需要初始化其它关联的资源类,读取配置文件等等。3.接口有很多具体实现或者抽象类有很多具体子类时,你可能需要为客户代码写一大串if-else逻辑来决定运行时使用哪个具体实现或者具体子类。4.不希望给客户程序暴露过多此类的内部结构,隐藏这些细节可以降低耦合度。5.优化性能,比如缓存大对象或者初始化比较耗时的对象。工厂方法模式定义:为创建对象定义一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟至子类。工厂方法模式是对实例化过程进行封装而形成的,客户对象无需关心实例化 阅读全文
posted @ 2012-01-21 17:51 rason2008 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 单例模式:如果要保证系统里一个类最多只能存在一个实例时,我们就需要用单例模式。这种情况在我们应用中经常碰到,例如缓存池,数据库连接池,线程池,一些应用服务实例等。最简单的单例:PublicclassSingleton{PrivatestaticSingletoninstance=newSingleton();PrivateSingleton();PublicstaticSingletongetInstance(){Returninstance;}}此实现是线程安全的,使用也非常简单:Singletonsingleton=Singleton.getInstance();延迟创建:Publiccl 阅读全文
posted @ 2012-01-15 18:25 rason2008 阅读(228) 评论(1) 推荐(0) 编辑
摘要: 模板方法春节回家,我们首先需要购买火车票,然后乘坐火车,最后才能和家人团聚。我们来模拟一下这个过程:PublicclassHappyPeople{PublicvoidcelebrateSpringFestival(){System.out.println("Buyingticket");System.out.println("Travellingbytrain");System.out.println("HappyChineseNewYear");}}后来我们发现,有人需要坐火车回家,有人需要坐飞机回家,而有人坐大巴回家。但是不管你乘 阅读全文
posted @ 2012-01-15 16:35 rason2008 阅读(355) 评论(2) 推荐(0) 编辑
摘要: 委派模型上一篇提过BootstrapLoader所做的初始工作中,除了做一些基本的初始化动作之外,最重要的就是载入定义在sun.misc命名空间底下的Launcher.java之中的ExtClassLoader,并设定其parent为null,然后BootstrapLoader再载入定义在sun.misc命名空间底下的Launcher.java之中的AppClassLoader,并设定其parent为之前产生的ExtClassLoader实例。这就产生了所谓的类加载器阶层体系,如下图:而之所以有阶层体系的存在,是为了实现委派模型。所谓的委派模型,用简单的话来说,就是类加载器有载入类的需求时,会 阅读全文
posted @ 2012-01-08 23:01 rason2008 阅读(396) 评论(1) 推荐(0) 编辑