﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-licweiwei-文章分类-Technology</title><link>http://www.blogjava.net/licweiwei/category/26522.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 24 Oct 2007 11:42:24 GMT</lastBuildDate><pubDate>Wed, 24 Oct 2007 11:42:24 GMT</pubDate><ttl>60</ttl><item><title>Commons-logging + Log4j 使用简记</title><link>http://www.blogjava.net/licweiwei/articles/155095.html</link><dc:creator>licwei</dc:creator><author>licwei</author><pubDate>Mon, 22 Oct 2007 12:39:00 GMT</pubDate><guid>http://www.blogjava.net/licweiwei/articles/155095.html</guid><wfw:comment>http://www.blogjava.net/licweiwei/comments/155095.html</wfw:comment><comments>http://www.blogjava.net/licweiwei/articles/155095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/licweiwei/comments/commentRss/155095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/licweiwei/services/trackbacks/155095.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt; font-family: Times New Roman">通过网上查找资料和项目中的一些应用，记录一下<font size="2">Commons-logging + Log4j </font>的使用方法。<br />
现在很多都是使用Commons-logging + Log4j 结合使用，而不是全部使用Log4j。common-logging,就可以自行决定在自己的应用中采用何种实现，并跟所依赖的jar包统一起来。<br />
据common-logging的官方文档，决定实现方式的策略如下： <br />
1.首先查找org.apache.commons.logging.Log属性，该属性可以在java代码中设置，更常见的是在classpath下的common-logging.properties文件中进行设置 <br />
2.在系统属性中查找org.apache.commons.logging.Log <br />
3.如果类路径中有log4j的jar包，则采用log4j实现 <br />
4.如果jdk版本为1.4，采用Jdk14Logger <br />
5.采用common-logging提供的SimpleLog <br />
<br />
所以只要在classpath中加入Log4j的jar，Commons-logging 后台使用的还是Log4j作为日志实现类。单独使用Log4j的时候需要初始化：<br />
<br />
&nbsp;&nbsp;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import org.apache.log4j.Logger; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import org.apache.log4j.PropertyConfigurator; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class Log4j { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static Logger logger = Logger.getLogger(Log4j .class); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String args[]) { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #333399">PropertyConfigurator.configure("log4j.properties"); </span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.debug("DEBUG");&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
</p>
<br />
<p><font size="+0"><font face="Times New Roman"><font style="font-size: 10pt" size="3"></font></font></font>&nbsp;</p>
&nbsp; 使用Commons-logging + Log4j 实现方法：.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font size="2">import org.apache.commons.logging.Log;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import org.apache.commons.logging.LogFactory;</font><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 10pt">class TestLog{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static Log log = LogFactory.getLog(TestLog.class);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; public static void testLog(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; log.debug("test Commons-logging + Log4j");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
只要classpath有Log4j的jar，其实就是使用Log4j作为实现类，但是要注意的是<font face="Times New Roman">log4j.properties</font>一定要在classpath中，之前一直不知道程序是如何去找到<font face="Times New Roman">log4j.properties</font>的，后来才发现是通过classpath去找的，如果classpath中没有具体配置，就是到当前类所在目录下去查找（不包括包文件夹）。<br />
<br />
log4j.properties简介：<br />
log4j.rootCategory=debug,&nbsp;stdout,&nbsp;R&nbsp;&nbsp;<br />
log4j.appender.stdout=org.apache.log4j.ConsoleAppender&nbsp;&nbsp;<br />
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout&nbsp;&nbsp;<br />
#&nbsp;Pattern&nbsp;to&nbsp;output&nbsp;the&nbsp;caller's&nbsp;file&nbsp;name&nbsp;and&nbsp;line&nbsp;number.&nbsp;&nbsp;<br />
log4j.appender.stdout.layout.ConversionPattern=%5p&nbsp;[%t]&nbsp;(%F:%L)&nbsp;-&nbsp;%m%n&nbsp;&nbsp;<br />
log4j.appender.R=org.apache.log4j.RollingFileAppender&nbsp;&nbsp;<br />
log4j.appender.R.File=example.log&nbsp;&nbsp;<br />
log4j.appender.R.MaxFileSize=100KB&nbsp;&nbsp;<br />
#&nbsp;Keep&nbsp;one&nbsp;backup&nbsp;file&nbsp;&nbsp;<br />
log4j.appender.R.MaxBackupIndex=1&nbsp;&nbsp;<br />
log4j.appender.R.layout=org.apache.log4j.PatternLayout&nbsp;&nbsp;<br />
log4j.appender.R.layout.ConversionPattern=%p&nbsp;%t&nbsp;%c&nbsp;-&nbsp;%m%n&nbsp;&nbsp;<br />
说明:&nbsp;&nbsp;<br />
①log4j.rootCategory&nbsp;=&nbsp;[&nbsp;level&nbsp;]&nbsp;,&nbsp;appenderName,&nbsp;appenderName,&nbsp;&nbsp;<br />
其中,level&nbsp;是日志记录的优先级,分为OFF,FATAL,ERROR,WA&nbsp;R&nbsp;N,INFO,DEBUG,&nbsp;<br />
ALL或者您定义的级别.Log4j建议只使用四个级别,优先级从高到低分别是ERROR,&nbsp;<br />
WA&nbsp;R&nbsp;N,INFO,DEBUG.通过在这里定义的级别,您可以控制到应用程序中相应级别的日&nbsp;<br />
志信息的开关.比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息&nbsp;<br />
将不被打印出来.appenderName就是指定日志信息输出到哪个地方.您可以同时指定多个&nbsp;<br />
输出目的地.&nbsp;&nbsp;<br />
②配置日志信息输出目的地Appender,其语法为&nbsp;&nbsp;<br />
log4j.appender.appenderName&nbsp;=&nbsp;fully.qualified.name.of.appender.class&nbsp;&nbsp;<br />
log4j.appender.appenderName.option1&nbsp;=&nbsp;value1&nbsp;&nbsp;<br />
<br />
log4j.appender.appenderName.option&nbsp;=&nbsp;valueN&nbsp;&nbsp;<br />
其中,Log4j提供的appender有以下几种:&nbsp;&nbsp;<br />
org.apache.log4j.ConsoleAppender(控制台),&nbsp;&nbsp;<br />
org.apache.log4j.FileAppender(文件),&nbsp;&nbsp;<br />
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),&nbsp;<br />
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),&nbsp;&nbsp;<br />
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)&nbsp;&nbsp;<br />
③配置日志信息的格式(布局),其语法为:&nbsp;&nbsp;<br />
log4j.appender.appenderName.layout&nbsp;=&nbsp;fully.qualified.name.of.layout.class&nbsp;&nbsp;<br />
log4j.appender.appenderName.layout.option1&nbsp;=&nbsp;value1&nbsp;&nbsp;<br />
<br />
log4j.appender.appenderName.layout.option&nbsp;=&nbsp;valueN&nbsp;&nbsp;<br />
其中,Log4j提供的layout有以下几种:&nbsp;&nbsp;<br />
org.apache.log4j.HTMLLayout(以HTML表格形式布局),&nbsp;&nbsp;<br />
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),&nbsp;&nbsp;<br />
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),&nbsp;&nbsp;<br />
org.apache.log4j.TTCCLayout(包含日志产生的时间,线程,类别等等信息)&nbsp;&nbsp;<br />
④Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:&nbsp;&nbsp;<br />
%m&nbsp;输出代码中指定的消息&nbsp;&nbsp;<br />
%p&nbsp;输出优先级,即DEBUG,INFO,WA&nbsp;R&nbsp;N,ERROR,FATAL&nbsp;&nbsp;<br />
%r&nbsp;输出自应用启动到输出该log信息耗费的毫秒数&nbsp;&nbsp;<br />
%c&nbsp;输出所属的类目,通常就是所在类的全名&nbsp;&nbsp;<br />
%t&nbsp;输出产生该日志事件的线程名&nbsp;&nbsp;<br />
%n&nbsp;输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"&nbsp;&nbsp;<br />
%d&nbsp;输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,&nbsp;&nbsp;<br />
比如:%d{yyy&nbsp;MMM&nbsp;dd&nbsp;HH:mm:ss,SSS},输出类似:2002年10月18日&nbsp;22:10:28,921&nbsp;&nbsp;<br />
%l&nbsp;输出日志事件的发生位置,包括类目名,发生的线程,以及在代码中的行数.&nbsp;<br />
这里有2点要说明的，<br />
<span style="color: #333399">一是关于log4j.appender.R.File=example.log&nbsp;，如果不给定绝对路径的话，log文件的默认路径是user.dir，可以通过System.getProperty("user.dir")来得到。<br />
而是关于%5p&nbsp;[%t]&nbsp;(%F:%L)&nbsp;-&nbsp;%m%n&nbsp;&nbsp; 5代表优先级字符串占用几个位置，%F代表文件名，%L代表行号。<br />
</span><br />
使用xml来充当配置，没有去看过，所以也不了解，但是在网上也看到过依赖jar包里的log4j配置将自己应用的log4j.properties屏蔽掉的问题，说是classpath中的jxls-core-0.9.5.jar中的log4j.xml,该配置优先于他的log4j.properties，导致log4j.properties设置失效，不过不太了解是什么原因，但是有人给出了解决方案，<br />
<p>手工重新 configure一下：</p>
<p>org.apache.log4j.LogManager.resetConfiguration(); <br />
然后：</p>
<p>org.apache.log4j.PropertyConfigurator.configure("c:/yourlog4j.properties");</p>
<p>或者</p>
<p>org.apache.log4j.xml.DOMConfigurator.configure("c:/yourlog4j.xml");<br />
</p>
<br />
<br />
<br />
<br />
<br />
<br />
</span>
<img src ="http://www.blogjava.net/licweiwei/aggbug/155095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/licweiwei/" target="_blank">licwei</a> 2007-10-22 20:39 <a href="http://www.blogjava.net/licweiwei/articles/155095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XML文件处理（一）</title><link>http://www.blogjava.net/licweiwei/articles/152726.html</link><dc:creator>licwei</dc:creator><author>licwei</author><pubDate>Sun, 14 Oct 2007 07:04:00 GMT</pubDate><guid>http://www.blogjava.net/licweiwei/articles/152726.html</guid><wfw:comment>http://www.blogjava.net/licweiwei/comments/152726.html</wfw:comment><comments>http://www.blogjava.net/licweiwei/articles/152726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/licweiwei/comments/commentRss/152726.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/licweiwei/services/trackbacks/152726.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt">&nbsp;</span><span style="font-size: 10pt"><span style="font-size: 10pt; font-family: Arial">&nbsp; &nbsp;在 Java 领域 XML 文件的技术大致分为两类:XML API 和 OXMapping.XML API 是 XML 处理的基础，可选技术包括JDOM,Dom4j等；OXMapping 是 Object-XML Mapping 的简称，这种技术隐藏了 XML 底层操作的细节，可以将 XML 文件映射成一个 JavaBean 对象，也可以把一个 JavaBean 对象保存成一个 XML 文件，可选技术 XStream 、 Digester 、 Castor 等。 XML API 和 OXMapping 的关系类似于 JDBC 和 ORMaping 的关系， OXMapping 内部实现使用 XML API 来完成，两种实现技术从不同的层面实现了 XML 的处理。<br />
<br />
</span>&nbsp;&nbsp;&nbsp; <span style="font-size: 10pt; font-family: Arial">XML API </span></span>
<p><span style="font-family: Arial"><span style="font-size: 10pt"><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp;此类 XML 处理技术中最流行的莫过于<span style="font-family: Arial"><span style="font-size: 10pt"><span style="font-size: 10pt">DOM4J </span></span></span>了，</span></span></span><span style="font-family: Arial"><span style="font-size: 10pt"><span style="font-size: 10pt">DOM4J 是一个非常非常优秀的Java XML API，具有性能优异、功能强大和极端易用使用的特点，同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML，特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J</span></span></span><span style="font-size: 10pt"><span style="font-family: Arial"><span style="font-size: 10pt"><br />
<br />
</span></span>&nbsp;&nbsp;&nbsp;<span style="font-family: Arial">&nbsp; <span style="font-size: 10pt">OXMapping </span></span></span></p>
<p><span style="font-family: Arial"><span style="font-size: 10pt"><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp; 使用 XML API 解析是略显烦琐的，受 ORMapping 技术的启发，人们发明了 OXMapping 技术，使用 OXMapping 技术，我们可以将 XML 文件映射成一个 JavaBean 对象，也可以把一个 JavaBean 对象保存成一个 XML 文件，这大大简化了我们的开发工作量，使得开发人员能更多的关注应用层面的东西。 </span></span></span></p>
<p><span style="font-family: Arial"><span style="font-size: 10pt">&nbsp;&nbsp;<span style="font-size: 10pt">&nbsp; 开源世界中涌现出很多 OXMapping 框架，包括 XStream 、 Digester 、 Castor 等。 其中Digester 是&#8220;开源名牌&#8221; Apache 下的子项目，网上可以参考的资料很多。</span><br />
</span></span></p>
<p><br />
</p>
<img src ="http://www.blogjava.net/licweiwei/aggbug/152726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/licweiwei/" target="_blank">licwei</a> 2007-10-14 15:04 <a href="http://www.blogjava.net/licweiwei/articles/152726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tai Wan Shroff的arnList </title><link>http://www.blogjava.net/licweiwei/articles/152618.html</link><dc:creator>licwei</dc:creator><author>licwei</author><pubDate>Sat, 13 Oct 2007 10:59:00 GMT</pubDate><guid>http://www.blogjava.net/licweiwei/articles/152618.html</guid><wfw:comment>http://www.blogjava.net/licweiwei/comments/152618.html</wfw:comment><comments>http://www.blogjava.net/licweiwei/articles/152618.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/licweiwei/comments/commentRss/152618.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/licweiwei/services/trackbacks/152618.html</trackback:ping><description><![CDATA[<p><font face="Arial"><font face="Arial" size="2">今天打算修改Tai Wan Shroff的传递arnList方式.</font></font></p>
<p><font face="Arial" size="2">开始以为用一个static 变量来保存这个List就可以了，还自我得意了一下，以为改进很大。当时在意的是这个static变量会不会被垃圾回收，后来上网查了很多才发现static变量是很JVM共存亡的。只要class被load进入容器，就会一直存在于容器。</font></p>
<p><font face="Arial" size="2">后来陈林一提醒才发现这有多么愚蠢，只要这个功能出现并发访问，那arnList就成了随意修改了，收钱乱套了.......后来又想了一个办法，建一个static的map用一个随机的32数作为key，来作为一次访问的唯一标识（每次search时）。不过用map的话要注意内存的回收，用完过后要把每次的映射删除，不然内存就暴掉了。</font></p>
<p><font face="Arial" size="2">不过后来发现search功能是随时都可以做的，根本就无法删除无用的映射，这个方法又流产了。最后无奈只好还是用原来的笨方法把arnList hidden在页面上。</font></p>
<p><font face="Arial" size="2">觉得struts不能传递List实在是太挫了。只能用数组来循环List中的数据，不知道其他的框架可不可以传递List。</font></p>
<p><font face="Arial" size="2">发现对java的了解还是太少了，一年多一点长进也没有。哎。</font></p>
<img src ="http://www.blogjava.net/licweiwei/aggbug/152618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/licweiwei/" target="_blank">licwei</a> 2007-10-13 18:59 <a href="http://www.blogjava.net/licweiwei/articles/152618.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>