??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成人免费视频,亚洲女优视频,天堂va久久久噜噜噜久久vahttp://www.aygfsteel.com/leekiang/category/27953.htmlMDA/MDD/TDD/DDD/DDDDDDDzh-cnFri, 16 Apr 2010 18:12:41 GMTFri, 16 Apr 2010 18:12:41 GMT60操作数组http://www.aygfsteel.com/leekiang/archive/2010/01/14/309489.htmlleekiangleekiangThu, 14 Jan 2010 10:43:00 GMThttp://www.aygfsteel.com/leekiang/archive/2010/01/14/309489.htmlhttp://www.aygfsteel.com/leekiang/comments/309489.htmlhttp://www.aygfsteel.com/leekiang/archive/2010/01/14/309489.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/309489.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/309489.html    List list = new ArrayList();
        list.add("1");
        list.add("2");
        int size = list.size();
        String[] arr = (String[]) list.toArray(new String[size]);
     必须带参数new String[size]Q否则会报造型异常

2, 数组转List
    String[] arr = new String[] {"1", "2"};
    List list = Arrays.asList(arr);

3,  Arrays.binarySearch(Object[] arr,Object key)
    public static int binarySearch(int[] a,int key)使用二进制搜索算法来搜烦指定?int 型数l,以获得指定的倹{?strong>必须在进行此调用之前Ҏl进行排序(通过上面?sort ҎQ。如果没有对数组q行排序Q则l果是不明确的。如果数l包含多个带有指定值的元素Q则无法保证扑ֈ的是哪一个?br />    也就是说必须先执行Arrays.sortQ再执行Arrays.binarySearch

4, commons-lang的ArrayUtils
   1)ArrayUtils.contains()Ҏ可以判定数组是否存在指完元素.比Arrays.binarySearch好用(见上?
     当然有两个比较实用的ҎArrayUtils.lastIndexOf()和ArrayUtils.indexOf()
   3)使用ArrayUtils.reverse(arr)Ҏ可以反{一个数l?br />   4)使用ArrayUtils.toObject(arr)和ArrayUtils.toPrimitive(arr)两个ҎQ?br />     卛_互相转换基本cd数组和对象数l?br />   5)ArrayUtils.toString()Ҏ可以输入数组内容Q此Ҏ接受L一个数l?br />     作ؓ参数q输出其内容Q输出时所有元素位于大括号Q中间逗号隔开?br />     如new String[] { "1","2","3","fd","3g"}会输Zؓ字符?{1,2,3,fd,3g}"
   6)// 判断数组是否为空(null和length=0的时候都为空)
        ArrayUtils.isEmpty(new int[0]);// true
        ArrayUtils.isEmpty(new Object[] { null });// false
   7)
// 合ƈ两个数组
        ArrayUtils.addAll(new int[] { 135 }, new int[] { 24 });// {1,3,5,2,4}
   8)// 删除数组中某个对?从正序开始搜?删除W一? 注意只删除一?br />        ArrayUtils.removeElement(new int[] { 135 }, 3);// {1,5}






leekiang 2010-01-14 18:43 发表评论
]]>
HttpURLConnection 的?/title><link>http://www.aygfsteel.com/leekiang/archive/2009/10/21/299193.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 21 Oct 2009 06:12:00 GMT</pubDate><guid>http://www.aygfsteel.com/leekiang/archive/2009/10/21/299193.html</guid><wfw:comment>http://www.aygfsteel.com/leekiang/comments/299193.html</wfw:comment><comments>http://www.aygfsteel.com/leekiang/archive/2009/10/21/299193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/leekiang/comments/commentRss/299193.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/leekiang/services/trackbacks/299193.html</trackback:ping><description><![CDATA[System.setProperty("sun.net.client.defaultConnectTimeout", "3000");<br />        System.setProperty("sun.net.client.defaultReadTime ", "3000"); <br />        <br />        URL url1=null;<br />        try {<br />            url1 = new URL(url);<br />            HttpURLConnection urlCon = (HttpURLConnection)url1.openConnection();<br />            System.out.println(urlCon);<br />             BufferedReader in = null;<br />                try {<br />                  in = new BufferedReader(<br />                    new InputStreamReader(<br />                            urlCon.getInputStream()));<br />                  String inputLine;<br />                  while (<br />                    (inputLine = in.readLine()) != null) {<br />                    System.out.println(inputLine);<br />                  }<br />                } catch (IOException e) {<br />                  e.printStackTrace();<br />                }<br />                in.close();<br />                urlCon.disconnect();<br />        } catch (Exception e1) {<br />            e1.printStackTrace();<br />        } <br /><br />http://tech.techweb.com.cn/archiver/tid-225522.html<br />http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/net/HttpURLConnection.html<br />http://zhuixue.javaeye.com/blog/385793<br /><img src ="http://www.aygfsteel.com/leekiang/aggbug/299193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/leekiang/" target="_blank">leekiang</a> 2009-10-21 14:12 <a href="http://www.aygfsteel.com/leekiang/archive/2009/10/21/299193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BeanUtilshttp://www.aygfsteel.com/leekiang/archive/2008/10/31/237904.htmlleekiangleekiangFri, 31 Oct 2008 13:55:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/10/31/237904.htmlhttp://www.aygfsteel.com/leekiang/comments/237904.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/10/31/237904.html#Feedback1http://www.aygfsteel.com/leekiang/comments/commentRss/237904.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/237904.html2,BeanUtils.copyProperties与PropertyUtils.copyProperties的区?br />  q两个类几乎有一怸L功能Q唯一的区别是QBeanUtils在对Bean赋值是会进行类型{化。D例来说也是在copyProperty时只要属性名相同Q就类型不同,BeanUtils也可以进行copyQ而PropertyBean则可能会报错。当?个Bean之间的同名属性的cd必须是可以{化的Q否则用BeanUtils一样会报错?          若实Corg.apache.commons.beanutils.Converter接口则可以自定义cd之间的{化?br />
?span class="hilite1">BeanUtils外还有一个名?span class="hilite4">PropertyUtils的工LQ它也提?span class="hilite2">copyProperties()ҎQ作用与BeanUtils的同名方法十分相|主要的区别在于后者提供类型{换功能,卛_C个JavaBean的同名属性ؓ不同cdӞ在支持的数据cd范围内进行{换,而前者不支持q个功能Q但是速度会更快一?br />http://xiaozhao-521.javaeye.com/blog/244254
注意:有h说BeanUtils支持的{换类型不包括java.util.Date?
     我用1.6.1版本试了BeanUtils.copyProperties,肯定是支持java.util.Date的?br />3,LazyDynaBean可以实现动态的vo?br />  q样Q有时候程序给view层的东西可以用它来装而不用专门徏一个多余的vocM?/span>

参?
http://jone0321.blogdriver.com/jone0321/615543.html
http://www.aygfsteel.com/kenzhh/archive/2008/09/03/226592.html


leekiang 2008-10-31 21:55 发表评论
]]>
commons loggingW记(?http://www.aygfsteel.com/leekiang/archive/2008/04/05/190986.htmlleekiangleekiangSat, 05 Apr 2008 15:04:00 GMThttp://www.aygfsteel.com/leekiang/archive/2008/04/05/190986.htmlhttp://www.aygfsteel.com/leekiang/comments/190986.htmlhttp://www.aygfsteel.com/leekiang/archive/2008/04/05/190986.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/190986.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/190986.htmlApachel织开发了一套用于支持Logging的Log4JQJava?1.4版本也引入了一套内|的 Logging框架Q如果开发者想在这两套Loggingpȝ之间自由的切换,该怎么办呢Q答案就是,使用Commons?Logging?Commons?Logging定义了一套抽象的Logging接口Q用户可以通过配置Qɘq些接口指向M一个已存在的Loggingpȝ?/p>

?首先在classpath下寻找自q配置文gcommons-logging.propertiesQ如果找刎ͼ则用其中定义的Log实现c;q个属性文件至必d义org.apache.commons.logging.Log属性,它的值应该是上述LLog接口实现的完整限定名U?br />?如果上面的步骤失败,Commons的Logging接着查系l属性org.apache.commons.logging.Log?br />   System.setProperty("org.apache.commons.logging.Log","org.apache.commons.logging.impl.Log4JLogger");
?如果找不到org.apache.commons.logging.Logpȝ属性,Logging接着在CLASSPATH中寻找log4j的类。如果找CQLogging假定应用要使用的是log4j。不q这时log4j本n的属性仍要通过log4j.properties文g正确配置?br />通过jar的Service Provider Discovery机制查找 "META-INF/services/org.apache.commons.logging.Log"对应的资源,Service Provider Discovery是JDK1.3之后出现的,我们熟知的XML解析器的查找q程是利用q个机制.
?如果上述查找均不能找到适当的Logging APIQ但应用E序正运行在JRE 1.4或更高版本上Q则默认使用JRE 1.4的日志记录功能?br />?最后,如果上述操作都失败,则应用将使用内徏的SimpleLog。SimpleLog把所有日志信息直接输出到System.err?

可见Qcommons-loggingL能找C个日志实现类Qƈ且尽可能扑ֈ一个“最合适”的日志实现cR我说它“很贴心”实际上是因为:1、可以不需要配|文Ӟ2、自动判断有没有Log4j包,有则自动使用之;3、最悲观的情况下也总能保证提供一个日志实玎ͼSimpleLogQ?br />可以看到Qcommons-logging对编E者和Log4j都非常友好?br />Z化配|commons-loggingQ一般不使用commons-logging的配|文Ӟ也不讄与commons-logging相关的系l环境变量,而只需Log4j的Jar包放|到classpash中就可以了。这样就很简单地完成了commons-logging与Log4j的融合。如果不想用Log4j了怎么办?只需classpath中的Log4j的Jar包删除即可?br />p么简单!

Commons logging的关键点Q?/p>

    * 提供一个日志记录功能的抽象
    * 提供一U从该抽象到具体日志记录实现的映?br />    * 提供默认的映和发现机制Q提高自w的易用?br />看花的h多,懂花的少哦?-----Z力争d懂花人。等老了Q一边夕阌下,一边品茶赏花,岂不乐哉?/p>

日志的别从高到低依ơؓ:fatal,error,warn,info,debug,trace.
自己只适用三种够?调试用debug,q行时有意义的信息用info,错误用error

log4j.rootLogger是最最重要的一个属性了Q它定义日志信息的“输出别”和“输出目的地”?br />讄分两部分,W一个逗号之前的是W一部分Q指定“输出别”;后面的是W二部分Q指定“输出目的地”。可以同时指定多个“输出目的地”,以逗号隔开?/p>

不同的appender,打印的基本可以单独设|?例如log4j.appender.logfile.Threshold =debug

输出格式?t指线E?

“同时用commons-logging和Log4j”的原因是,化用和配置?br />一点,“同时用commons-logging和Log4j”,与“单独用Log4j”相比,q不会带来更大的学习、配|和l护成本Q反而更加简化了我们的工作。我惌也是Z么“所有用到Log4j的项目一般也同时会用到commons-loggin”的原因之一吧?br />Commons-logging能帮我们做什么?
提供一个统一的日志接口,单了操作Q同旉免项目与某个日志实现pȝ紧密a耦合
很脓心的帮我们自动选择适当的日志实现系l(q一炚w常好Q)它甚至不需要配|?/p>

private static Log log = LogFactory.getLog(YouClassName.class);
注意q里定义的是static成员Q以避免产生多个实例?br />LogFactory.getLog()Ҏ的参C用的是当前类的classQ这是目前被普通认为的最好的方式。ؓ什么不写作LogFactory.getLog(this.getClass())Q因为staticcL员访问不到this指针Q?br />commons-logging和Log4j的jar包都攄到classpath下,同时也将Log4j的配|文件放到classpath中,两者就可以很好的合作?/p>

采用Log4j配合commons-logging作ؓ日志pȝQ是目前Java领域非常非常行的模式,使用非常非常的普遍。两者的l合带来的结果就是:?+ 强大?br />commons-logging提供了简捗统一的接口,不需要额外配|,单;
Log4j功能非常全面、强大;
commons-logging仅仅对Log4j(当然q包括其它LOG实现)作了一层包装,具体的日志输是在内部转交ln后的Log4j来处理;而Log4j虽然做了所有的事情Q却甘作l叶Q从不以真nCZh?br />两者堪U绝配?/p>

# 用于数据?br />log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=123
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

# 发送日志给邮glog4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=web@www.wuset.com
log4j.appender.MAIL.SMTPHost=www.wusetu.com
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.To=web@www.wusetu.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thread] n%c[CATEGORY]%n%m[MESSAGE]%n%n

#应用于文?br />log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# Use this layout for LogFactor 5 analysis

# 应用于文件回?br />log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=ERROR
log4j.appender.ROLLING_FILE.File=rolling.log
log4j.appender.ROLLING_FILE.Append=true
log4j.appender.ROLLING_FILE.MaxFileSize=10KB
log4j.appender.ROLLING_FILE.MaxBackupIndex=1
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

#应用于socket
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
log4j.appender.SOCKET.RemoteHost=localhost
log4j.appender.SOCKET.Port=5001
log4j.appender.SOCKET.LocationInfo=true
# Set up for Log Facter 5
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thread]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

# Log Factor 5 Appender
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000

#自定义Appender
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
log4j.appender.im.host = mail.cybercorlin.net
log4j.appender.im.username = username
log4j.appender.im.password = password
log4j.appender.im.recipient = corlin@cybercorlin.net
log4j.appender.im.layout=org.apache.log4j.PatternLayout
log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n



leekiang 2008-04-05 23:04 发表评论
]]>
HttpClient W记http://www.aygfsteel.com/leekiang/archive/2007/12/07/166091.htmlleekiangleekiangFri, 07 Dec 2007 08:51:00 GMThttp://www.aygfsteel.com/leekiang/archive/2007/12/07/166091.htmlhttp://www.aygfsteel.com/leekiang/comments/166091.htmlhttp://www.aygfsteel.com/leekiang/archive/2007/12/07/166091.html#Feedback0http://www.aygfsteel.com/leekiang/comments/commentRss/166091.htmlhttp://www.aygfsteel.com/leekiang/services/trackbacks/166091.html2,处理header
a.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%
    response.addHeader("location","beijing");
%>
3,
            HttpClient client = new HttpClient();
            HeadMethod headMethod = new HeadMethod(
                    "http://localhost:8080/Test/jsp/a.jsp");
            client.executeMethod(headMethod);
            Header[] headers = headMethod.getResponseHeaders();
            System.out.println(headers.length);
            for (int i = 0; i < headers.length; i++) {
                out.println(headers[i] + " <br>");
            }
            headMethod.releaseConnection();
4Q?br />

httpclient默认使用ISO-8859-1dhttp响应的内容,如果内容中包含汉字的话就得动用丑陋的new String(str.getBytes("ISO-8859-1"),"GBK");语句了?/p>

解决办法

HttpClient client = new HttpClient();
    client.getParams().setParameter(
      HttpMethodParams.HTTP_CONTENT_CHARSET, "GBK");

5Q设|?Http q接时?U?br />httpclient.getHttpConnectionManager().getParams().setConnectionTimeout(2000);

9,很好的帖?br />http://laohuang.javaeye.com/blog/55613
http://www.aygfsteel.com/Alpha/archive/2007/01/22/95216.html
http://www.cnjm.net/tech/article1155.html

15,资源:
http://hi.baidu.com/toad24/blog/item/6d4e734e4ac2d00bb3de05d3.html
AD:http://dev2dev.bea.com.cn/techdoc/20060621823.html#_Toc131329166
http认证:http://dev.csdn.net/author/Jason009/769317e872024d0f8a2710141384ba47.html
http://www.javaeye.com/topic/84996
时http://lkf0217.javaeye.com/blog/601104
时http://skyful.javaeye.com/blog/518735


leekiang 2007-12-07 16:51 发表评论
]]>
վ֩ģ壺 | | «| | ˫| ұ| | Ƽ| | ٰ| н| | | | | ¡| γ| ʩ| | | ƽ| | | | ͩ| ״| | | ʦ| Һ| | | | | ϰ| | ʲ| | ̩| | |