
JAVA
文章平均质量分 69
Lena-Yang
The best way to predict the future is to invent it. if you look for it, you won’t find it.
展开
-
javascript中访问struts2 ValueStack中的数据
js代码中使用"${}"得到值栈中的对象值 使用了jquery var $j = jQuery.noConflict();$j(document).ready(function(){ showType("ONSHOW"); showType("${changeCabinetsBO.type}"); });原创 2009-07-17 16:48:00 · 2867 阅读 · 0 评论 -
log4j控制台日志信息,根据不同级别,以颜色显示
下面说的让控制台日志颜色高亮显示,是分两种情况的。一。 在eclipse控制台此时,用的比较简单的实现方式。不需要其它工具类。warn,error,fatal级别以红色显示。debug,info, 默认的颜色log4j.xml <param name="ConversionPattern" value原创 2012-10-10 18:10:28 · 27610 阅读 · 0 评论 -
java将IP地址转换为数字以及逆向转换(位移和0xFF的使用)
转载自:http://www.mkyong.com/java/java-and-0xff-example/public class BitwiseExample { public static void main(String[] args) { BitwiseExample obj = new BitwiseExample(); long ipAddressInLo转载 2013-12-10 15:09:01 · 2970 阅读 · 0 评论 -
java将IP地址转换为数字以及逆向转换(位运算和0xFF的使用)第二季
原文:http://www.mkyong.com/java/java-convert-ip-address-to-decimal-number/来自同一个博客。IP转为数字(第二种算法。用左移、按位或实现。效率比上一篇的更高。): public long ipToLong(String ipAddress) { long result = 0; St转载 2013-12-11 14:44:48 · 19186 阅读 · 2 评论 -
JSF + Primefaces表单验证
正则表达式匹配为空或者正整数: ^([0-9]{1}|[1-9]{1}[0-9]{0,}|)$如果是表单做了值绑定,最好是绑定的字符串类型,否则可能被转化器将空字符串以null返回。 <p:dialog header="广告修改" widgetVar="updateDlg" resizable="true" height="400" width="600" show原创 2013-12-26 15:35:59 · 7689 阅读 · 0 评论 -
primefaces4 翻页时更新分页footer,totalRecords的更新
datatable 分页时发现,两个浏览器,其中一个添加数据后,另外那个翻到另一页,表格的内容变了,新增的数据有显示,但是总记录数没有更新,以致总页数不会更新。找了一天,才找到解决办法。 <p:dataTable var="recipe" value="#{recipeBean.model}" filterEvent="enter" rowKey="#{recipe.i原创 2014-03-04 19:38:01 · 3763 阅读 · 0 评论 -
Java设计模式(四):原型模式深拷贝的两种实现方式,以及和new对象的性能测试对比
如果需要短时间创建大量对象,并且new的过程比较耗时,则可以考虑使用原型模式。而采用clone的方式,相比序列号的方式,更高效。只不过,如果类中有成员变量是引用类型,也要一起进行clone!原创 2016-05-26 17:44:13 · 2033 阅读 · 0 评论 -
Java设计模式(十):装饰者模式Decorator
装饰者模式:动态地将责任附加到对象上,若要扩展对象,装饰者模式提供了比继承更弹性的替代方案要点: 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为装饰者包含一个超类的对象,这样,可以在被装饰者行为前或者行为后加上新的行为,甚至取代原有的行为装饰者会使程序中出现很多小类,增加使用难度使用场景:对象由主体+许多可选的部件或者功能构成,使用继承或者接口会产生很原创 2016-06-01 17:53:07 · 619 阅读 · 0 评论 -
Java设计模式(十一):外观模式(门面模式)Facade
1.概念为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。2.UML3.代码下面是一个具体案例的代码:package com.iter.devbox.facade;/** * 子系统角色中的类 * @author Shearer * */public class M原创 2016-06-01 18:00:52 · 668 阅读 · 0 评论 -
Java设计模式(五):建造者模式Builder
场景我们要建造一个复杂的产品。比如:神舟飞船、iphone。这个复杂的产品的创建,有这样一个问题需要处理:装配这些子组件是不是有个步骤问题?实际开发中,我们所需要的对象构建时,也非常复杂,有很多步骤需要处理时。建造者模式的本质分离了对象子组件的单独构建(由Builder来负责)和装配(由Director)来负责。从而可原创 2016-05-27 19:04:16 · 434 阅读 · 0 评论 -
Java设计模式(六):适配器模式Adapter
什么是适配器模式? 将一个类的接口转换为客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。模式中的角色目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。需要适配的类(Adaptee):需要适配的类或适配者类。适配器(Adapter):通过包装一个需要适配的对象,把原原创 2016-05-27 19:40:40 · 844 阅读 · 0 评论 -
Java设计模式(七):代理模式Proxy(静态代理模式+动态代理模式)
静态代理package com.iter.devbox.staticProxy;public interface Star { public void sing();}package com.iter.devbox.staticProxy;public class RealStar implements Star { @Override publi原创 2016-05-27 21:53:19 · 608 阅读 · 0 评论 -
Java设计模式(八):桥接模式bridge
桥接模式核心要点:处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关联。假设现在有这样的分类:电脑 --- 联想电脑,戴尔电脑,神州电脑 --- 台式机,笔记本 --- 联想台式机,联想笔记本如果用继承的关系,类会特别多,增加品牌或者电脑类型也不好扩展。于是我们把它用三个维度划分。电脑 --- 品牌 --- 类型原创 2016-05-28 23:06:37 · 594 阅读 · 0 评论 -
Java设计模式(九):组合模式composite
package com.iter.devbox.composite;import java.util.ArrayList;import java.util.List;/** * 抽象构件 * @author Shearer * */public interface AbstractFile { void killVirus(); //杀毒}class ImageFile原创 2016-05-29 13:32:00 · 569 阅读 · 0 评论 -
Java设计模式(四):原型模式Prototype
原型模式是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的.原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下,复制一个已经存在的实例可以使程序运行更高效,或者创建值相等,只是命名不一样的同类数据.原型模式中的拷贝分为"浅拷贝"和"深拷贝":浅拷贝: 对值类型的成员变量进行值的复制,对引用类型的原创 2016-05-25 22:45:13 · 487 阅读 · 0 评论 -
Java设计模式(二):单例模式的5种实现方式,以及在多线程环境下5种创建单例模式的效率
这段时间从头温习设计模式。记载下来,以便自己复习,也分享给大家。package com.iter.devbox.singleton;/** * 饿汉式 * @author Shearer * */public class SingletonDemo1 { // 类的静态成员变量只初始化一次,天然是线程安全的 private static final Singlet原创 2016-05-23 12:14:59 · 2174 阅读 · 1 评论 -
Java设计模式(一):单例模式,防止反射和反序列化漏洞
一、懒汉式单例模式,解决反射和反序列化漏洞package com.iter.devbox.singleton;import java.io.ObjectStreamException;import java.io.Serializable;/** * 懒汉式(如何防止反射和反序列化漏洞) * @author Shearer * */public class Singleto原创 2016-05-22 22:49:18 · 8532 阅读 · 11 评论 -
使用svnkit api,纯java操作svn,实现svn提交,更新等操作(修正版)
此篇是在上一篇基础上修改了bug。import java.io.File;import org.apache.log4j.Logger;import org.tmatesoft.svn.core.SVNCommitInfo;import org.tmatesoft.svn.core.SVNDepth;import org.tmatesoft.svn.core.SVNExcep原创 2012-09-10 14:50:28 · 45283 阅读 · 17 评论 -
java拷贝目录及其子目录、文件,到另外一个目录
/** * 复制一个目录及其子目录、文件到另外一个目录 * @param src * @param dest * @throws IOException */ private void copyFolder(File src, File dest) throws IOException { if (src.isDirectory()) { if (!dest.exi原创 2012-08-28 09:26:08 · 29755 阅读 · 6 评论 -
在JSP页面显示出struts action的fieldErrors
记录下来以备以后自己要调试的时候查看 ${key } ${value }原创 2009-07-20 10:35:00 · 1576 阅读 · 0 评论 -
struts2中采用url链接的action请求如何防止重复提交
有时action请求不使用form提交,而是url方式,如下:用户确认 其中所带参数cabAffirmSession是用来接收和传递action里面put到session中的值cabValue是放到session中的值在struts2 action中要使用session,最好的方式是实现SessionAware,这样不用每次要用时都要采用ServletA原创 2009-08-16 19:25:00 · 5238 阅读 · 2 评论 -
hibernate many-to-one关联,多的一端关联一的一端的外键对应数据被删了,如何避免抛出ObjectNotFoundException
我们项目里面配了很多many-to-one的关联,后台在查询数据时已经作了健全性判断,但还是经常抛出对象找不到异常:org.hibernate.ObjectNotFoundException: No row with the given identifier exists 因为系统给用户使用过程中库表的数据会常发生变化,最常见的是人员变化,原先引用的User 在库表没了,hibernate原创 2009-07-07 23:45:00 · 5194 阅读 · 1 评论 -
struts2手动防止数据重复提交,使用struts标签取session中的值
public class CBApplyAction extends ActionSupport implements SessionAware {private Map session;/** 表单填写页面的hidden域 */ private String sub; @Override public String execute() throws Excepti原创 2009-07-08 13:31:00 · 3479 阅读 · 0 评论 -
普通java类如何取得注入spring Ioc容器的对象
一、建一个SpringUtil类 package com.ceopen.eoss.spring;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.App原创 2009-07-07 17:16:00 · 6842 阅读 · 3 评论 -
hibernate annotation方式配置实体关联关系,解决关联外键数据不存在时抛出异常的问题
使用hibernate 注解配置实体类的关联关系,在many-to-one,one-to-one关联中,一边引用自另一边的属性,如果属性值为某某的数据在数据库不存在了,hibernate默认会抛出异常。解决此问题,加上如下注解就可以了:@NotFound(action=NotFoundAction.IGNORE),意思是找不到引用的外键数据时忽略,NotFound默认是exception原创 2009-07-08 12:41:00 · 7921 阅读 · 1 评论 -
hibernate分组与聚合查询(原生sql和使用case when then else end的hql)
需求:根据某些字段进行分组查询,并使用聚合函数sum()有条件的进行统计 一、用hibernate使用原生sql进行查询 // 服务器调配情况统计查询类 IdcStatisticSpecpublic class IdcStatisticSpec extends AbstQueryStringSpec { /** 机房ID */ private Integer c原创 2009-07-15 14:00:00 · 11213 阅读 · 3 评论 -
整型数转换为指定位数的字符串,位数不足前面补零
位数不足前面补零:String.format("%06d",19);转换后类型是String,保留6位,不足前面补0;d表示后面参数是整型 // 当前年月日,20090818格式 String currentFormatDate = Util.getCurrentFormatDate(); /原创 2009-09-17 17:31:00 · 25085 阅读 · 0 评论 -
在tomcat中映射域名,指向应用程序
tomcat server.xml文件中,默认配置的是localhost域名,指向webapps如果要映射到域名,在配置文件中再配置一个域名即可: <Host name="www.hardwin.cn" appBase="D:/hardwin/shopping" unpackWARs="true" autoDeploy="true"原创 2009-09-21 10:13:00 · 2189 阅读 · 0 评论 -
java编译静态常量的机制
java虚拟机编译机制,静态常量在编译后,成为了常量,而不是原先的代码,例如:有一个类 Contant.java里面有一些静态常量 public static final String GONGDAN = "gongdan@ceopen.cn";public static final String ICT = "ictnetwork@ceopen.cn"; 然后原创 2009-09-21 10:20:00 · 4690 阅读 · 0 评论 -
linux上安装tomcat,配置tomcat服务开机自启动
一、安装过程 上传apache-tomcat-6.0.14.tar.gz到linux上,在 /usr/local/ 新建目录tomcat,mkdir tomcat将tomcat安装包放在这将apache-tomcat-6.0.14.tar.gz重命名为tomcat6, mv apache-tomcat-6.0.14.tar.gz tomcat6 tar -zxv原创 2009-10-08 21:03:00 · 8118 阅读 · 0 评论 -
整合struts2,jquery,json。采用jquery ajax,从struts2 action返回json类型数据
本文开发环境是SSH2,ajax插件使用jQuery 1.2.6.js和json2.js实现目的:在struts2 标签s:doubleselect二级联动标签的基础上实现事件:第二级onchange时调用struts2 action,在action中查询一个名称,然后返回回来,此信息显示在页面上(这只是给用户一个提示信息,不影响表单能否提交) 由于struts2 doublese原创 2009-10-11 04:59:00 · 50191 阅读 · 20 评论 -
内存溢出java.lang.OutOfMemoryError的两种情况及其解决办法
这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。 一、java.lang.OutOfMemoryError: PermGen space PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就原创 2009-10-10 10:17:00 · 2230 阅读 · 1 评论 -
java导出导入excel,对jxl的封装
JExcelOperator.java导出导入的类public class JExcelOperator { /*定义默认的列宽*/ private static final int DEFAULT_COLUMN_WIDTH = 10; /*定义默认的工作薄名称*/ private static final String DEFAULT_WORK_TITLE = "教育"; /原创 2012-05-31 20:43:14 · 6762 阅读 · 3 评论 -
纯java操作SVN,使用svnkit做commit,update 提交,更新操作
public class SVNUtil { private static Logger logger = Logger.getLogger(SVNUtil.class); /** * 通过不同的协议初始化版本库 */ public static void setupLibrary() { DAVRepositoryFactory.setup(); SVNReposi原创 2012-08-30 15:27:38 · 13378 阅读 · 9 评论 -
Java设计模式(三):工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
简单工厂模式package com.iter.devbox.factory.simplefactory;public interface Car { public void run();}package com.iter.devbox.factory.simplefactory;public class Audi implements Car { public void ru原创 2016-05-23 17:39:46 · 562 阅读 · 0 评论