﻿<?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-insomnia,politic,proficient ,sensible.-随笔分类-新认识笔记</title><link>http://www.blogjava.net/youngturk/category/20357.html</link><description>The world is a fine place , and worth fighting for it.</description><language>zh-cn</language><lastBuildDate>Sun, 15 Dec 2013 06:51:21 GMT</lastBuildDate><pubDate>Sun, 15 Dec 2013 06:51:21 GMT</pubDate><ttl>60</ttl><item><title>eclipse package,source folder,folder区别及相互转换 </title><link>http://www.blogjava.net/youngturk/archive/2013/06/04/400154.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 04 Jun 2013 02:34:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/06/04/400154.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/400154.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/06/04/400154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/400154.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/400154.html</trackback:ping><description><![CDATA[<p><span style="line-height: 25px; font-family: courier new,courier">在eclipse下,package,source folder,folder都是文件夹.&nbsp;&nbsp;<br /><br />它们的区别如下:&nbsp;&nbsp;<br />package:当你在建立一个package时,它自动建立到source folder下,也只能建立在这个目录之下.&nbsp;&nbsp;<br /><br />source folder:存放java源代码的文件夹,当然也包括一些package文件夹,还可以包含其他文件.&nbsp;&nbsp;<br />项目构建后,source folder里面的java自动编译成class文件到相应的/web-inf/classes文件夹中,其他文件也会移到/web-inf/classes相应的目录下.&nbsp;&nbsp; </span></p>
<div><span style="font-family: courier new,courier"><span style="line-height: 25px">&nbsp;</span></span></div>
<div><span style="font-family: courier new,courier"><span style="line-height: 25px">package和sourceFolder比较</span></span></div>
<div><span style="font-family: courier new,courier"><span style="line-height: 25px">相同之外：package下除了java文件也可以包含其他文件，而且编译、打包后的文件路径与source folder下的文件路径有一样规则</span></span></div>
<div><span style="font-family: courier new,courier"><span style="line-height: 25px">不同之外：1.sourceFolder靠"/"来进行上下级划分，package靠&#8220;.&#8221;来进行上下级划分。</span></span></div>
<div><span style="font-family: courier new,courier"><span style="line-height: 25px">&nbsp; 2.source folder下能建package,而package下不能建source folder</span></span></div>
<div><span style="font-family: courier new,courier"><span style="line-height: 25px">&nbsp; 3.java文件中的package属性是按package路径来进行赋值的，source folder路径不参与java文件的package属性赋值，再由第二条不同得到结论，所有source folder下的java文件package属性都为空。<br /></span><br /><span style="line-height: 25px">folder:里面可以放入任何文件.包括java源文件,jar文件,其他文件(例如,图片,声音等).在此我说明一下,如果里面含有java源文件,不管程序是否正确,eclipse都不会报错,把它们当做普通文件处理.但是项目如果要使用这里面的文件,情况就不同了.&nbsp;</span><br /><br /><span style="line-height: 25px">package,source folder,folder 之间相互转换&nbsp;</span><br /><span style="line-height: 25px">package 转成 folder 显示：选中package, build path-&gt; Exclude&nbsp;</span><br /><span style="line-height: 25px">folder 转成 package 显示：选中folder, build path-&gt; Include&nbsp;</span><br /><br /><span style="line-height: 25px">package 转成 source folder 显示：选中package, build path-&gt; Use as Source folder&nbsp;</span><br /><span style="line-height: 25px">source folder 转成 package 显示：选中folder, build path-&gt; Remove from BuildPath&nbsp;</span><br /><br /><span style="line-height: 25px">pacage 与 source folder 的转换同上&nbsp;</span></span></div><img src ="http://www.blogjava.net/youngturk/aggbug/400154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-06-04 10:34 <a href="http://www.blogjava.net/youngturk/archive/2013/06/04/400154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web应用从tomat向weblogic8中迁移遇到的三个问题</title><link>http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 09 Jan 2013 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/394000.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/394000.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/394000.html</trackback:ping><description><![CDATA[<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">一、系统环境</p>
<blockquote style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">
<p>1、web应用在tomcat上运行，一切正常。</p>
<p>2、OS：windows XP sp3</p>
<p>3、weblogic version：8.1.3.0</p></blockquote>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">二 、问题及解决方法</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">1 、 weblogic.utils.ParsingException: nested TokenStreamException: antlr.TokenStreamIOException： 在web应用的WEB-INF目录下新增（如果没有）weblogic.xml文件，写入下面内容：</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(0,0,255)">&lt;?</span>xml version="1.0" encoding="UTF-8"<span style="color: rgb(0,0,255)">?&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span>!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">weblogic</span>-<span style="color: rgb(255,0,0)">web</span>-<span style="color: rgb(255,0,0)">app</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">session</span>-<span style="color: rgb(255,0,0)">descriptor</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">session</span>-descriptor<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">descriptor</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>encoding<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>UTF-8<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>pageCheckSeconds<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>-1<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>compilerSupportsEncoding<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>true<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">jsp</span>-<span style="color: rgb(255,0,0)">param</span><span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>verbose<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-name<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">param</span>-<span style="color: rgb(255,0,0)">value</span><span style="color: rgb(0,0,255)">&gt;</span>false<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">param</span>-value<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-param<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">jsp</span>-descriptor<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">charset</span>-<span style="color: rgb(255,0,0)">params</span><span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">input</span>-<span style="color: rgb(255,0,0)">charset</span><span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">resource</span>-<span style="color: rgb(255,0,0)">path</span><span style="color: rgb(0,0,255)">&gt;</span>/*<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">resource</span>-path<span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;</span><span style="color: rgb(128,0,0)">java</span>-<span style="color: rgb(255,0,0)">charset</span>-<span style="color: rgb(255,0,0)">name</span><span style="color: rgb(0,0,255)">&gt;</span>UTF-8<span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">java</span>-charset-name<span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">input</span>-charset<span style="color: rgb(0,0,255)">&gt;</span>&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">charset</span>-params<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /><span style="color: rgb(0,0,255)">&lt;/</span><span style="color: rgb(128,0,0)">weblogic</span>-web-app<span style="color: rgb(0,0,255)">&gt;</span><span class="Apple-converted-space">&nbsp;</span><br /></p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp; 保存，重新deploy应用<span class="Apple-converted-space">&nbsp;</span><br /></p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">2、 sun.io.MalformedInputException：修改区域和语言选型。</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">控制面板-&gt;区域和语言选型-&gt;高级-&gt;代码页转换表，去掉54936（GB18030简体中文）前面的对勾，保存更改。重新deploy应用。</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">3 、weblogic.servlet.jsp.JspException: (line 1): page directive contentType at /unieap/ria3.3/pages/config.jsp:1 previously defined ：修改jsp文件，不能重复定义：&lt;%@ page contentType="text/html; charset=UTF-8"%&gt;</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在含有&lt;%@ include file="/unieap/ria3.3/pages/config.jsp"%&gt;这样的代码的JSP文件中，如果在文件头部已经定义了contentType，那么在被包含的文件中如果重复定义contentType，尽管相同，weblogoic也会报错，只能改JSP文件，保证一个页面中只有一个contentType的定义。这个问题在tomcat中是不存在的，可能是两个应用服务器的解析机制不同。</p><img src ="http://www.blogjava.net/youngturk/aggbug/394000.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-01-09 09:00 <a href="http://www.blogjava.net/youngturk/archive/2013/01/09/394000.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Eclipse中反编译Class文件的方法</title><link>http://www.blogjava.net/youngturk/archive/2012/12/21/393314.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 21 Dec 2012 07:19:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/12/21/393314.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/393314.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/12/21/393314.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/393314.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/393314.html</trackback:ping><description><![CDATA[学习中，需要反编译Java的class文件。我的开发工具是windows xp+Eclipse3.2.2+MyEclipse。我找到了jad反编译工具，在互联网上找到了一些很有用的安装步骤。下面记录了我的安装过程。 
<p><strong>　　一、下载</strong></p>
<p>　　1。下载 jad 工具，在官方网站没有下载到，在CSDN上可以下载。</p>
<p>　　2。下载插件 net.sf.jadclipse_3.3.0.jar。</p>
<p><strong>　　二、安装</strong></p>
<p>　　1。安装jad工具。下载后解压，然后将解压后的jad.exe文件复制到%JAVA_HOME%\bin目录下面(可以将jad.exe放到任意位置，只要记住其存放路径就好，下面要用到)。</p>
<p>　　2。安装插件。Eclipse中的插件安装可以参考：Eclipse使用技巧(三)Eclipse中插件的安装。</p>
<p>　　我用复制的方法：直接把net.sf.jadclipse_3.3.0.jar拷贝到%ECLIPSE_HOME%\plugins目录下。</p>
<p>　　把使用link的方法拷贝到下面：建立D：\Myplugins\net.sf.jadclipse_3.3.0\eclipse\plugins的目录结构，将jadclipse_3.2.4.jar放到plugins目录下面(注：其中D：\Myplugins为你自己定义的一个专门放置插件的目录)。再在%ECLIPSE_HOME%\links目录下面建立一个net.sf.jadclipse_3.3.0.link文件(该文件名随便取)。文件里面内容为：path=D：/Myplugins/net.sf.jadclipse_3.3.0。</p>
<p><strong>　　三、配置</strong></p>
<p>　　1。启动Eclipse，打开Window-&gt;Preferences-&gt;Java-&gt;JadClipse，如果找到了JadClipse，即JadClipse插件被激活了。设置jad路径：</p>
<p>　　<img alt="" src="http://img1.51cto.com/attachment/201002/201002051265354776498.jpg" width="645" height="167" /></p>
<p>　　2。在Eclipse的Windows&#8212;&gt; Perference&#8212;&gt;General-&gt;Editors-&gt;File Associations中修改&#8220;*.class&#8221;默认关联的编辑器为&#8220;JadClipse Class File Viewer&#8221;。</p>
<p><strong>　　四、使用jad反编译</strong></p>
<p>　　1。在DOS窗口中，到class所在目录，直接运行 &gt;jad DB.class，将在该目录中生成DB.jad文件。运行 &gt;jad -sjava DB.class，将在该目录中生成DB.java文件</p>
<p>　　<img alt="" src="http://img1.51cto.com/attachment/201002/201002051265355718064.jpg" width="391" height="138" /></p>
<p>　　2。在Eclipse 工作台使用：</p>
<p>　　1)把class目录加入项目：(这一步许多文档都没有写到，花了我很多时间<img alt="" src="http://nihaiou.blog.51cto.com/editor/icons/etc_05.gif" width="19" height="19" />)</p>
<p>　　1.1)项目--〉属性--〉java buildpath--〉add class folder (如 a)--〉OK</p>
<p>　　1.2)a--〉import--〉General--&gt;File system--&gt;Browse--&gt;OK</p>
<p>　　2)双击class 文件，出现可爱的java文件，编译成功<img alt="" src="http://nihaiou.blog.51cto.com/editor/icons/etc_17.gif" width="19" height="19" />。</p>
<p>　　<img alt="" src="http://img1.51cto.com/attachment/201002/201002051265355380735.jpg" width="543" height="337" /></p>
<p><strong>　　五、批量反编译</strong></p>
<p>　　以下部分转载　菠萝大象的文章：</p>
<p>　　现在有人会说了，这样一个一个的看太麻烦了，我需要一次把一个JAR包下的所有class文件反编译成java源文件。这样的想法是可行的，还是使用jad工具。</p>
<p>　　3、批量反编译</p>
<p>　　因为之前我们已经将jad加入到了%JAVA_HOME%\bin中，只要配置了环境变量，我们就可以在命令行中方便的使用。在这里，大象还是以dom4j-1.6.1.jar为例来说明具体的操作步骤。</p>
<p>　　解压dom4j-1.6.1.jar和jaxen-1.1-beta-7.jar。为了方便，我将JAR包解压放到F盘根目录，在cmd中，进入到F盘根路径下，输入命令：jad -o -r -s java -d src org/**/*.class</p>
<p>　　我解释一下这些参数的含义：</p>
<p>　　-o：覆盖旧文件，而且不用提示确认。</p>
<p>　　-r：重新加载生成包结构。</p>
<p>　　-s：定义输出文件的扩展名。jad为默认扩展名，我们反编译后当然是要.java源文件了。</p>
<p>　　-d：输出文件的目录。src表示反编译后的所有文件都放在src目录下。</p><span style="font-family: 宋体; font-size: 10pt; mso-bidi-font-family: " lang="EN-US" new="" times="">org/**/*.class</span><span style="font-family: 宋体; font-size: 10pt; mso-bidi-font-family: " new="" times="">：<span lang="EN-US">org</span>是解压后的文件夹的名字，整个表示<span lang="EN-US">org</span>目录下的所有<span lang="EN-US">class</span>文件。你也可以写成这样<span lang="EN-US">**/*.class</span>，这表示当前目录及其子目录下所有的<span lang="EN-US">class</span>文件（包含所有的子目录）。</span><br /><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><span style="font-family: 宋体; font-size: 10pt; mso-bidi-font-family: " new="" times="">反编译<span lang="EN-US">dom4j-<ST1:CHSDATE isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.6.1</ST1:CHSDATE>.jar</span>必须得有<span lang="EN-US">jaxen-1.1-beta-7.jar</span>，因为<span lang="EN-US">dom4j</span>里面有对<span lang="EN-US">xpath</span>的调用，而这些东西都是引用<span lang="EN-US">jaxen</span>里的<span lang="EN-US">API</span>，如果不加则会有这样的错误：</span><br />&nbsp; 
<p sizcache07740589816272918="0" sizset="29"><a href="http://img1.51cto.com/attachment/201011/164826792.jpg" target="_blank" sizcache07740589816272918="0" sizset="29"><img border="0" alt="" src="http://img1.51cto.com/attachment/201011/164826792.jpg"  onchange onunload onselect onreset onsubmit /></a></p>
<div><br /><span style="font-family: 宋体; font-size: 10pt; mso-bidi-font-family: " new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000000"><span style="font-family: 宋体; font-size: 10pt; mso-bidi-font-family: " new="" times="">到此，关于反编译的内容全部说完了，不过我还想补充一点，有可能<span lang="EN-US">JAR</span>包中的<span lang="EN-US">class</span>文件不是老外的，而是我们自己写的，里面可能会有中文的情况，这时，虽然反编译通过了，但里面却是<span lang="EN-US">gb2312</span>形式的<span lang="EN-US">unicode</span>编码，因此我们还得做一个工作，将这些编码转换成中文。<br /></span><span style="font-family: 宋体; font-size: 10pt; mso-bidi-font-family: " new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;大象使用<span lang="EN-US">ant</span>脚本来完成这个工作，内容比较简单，加了注释，应该很好明白，脚本文件名为<span lang="EN-US">build.xml</span>，它放在<span lang="EN-US">src</span>目录下，和反编译所得的包处在同一层。</span></span></span><span style="font-family: 宋体; font-size: 10pt; mso-bidi-font-family: " new="" times=""><br /></span></div>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="GBK"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">project&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="decompile"</span><span style="color: #ff0000">&nbsp;basedir</span><span style="color: #0000ff">="."</span><span style="color: #ff0000">&nbsp;default</span><span style="color: #0000ff">="native2ascii"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;定义输出目录&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="build"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="build"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;清除输出目录&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">target&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="clean"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">delete&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${build}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;创建输出目录&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">target&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="init"</span><span style="color: #ff0000">&nbsp;depends</span><span style="color: #0000ff">="clean"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">mkdir&nbsp;</span><span style="color: #ff0000">dir</span><span style="color: #0000ff">="${build}"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;编码转换&nbsp;reverse="true"为反向转换&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">target&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="native2ascii"</span><span style="color: #ff0000">&nbsp;depends</span><span style="color: #0000ff">="init"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">native2ascii&nbsp;</span><span style="color: #ff0000">reverse</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000">&nbsp;src</span><span style="color: #0000ff">="${basedir}"</span><span style="color: #ff0000">&nbsp;encoding</span><span style="color: #0000ff">="gb2312"</span><span style="color: #ff0000">&nbsp;dest</span><span style="color: #0000ff">="${basedir}/${build}"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">project</span><span style="color: #0000ff">&gt;</span></div>
<div><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">&nbsp;&nbsp;&nbsp;&nbsp;有一个地方需要补充一下，在</span><span style="font-family: ; color: #0000ff; font-size: 10pt" lang="EN-US" courier="">native2ascii</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">元素中，</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">src</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">和</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">dest</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">这两个属性表示着路径。如果反编译后，</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">src</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">目录下，有多个不同的文件夹，这时使用</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">ant</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">来转换编码，请先想好要对哪些文件进行反编码；如果按上面的写法，将会把</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">src</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">目录下的所有文件夹中的所有文件进行反编码。假设，现在有</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">com</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">和</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">org</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">两个文件夹（其实是两个包），我只需要对</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">com</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">中的文件进行反编码，那么可以这样改写：</span><span style="font-family: ; color: navy; font-size: 10pt" lang="EN-US" courier=""><span style="color: #0000ff"><span style="font-family: ; font-size: 10pt" lang="EN-US" courier=""><span style="background-color: #ffffff"><span style="font-family: ; color: navy; font-size: 10pt" lang="EN-US" courier=""><span style="color: #0000ff"><span style="font-family: ; font-size: 10pt" lang="EN-US" courier="">src</span></span>=</span><span style="font-family: ; color: green; font-size: 10pt" lang="EN-US" courier="">"${basedir}/com" </span></span></span></span></span><span style="font-family: ; color: navy; font-size: 10pt" lang="EN-US" courier=""><span style="color: #0000ff"><span style="font-family: ; font-size: 10pt" lang="EN-US" courier=""><span style="background-color: #ffffff"><span style="font-family: ; color: navy; font-size: 10pt" lang="EN-US" courier=""><span style="color: #0000ff"><span style="font-family: ; font-size: 10pt" lang="EN-US" courier="">dest</span></span>=</span><span style="font-family: ; color: green; font-size: 10pt" lang="EN-US" courier="">"${basedir}/${build}/com"<br /></span></span></span></span></span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">&nbsp;&nbsp;&nbsp;&nbsp;其它的都不变。在</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">cmd</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">中进入到</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">src</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">路径下，输入</span><span style="font-family: ; color: black; font-size: 10pt" lang="EN-US" courier="">ant</span><span style="font-family: 宋体; color: black; font-size: 10pt; mso-ascii-font-family: " courier="">，回车。可以看到如下结果：</span><br /><br />&nbsp;</div>
<p sizcache07740589816272918="0" sizset="30"><a href="http://img1.51cto.com/attachment/201011/164847545.jpg" target="_blank" sizcache07740589816272918="0" sizset="30"><img border="0" alt="" src="http://img1.51cto.com/attachment/201011/164847545.jpg"  onchange onunload onselect onreset onsubmit /></a></p>
<div>&nbsp;</div>
<div>反编译的内容基本结束。</div><br /><img src ="http://www.blogjava.net/youngturk/aggbug/393314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-12-21 15:19 <a href="http://www.blogjava.net/youngturk/archive/2012/12/21/393314.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于struts2中action传到参数问题</title><link>http://www.blogjava.net/youngturk/archive/2012/11/22/391786.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 22 Nov 2012 13:26:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/22/391786.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391786.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/22/391786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391786.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391786.html</trackback:ping><description><![CDATA[第一种方式：<br />&lt;action name="adminEnterpriceculturesave" class="adminEnterpriceculturesaveAction" method="save"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="redirectAction"&gt;/admin/adminEnterpriceculturelist.action?enterpriceculture.enterpricetype=A&lt;/result&gt;<br />尽管不好看格式，但是却很容易懂.<br />第一种方式的/admin不是命名空间，暂时我还没时间去实践他，现在有点忙..因为我的命名空间是这样的<br />
<p>&lt;struts&gt; </p>
<p>&nbsp;&nbsp;&nbsp; &lt;package name="enterpriceculture" namespace="/" extends="struts-default"&gt;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action name="adminEnterpriceculturesave" class="adminEnterpriceculturesaveAction" method="save"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="redirectAction"&gt;/admin/adminEnterpriceculturelist.action?enterpriceculture.enterpricetype=A&lt;/result&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- &lt;param name="enterpriceculture.enterpricetype"&gt;A&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="chain"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="actionName"&gt;adminEnterpriceculturelist&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="namespace"&gt;/&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;--&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;!-- &lt;result name="success"&gt;/admin/Enterpriceculture_List.jsp&lt;/result&gt;--&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp; &lt;/action&gt;</p>&lt;/package&gt;<br />&lt;/struts&gt;<br />第二种方式：<br />&lt;param name="enterpriceculture.enterpricetype"&gt;A&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="chain"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="actionName"&gt;adminEnterpriceculturelist&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="namespace"&gt;/&lt;/param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt;<br />去掉命名空间因为是在本文件的这个adminEnterpriceculturelist进行跳转，所以理解起来容易很多..<br /><br /><br />综合找到网上有关资料：如下：<br />chain类型 如下： <br /><br />&nbsp;&nbsp; &lt;action name="getTemplate" class="tabAction" method="getTemplateByParas"&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param name="objectId"&gt;${objectId}&lt;/param&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="param1"&gt;${param1}&lt;/param&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="items"&gt;${items}&lt;/param&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="success" type="chain"&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="actionName"&gt;${actionName}&lt;/param&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;param name="namespace"&gt;${namespace}&lt;/param&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/result&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <br />&nbsp;&nbsp;&lt;/action&gt; <br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样就可以实现传参了，这里的参数所有对象都可以传，包括map,List,set 等集合也可以。同时这里还需要注意一个小问题，chain这种类型是XWork中的result类型,它对应的类是： <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;com.opensymphony.xwork2.ActionChainResult&nbsp;.&nbsp;&nbsp; 这里需要注意一个小问题， actionName,namespace都是他的属性，所以对于传过的URL参数要做一下处理。 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actionName必须是Action的名称，namespace是他命名空间，必须以"/"开头，如： <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /tab/getTemplate.action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 则 namespace="/tab"&nbsp;&nbsp; ;&nbsp; actionName=&#8221;getTemplate&#8220;;&nbsp; <br /><img src ="http://www.blogjava.net/youngturk/aggbug/391786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-22 21:26 <a href="http://www.blogjava.net/youngturk/archive/2012/11/22/391786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将html语言输出到页面转换为网页行式输出方法 escape属性</title><link>http://www.blogjava.net/youngturk/archive/2012/11/15/391382.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 15 Nov 2012 07:06:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/15/391382.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391382.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/15/391382.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391382.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391382.html</trackback:ping><description><![CDATA[在struts2中 用escape属性 可以直接将html语言,输出成为网页形式去掉了其中的标记..<img src ="http://www.blogjava.net/youngturk/aggbug/391382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-15 15:06 <a href="http://www.blogjava.net/youngturk/archive/2012/11/15/391382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于EL表达式中requestScope和param区别 </title><link>http://www.blogjava.net/youngturk/archive/2012/11/12/391205.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Mon, 12 Nov 2012 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/12/391205.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391205.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/12/391205.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391205.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391205.html</trackback:ping><description><![CDATA[<div id="cnblogs_post_body">
<p>今天演示EL表达式的时候发现自己jsp的基础实在是薄弱，在这个很简单的问题上迷惑了很久。</p>
<p>首先在看遇到的问题：</p>
<p>在浏览器地址输入，表示传入一个参数test，值为123</p>
<div class="cnblogs_code"><pre>http://localhost:8888/Test/index.jsp?test=123</pre></div>
<p><br />在index.jsp中尝试使用EL表达式取出，代码如下：</p>
<div class="cnblogs_code"><pre> <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />    ${test}<br /> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>发现毫无结果，再使用requestScope尝试取出：</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />    ${requestScope.test}<br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>发现还是毫无结果，感到非常诧异，遂干脆使用java脚本尝试取出。</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />      <span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">request.getAttribute(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">test</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">); </span><span style="background-color: #ffff00; color: #000000">%&gt;</span><br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p><br />依然无解。</p>
<p>之后发现，若使用已下代码向request作用域赋值，则用上面代码可以取出</p>
<div class="cnblogs_code"><pre><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000"><br />    request.setAttribute(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">test</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">, </span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">123</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">);<br /> </span><span style="background-color: #ffff00; color: #000000">%&gt;</span></pre></div>
<p>&nbsp;</p>
<p><br />查询资料后发现，使用以下代码可以取出之前的请求参数：<br />EL:</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />    ${param.test}<br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>JAVA脚本：</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />      <span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">request.getParameter(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">test</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">) </span><span style="background-color: #ffff00; color: #000000">%&gt;</span><br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>结论就是：<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #ff0000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" class="Apple-style-span"><span style="text-align: left; line-height: 23px; font-family: simsun; font-size: 14px" class="Apple-style-span">${param.name} 等价于 request.getParamter("name")<span style="color: #000000">，这两种方法<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" class="Apple-style-span"><span style="text-align: left; line-height: 23px; font-family: simsun; font-size: 14px" class="Apple-style-span">一般用于服务器从页面或者客户端获取的内容。</span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #ff0000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" class="Apple-style-span"><span style="text-align: left; line-height: 23px; font-family: simsun; font-size: 14px" class="Apple-style-span">　　　　　${requestScope.name}&nbsp;等价于&nbsp;request.getAttribute("name")<span style="color: #000000">，一般是从服务器传递结果到页面，在页面中取出服务器保存的值。</span></span></span></p>
<p>&nbsp;</p>
<p>参考资料：</p>
<blockquote>
<h1 style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: #ffffff; font-size: 14px; padding-top: 3px"><span style="color: #000080"><strong>el表达式中的${param}</strong></span></h1>
<p><a href="http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html">http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html</a></p></blockquote></div><img src ="http://www.blogjava.net/youngturk/aggbug/391205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-12 15:30 <a href="http://www.blogjava.net/youngturk/archive/2012/11/12/391205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于EL表达式中requestScope和param区别 </title><link>http://www.blogjava.net/youngturk/archive/2012/11/12/391206.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Mon, 12 Nov 2012 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/12/391206.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391206.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/12/391206.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391206.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391206.html</trackback:ping><description><![CDATA[<div id="cnblogs_post_body">
<p>今天演示EL表达式的时候发现自己jsp的基础实在是薄弱，在这个很简单的问题上迷惑了很久。</p>
<p>首先在看遇到的问题：</p>
<p>在浏览器地址输入，表示传入一个参数test，值为123</p>
<div class="cnblogs_code"><pre>http://localhost:8888/Test/index.jsp?test=123</pre></div>
<p><br />在index.jsp中尝试使用EL表达式取出，代码如下：</p>
<div class="cnblogs_code"><pre> <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />    ${test}<br /> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>发现毫无结果，再使用requestScope尝试取出：</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />    ${requestScope.test}<br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>发现还是毫无结果，感到非常诧异，遂干脆使用java脚本尝试取出。</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />      <span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">request.getAttribute(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">test</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">); </span><span style="background-color: #ffff00; color: #000000">%&gt;</span><br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p><br />依然无解。</p>
<p>之后发现，若使用已下代码向request作用域赋值，则用上面代码可以取出</p>
<div class="cnblogs_code"><pre><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000"><br />    request.setAttribute(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">test</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">, </span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">123</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">);<br /> </span><span style="background-color: #ffff00; color: #000000">%&gt;</span></pre></div>
<p>&nbsp;</p>
<p><br />查询资料后发现，使用以下代码可以取出之前的请求参数：<br />EL:</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />    ${param.test}<br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>JAVA脚本：</p>
<div class="cnblogs_code"><pre>  <span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><br />      <span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">request.getParameter(</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">test</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">) </span><span style="background-color: #ffff00; color: #000000">%&gt;</span><br />  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span></pre></div>
<p>结论就是：<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #ff0000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" class="Apple-style-span"><span style="text-align: left; line-height: 23px; font-family: simsun; font-size: 14px" class="Apple-style-span">${param.name} 等价于 request.getParamter("name")<span style="color: #000000">，这两种方法<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" class="Apple-style-span"><span style="text-align: left; line-height: 23px; font-family: simsun; font-size: 14px" class="Apple-style-span">一般用于服务器从页面或者客户端获取的内容。</span></span></span></span></span></p>
<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: #ff0000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none" class="Apple-style-span"><span style="text-align: left; line-height: 23px; font-family: simsun; font-size: 14px" class="Apple-style-span">　　　　　${requestScope.name}&nbsp;等价于&nbsp;request.getAttribute("name")<span style="color: #000000">，一般是从服务器传递结果到页面，在页面中取出服务器保存的值。</span></span></span></p>
<p>&nbsp;</p>
<p>参考资料：</p>
<blockquote>
<h1 style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: #ffffff; font-size: 14px; padding-top: 3px"><span style="color: #000080"><strong>el表达式中的${param}</strong></span></h1>
<p><a href="http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html">http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html</a></p></blockquote></div><img src ="http://www.blogjava.net/youngturk/aggbug/391206.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-12 15:30 <a href="http://www.blogjava.net/youngturk/archive/2012/11/12/391206.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>框架搭建好后,没有详细的错误信息,主页无法访问.用tomcat去调试,没有详细log..</title><link>http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 08 Nov 2012 08:19:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391032.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391032.html</trackback:ping><description><![CDATA[<p align="left">这两天在搭建s<a href="http://www.linuxso.com/command/tr.html" target="_blank"><u>tr</u></a>uts2+spring+hibernate框架的过程中遇到如题的错误，在百度和谷歌上查了两天，以致快到了崩溃的边缘。最后还是解决了。这个问题的出现，原因有很多，在这总结如下，以供分享：<br /><br /><br /><br />框架搭建好后，启动服务器出现如下的信息：<br /><br />log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).<br /><br />log4j:WARN Please initialize the log4j system properly.<br /><br />2009-11-6 21:39:17 org.apache.<a href="http://www.linuxso.com/command/cat.html" target="_blank"><u>cat</u></a>alina.core.StandardCont<a href="http://www.linuxso.com/command/ex.html" target="_blank"><u>ex</u></a>t start<br /><br />严重: Error listenerStart<br /><br />2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start<br /><br />严重: Context startup failed <a href="http://www.linuxso.com/command/du.html" target="_blank"><u>du</u></a>e to previous errors<br /><br />2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install<br /><br />信息: Installing web application at context path /to<a href="http://www.linuxso.com/command/mc.html" target="_blank"><u>mc</u></a>at-docs from URL <a href="http://www.linuxso.com/command/file.html" target="_blank"><u>file</u></a>:D:/server/Tomcat 5.0/webapps/tomcat-docs<br /><br />2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install<br /><br />信息: Installing web application at context path /webdav from URL file:D:/server/Tomcat 5.0/webapps/webdav<br /><br />。。。。<br /><br /><br /><br />可能出错的地方：<br /><br />1.web.xml文件 web应用部署描述符，里面的部署的xml文件或者类，如果这些找不到就会发生startup failed due to previous errors错误。<br /><br />2.如果在应用spring的话，在配置文件applicationContext.xml中定义的类、xml文件找不到也会报这个错误。<br /><br />3.在web.xml，struts.xml，applicationContext.xml文件中自身有任何一点错误都可能引起上面的这个问题，而不仅仅是附带的文件错误导致。<br /><br />4.如果使用ibatis的话，在SqlMapConfig.xml中定义的xml文件找不到也会报这个错误。（hibernate的配置在整合spring的时候使用spring的配置文件）<br /><br />5.JDK的版本问题，最好使用JDK5.0 或者更高的版本。<br /><br />6.Eclipse和tomcat的版本兼容问题<br /><br />7.框架整合的过程中在导入到lib下的jar包冲突也可能产生该错误。<br /><br />8.jar包的缺少以及jar包的版本也可产生该错误。<br /><br />9.其他的原因<br /><br /><br /><br />解决该问题的途径：<br /><br />由于上面问题可能已经是web服务器内部产生了错误，而且IDE中的Log信息较少，问题的解决很难入手。<br /><br />而该问题的产生经常会导致页面跳转寻找不到文件的 Http 404 错误。。。。。<br /><br />可以通过在tomcat中添加log文件来让log信息提示的更精确一些，即设置log输出的等级。<br /><br />1.tomcat的安装路径下tomcat home下的common文件夹下的classes文件夹中创建log4j.properties文件，即<br /><br />。。。Apache Software Foundation/Tomcat 5.5/common/classes<br /><br />log4j.properties配置如下（配置是转载）：<br /><br />log4j.rootLogger=info,Console,R <br /><br />log4j.appender.Console=org.apache.log4j.ConsoleAppender<br /><br />log4j.appender.Console.layout=org.apache.log4j.PatternLayout<br /><br />#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n<br /><br />log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-<a href="http://www.linuxso.com/command/dd.html" target="_blank"><u>dd</u></a> HH:mm:ss} %5p %c{1}:%L - %m%n<br /><br /><br /><br />log4j.appender.R=org.apache.log4j.DailyRollingFileAppender<br /><br />log4j.appender.R.File=${catalina.home}/logs/tomcat.log <br /><br />log4j.appender.R.layout=org.apache.log4j.PatternLayout<br /><br />log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n <br /><br /><br /><br />log4j.logger.org.apache=info,R<br /><br />log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R <br /><br />log4j.logger.org.apache.catalina.core=info,R<br /><br />log4j.logger.org.apache.catalina.session=info,R<br /><br /><br /><br />2.将log4j-1.2.15.jar和commons-logging.jar包拷贝到。。。Apache Software Foundation/Tomcat 5.5/common/lib下即可。<br /><br /><br /><br />做好上面两步，启动服务器的时候，会在tomcat的安装路径下的。。Apache Software Foundation/Tomcat 5.5/logs下自动的<br /><br />生成tomcat.log文件以记录日志信息。<br /><br />注：tomcat.log文件中的日志信息会记载很多，如果过大就可能产生磁盘空间不足的问题，建议定时的清除日志信息。<br /><br /><br />通过上面的日志文件信息可以定位到比较具体的问题根源，在仔细的查看问题一一攻破即可解决。<br /><br /><br />我在搭建框架之后，在web.xml文件中配置的欢迎页面显示的时候报404的错误，通过上面的途径找到了两个错误，虽然花了两天的时间，最终还是解决了。<br /></p><img src ="http://www.blogjava.net/youngturk/aggbug/391032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-08 16:19 <a href="http://www.blogjava.net/youngturk/archive/2012/11/08/391032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jar,自定义打包作用</title><link>http://www.blogjava.net/youngturk/archive/2012/10/30/390459.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 30 Oct 2012 06:15:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/10/30/390459.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/390459.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/10/30/390459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/390459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/390459.html</trackback:ping><description><![CDATA[可以将自己写的java文件打包成a.jar形式,由export导出,引入时候之间引入到lib目录下即可.与原来形式一样..<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/youngturk/jar实例.png" width="796" height="217" /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/youngturk/JAR打包.png" width="637" height="539" /><br /><br /><img src ="http://www.blogjava.net/youngturk/aggbug/390459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-10-30 14:15 <a href="http://www.blogjava.net/youngturk/archive/2012/10/30/390459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j.properties 使用</title><link>http://www.blogjava.net/youngturk/archive/2012/08/23/386087.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 23 Aug 2012 02:26:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/08/23/386087.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/386087.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/08/23/386087.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/386087.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/386087.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">log4j.properties&nbsp;使用<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />一.参数意义说明<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />输出级别的种类<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />ERROR、WARN、INFO、DEBUG<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />ERROR&nbsp;为严重错误&nbsp;主要是程序的错误<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />WARN&nbsp;为一般警告，比如session丢失<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />INFO&nbsp;为一般要显示的信息，比如登录登出<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />DEBUG&nbsp;为程序的调试信息<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />配置日志信息输出目的地<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.appenderName&nbsp;=&nbsp;fully.qualified.name.of.appender.class<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />1.org.apache.log4j.ConsoleAppender（控制台）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />2.org.apache.log4j.FileAppender（文件）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />3.org.apache.log4j.DailyRollingFileAppender（每天产生一个日志文件）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />4.org.apache.log4j.RollingFileAppender（文件大小到达指定尺寸的时候产生一个新的文件）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />5.org.apache.log4j.WriterAppender（将日志信息以流格式发送到任意指定的地方）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />配置日志信息的格式<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.appenderName.layout&nbsp;=&nbsp;fully.qualified.name.of.layout.class<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />1.org.apache.log4j.HTMLLayout（以HTML表格形式布局），<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />2.org.apache.log4j.PatternLayout（可以灵活地指定布局模式），<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />3.org.apache.log4j.SimpleLayout（包含日志信息的级别和信息字符串），<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />4.org.apache.log4j.TTCCLayout（包含日志产生的时间、线程、类别等等信息）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />控制台选项<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Threshold=DEBUG:指定日志消息的输出最低层次。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Target=System.err：默认情况下是：System.out,指定输出控制台<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />FileAppender&nbsp;选项<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Threshold=DEBUF:指定日志消息的输出最低层次。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />File=mylog.txt:指定消息输出到mylog.txt文件。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Append=false:默认值是true,即将消息增加到指定文件中，false指将消息覆盖指定的文件内容。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />RollingFileAppender&nbsp;选项<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Threshold=DEBUG:指定日志消息的输出最低层次。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />File=mylog.txt:指定消息输出到mylog.txt文件。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />Append=false:默认值是true,即将消息增加到指定文件中，false指将消息覆盖指定的文件内容。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />MaxFileSize=100KB:&nbsp;后缀可以是KB,&nbsp;MB&nbsp;或者是&nbsp;GB.&nbsp;在日志文件到达该大小时，将会自动滚动，即将原来的内容移到mylog.log.1文件。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />MaxBackupIndex=2:指定可以产生的滚动文件的最大数。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;%d{yyyy-MM-dd&nbsp;HH:mm:ssS}&nbsp;%c&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />日志信息格式中几个符号所代表的含义：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;-X号:&nbsp;X信息输出时左对齐；<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%p:&nbsp;输出日志信息优先级，即DEBUG，INFO，WARN，ERROR，FATAL,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%d:&nbsp;输出日志时间点的日期或时间，默认格式为ISO8601，也可以在其后指定格式，比如：%d{yyy&nbsp;MMM&nbsp;dd&nbsp;HH:mm:ss,SSS}，输出类似：2002年10月18日&nbsp;22：10：28，921<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%r:&nbsp;输出自应用启动到输出该log信息耗费的毫秒数<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%c:&nbsp;输出日志信息所属的类目，通常就是所在类的全名<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%t:&nbsp;输出产生该日志事件的线程名<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%l:&nbsp;输出日志事件的发生位置，相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程，以及在代码中的行数。举例：Testlog4.main&nbsp;(TestLog4.java:10)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%x:&nbsp;输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java&nbsp;servlets这样的多客户多线程的应用中。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%%:&nbsp;输出一个"%"字符<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%F:&nbsp;输出日志消息产生时所在的文件名称<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%L:&nbsp;输出代码中的行号<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%m:&nbsp;输出代码中指定的消息,产生的日志具体信息<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;%n:&nbsp;输出一个回车换行符，Windows平台为"\r\n"，Unix平台为"\n"输出日志信息换行<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;1)%20c：指定输出category的名称，最小的宽度是20，如果category的名称小于20的话，默认的情况下右对齐。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;2)%-20c:指定输出category的名称，最小的宽度是20，如果category的名称小于20的话，"-"号指定左对齐。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;3)%.30c:指定输出category的名称，最大的宽度是30，如果category的名称大于30的话，就会将左边多出的字符截掉，但小于30的话也不会有空格。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;4)%20.30c:如果category的名称小于20就补空格，并且右对齐，如果其名称长于30字符，就从左边较远输出的字符截掉。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />二.文件配置Sample1<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.rootLogger=DEBUG,A1,R<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#log4j.rootLogger=INFO,A1,R<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;ConsoleAppender&nbsp;输出<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1=org.apache.log4j.ConsoleAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd&nbsp;HH:mm:ss,SSS}&nbsp;[%c]-[%p]&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;File&nbsp;输出&nbsp;一天一个文件,输出路径可以定制,一般在根路径下<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.R=org.apache.log4j.DailyRollingFileAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.R.File=blog_log.txt<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.R.MaxFileSize=500KB<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.R.MaxBackupIndex=10<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.R.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd&nbsp;HH:mm:ss,SSS}&nbsp;[%t]&nbsp;[%c]&nbsp;[%p]&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />文件配置Sample2<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />下面给出的Log4J配置文件实现了输出到控制台，文件，回滚文件，发送日志邮件，输出到数据库日志表，自定义标签等全套功能。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.rootLogger=DEBUG,CONSOLE,A1,im&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.addivity.org.apache=true<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />###################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;Console&nbsp;Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />###################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.Threshold=DEBUG&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.CONSOLE.Target=System.out&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.CONSOLE.layout.ConversionPattern=[framework]&nbsp;%d&nbsp;-&nbsp;%c&nbsp;-%-4r&nbsp;[%t]&nbsp;%-5p&nbsp;%c&nbsp;%x&nbsp;-&nbsp;%m%n&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]&nbsp;n%c[CATEGORY]%n%m[MESSAGE]%n%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#####################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;File&nbsp;Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#####################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.FILE=org.apache.log4j.FileAppender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.FILE.File=file.log&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.FILE.Append=false&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.FILE.layout=org.apache.log4j.PatternLayout&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.FILE.layout.ConversionPattern=[framework]&nbsp;%d&nbsp;-&nbsp;%c&nbsp;-%-4r&nbsp;[%t]&nbsp;%-5p&nbsp;%c&nbsp;%x&nbsp;-&nbsp;%m%n&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;Use&nbsp;this&nbsp;layout&nbsp;for&nbsp;LogFactor&nbsp;5&nbsp;analysis<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />########################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;Rolling&nbsp;File&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />########################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE.Threshold=ERROR&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE.File=rolling.log&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE.Append=true&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE.MaxFileSize=10KB&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE.MaxBackupIndex=1&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework]&nbsp;%d&nbsp;-&nbsp;%c&nbsp;-%-4r&nbsp;[%t]&nbsp;%-5p&nbsp;%c&nbsp;%x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />####################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;Socket&nbsp;Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />####################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.SOCKET.RemoteHost=localhost&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.SOCKET.Port=5001&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.SOCKET.LocationInfo=true&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;Set&nbsp;up&nbsp;for&nbsp;Log&nbsp;Facter&nbsp;5&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />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<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />########################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;Log&nbsp;Factor&nbsp;5&nbsp;Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />########################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />########################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;SMTP&nbsp;Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#######################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.Threshold=FATAL&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.BufferSize=10&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.From=chenyl@yeqiangwei.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.SMTPHost=mail.hollycrm.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.Subject=Log4J&nbsp;Message&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.To=chenyl@yeqiangwei.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.MAIL.layout.ConversionPattern=[framework]&nbsp;%d&nbsp;-&nbsp;%c&nbsp;-%-4r&nbsp;[%t]&nbsp;%-5p&nbsp;%c&nbsp;%x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />########################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;JDBC&nbsp;Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#######################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE.user=root&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE.password=&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE.sql=INSERT&nbsp;INTO&nbsp;LOG4J&nbsp;(Message)&nbsp;VALUES&nbsp;('[framework]&nbsp;%d&nbsp;-&nbsp;%c&nbsp;-%-4r&nbsp;[%t]&nbsp;%-5p&nbsp;%c&nbsp;%x&nbsp;-&nbsp;%m%n')&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.DATABASE.layout.ConversionPattern=[framework]&nbsp;%d&nbsp;-&nbsp;%c&nbsp;-%-4r&nbsp;[%t]&nbsp;%-5p&nbsp;%c&nbsp;%x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1.File=SampleMessages.log4j&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />###################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#自定义Appender&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />###################&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.im&nbsp;=&nbsp;net.cybercorlin.util.logger.appender.IMAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.im.host&nbsp;=&nbsp;mail.cybercorlin.net&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.im.username&nbsp;=&nbsp;username&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.im.password&nbsp;=&nbsp;password&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.im.recipient&nbsp;=&nbsp;corlin@yeqiangwei.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.im.layout=org.apache.log4j.PatternLayout&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />log4j.appender.im.layout.ConversionPattern&nbsp;=[framework]&nbsp;%d&nbsp;-&nbsp;%c&nbsp;-%-4r&nbsp;[%t]&nbsp;%-5p&nbsp;%c&nbsp;%x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />三.高级使用<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />实验目的：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;1.把FATAL级错误写入2000NT日志<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;2.&nbsp;WARN，ERROR，FATAL级错误发送email通知管理员<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;3.其他级别的错误直接在后台输出<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />实验步骤：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;输出到2000NT日志<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;1.把Log4j压缩包里的NTEventLogAppender.dll拷到WINNT\SYSTEM32目录下<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;2.写配置文件log4j.properties<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;在2000系统日志输出<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.logger.NTlog=FATAL,&nbsp;A8<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;APPENDER&nbsp;A8<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8.Source=JavaTest<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;[%t]&nbsp;%37c&nbsp;%3x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />3.调用代码：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;Logger&nbsp;logger2&nbsp;=&nbsp;Logger.getLogger("NTlog");&nbsp;//要和配置文件中设置的名字相同<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger2.debug("debug!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger2.info("info!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger2.warn("warn!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger2.error("error!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;//只有这个错误才会写入2000日志<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger2.fatal("fatal!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />发送email通知管理员：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;1.&nbsp;首先下载JavaMail和JAF,&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;http://java.sun.com/j2ee/ja/javamail/index.html&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;http://java.sun.com/beans/glasgow/jaf.html&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;在项目中引用mail.jar和activation.jar。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;2.&nbsp;写配置文件<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;将日志发送到email<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.logger.MailLog=WARN,A5<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;&nbsp;APPENDER&nbsp;A5<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5=org.apache.log4j.net.SMTPAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.BufferSize=5<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.To=chunjie@yeqiangwei.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.From=error@yeqiangwei.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.Subject=ErrorLog<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.SMTPHost=smtp.263.net<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;[%t]&nbsp;%37c&nbsp;%3x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;3.调用代码：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;//把日志发送到mail<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;Logger&nbsp;logger3&nbsp;=&nbsp;Logger.getLogger("MailLog");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger3.warn("warn!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger3.error("error!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger3.fatal("fatal!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />在后台输出所有类别的错误：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;1.&nbsp;写配置文件<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;在后台输出<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.logger.console=DEBUG,&nbsp;A1<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;APPENDER&nbsp;A1<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A1=org.apache.log4j.ConsoleAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A1.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;[%t]&nbsp;%37c&nbsp;%3x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;2．调用代码<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;Logger&nbsp;logger1&nbsp;=&nbsp;Logger.getLogger("console");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger1.debug("debug!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger1.info("info!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger1.warn("warn!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger1.error("error!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;logger1.fatal("fatal!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />--------------------------------------------------------------------<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;全部配置文件：log4j.properties<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;在后台输出<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.logger.console=DEBUG,&nbsp;A1<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;APPENDER&nbsp;A1<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A1=org.apache.log4j.ConsoleAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A1.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;[%t]&nbsp;%37c&nbsp;%3x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;在2000系统日志输出<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.logger.NTlog=FATAL,&nbsp;A8<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;APPENDER&nbsp;A8<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8.Source=JavaTest<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A8.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;[%t]&nbsp;%37c&nbsp;%3x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />#&nbsp;将日志发送到email<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.logger.MailLog=WARN,A5<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;#&nbsp;&nbsp;APPENDER&nbsp;A5<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5=org.apache.log4j.net.SMTPAppender<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.BufferSize=5<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.To=chunjie@yeqiangwei.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.From=error@yeqiangwei.com&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.Subject=ErrorLog<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.SMTPHost=smtp.263.net<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.layout=org.apache.log4j.PatternLayout<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;log4j.appender.A5.layout.ConversionPattern=%-4r&nbsp;%-5p&nbsp;[%t]&nbsp;%37c&nbsp;%3x&nbsp;-&nbsp;%m%n<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />全部代码：Log4jTest.java<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />/*&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;*&nbsp;创建日期&nbsp;2003-11-13&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;*/&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;package&nbsp;edu.bcu.Bean;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;import&nbsp;org.apache.log4j.*;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;//import&nbsp;org.apache.log4j.nt.*;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;//import&nbsp;org.apache.log4j.net.*;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;/**&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;*&nbsp;@author&nbsp;yanxu&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;*/&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;public&nbsp;class&nbsp;Log4jTest&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;{&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String&nbsp;args[])&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;{&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;PropertyConfigurator.configure("log4j.properties");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;//在后台输出&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;Logger&nbsp;logger1&nbsp;=&nbsp;Logger.getLogger("console");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger1.debug("debug!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger1.info("info!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger1.warn("warn!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger1.error("error!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger1.fatal("fatal!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />//在NT系统日志输出&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;Logger&nbsp;logger2&nbsp;=&nbsp;Logger.getLogger("NTlog");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;//NTEventLogAppender&nbsp;nla&nbsp;=&nbsp;new&nbsp;NTEventLogAppender();&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger2.debug("debug!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger2.info("info!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger2.warn("warn!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger2.error("error!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;//只有这个错误才会写入2000日志&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger2.fatal("fatal!!!");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />//把日志发送到mail&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;Logger&nbsp;logger3&nbsp;=&nbsp;Logger.getLogger("MailLog");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;//SMTPAppender&nbsp;sa&nbsp;=&nbsp;new&nbsp;SMTPAppender();&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger3.warn("warn!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger3.error("error!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;logger3.fatal("fatal!!!");&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;}&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;}</span></div><img src ="http://www.blogjava.net/youngturk/aggbug/386087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-08-23 10:26 <a href="http://www.blogjava.net/youngturk/archive/2012/08/23/386087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>当session长时间不登录失效问题,再重登录出现两个嵌套登录页面</title><link>http://www.blogjava.net/youngturk/archive/2012/08/02/384586.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 02 Aug 2012 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/08/02/384586.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/384586.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/08/02/384586.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/384586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/384586.html</trackback:ping><description><![CDATA[<p>&lt;script&nbsp;&nbsp; language="javascript"&gt;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (top != window)&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; top.location.href = window.location.href;&nbsp;&nbsp; <br />&nbsp; &lt;/script&gt;&nbsp;</p><img src ="http://www.blogjava.net/youngturk/aggbug/384586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-08-02 11:11 <a href="http://www.blogjava.net/youngturk/archive/2012/08/02/384586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcate 报 PermGen space 错误Exception in thread "main" java.lang.OutOfMemoryError: PermGen space</title><link>http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Sun, 22 Jul 2012 12:25:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/383729.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/383729.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/383729.html</trackback:ping><description><![CDATA[修改myEclipse中window===&gt;preference===&gt;myeclipse==&gt;tomcat==&gt;jdk===&gt;operation Java VM arguments<br />设置:<br /><br />-Xmx256m <br />-Xms256m <br />-XX:PermSize=512m <br />-XX:MaxPermSize=512m <br />-verbose:gc <br /><img src ="http://www.blogjava.net/youngturk/aggbug/383729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-07-22 20:25 <a href="http://www.blogjava.net/youngturk/archive/2012/07/22/383729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>误删资料恢复 </title><link>http://www.blogjava.net/youngturk/archive/2012/06/20/381198.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 20 Jun 2012 11:59:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/06/20/381198.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/381198.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/06/20/381198.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/381198.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/381198.html</trackback:ping><description><![CDATA[<font size="4"><font color="#17365d"><font face="楷体_GB2312"><strong>一、误删资料恢复</strong> <br />&nbsp;&nbsp; 一不小心删错了，还把回收站清空了，咋办啊？只要三步，你就能找回你删掉并清空回收站的东西。&nbsp;<br /><strong>&nbsp;&nbsp; 步骤：</strong>&nbsp;<br />&nbsp;&nbsp; 1、单击&#8220;开始&#8212;&#8212;运行，然后输入regedit （打开注册表）&nbsp;</font></font></font> 
<p align="left"><font color="#17365d" size="4" face="楷体_GB2312">&nbsp;&nbsp; 2、依次展开：</font><font face="楷体_GB2312"><font color="#17365d" size="4">HEKEY&#8212;&#8212;LOCAL&#8212;&#8212;MACHIME/SOFTWARE/microsoft/WINDOWS/CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左边空白外点击&#8220;新建&#8221;，选择：&#8220;主键&#8221;，把它命名为&#8220;645FFO40&#8212;&#8212;5081&#8212;&#8212;101B&#8212;&#8212;9F08&#8212;&#8212;00AA002F954E&#8221;再把右边的&#8220;默认&#8221;的主键的键值设为&#8220;回收站&#8221;，然后退出注册表。就OK啦。&nbsp;<br />&nbsp;&nbsp; 3、要重启计算机。 <br />&nbsp;&nbsp; 只要机器没有运行过磁盘整理。系统完好.任何时候的文件都可以找回来。</font><font color="#17365d"><font size="4">也许你已经在Excel中完成过上百张财务报表，也许你已利用Excel函数实现过上千次的复杂运算，也许你认为Excel也不过如此，甚至了无新意。但我们平日里无数次重复的得心应手的使用方法只不过是Excel全部技巧的百分之一。本专题从Excel中的一些鲜为人知的技巧入手，领略一下关于Excel的别样风情。</font></font></font></p> <img src ="http://www.blogjava.net/youngturk/aggbug/381198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-06-20 19:59 <a href="http://www.blogjava.net/youngturk/archive/2012/06/20/381198.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse时出现"Failed to create the Java Virtual Machine</title><link>http://www.blogjava.net/youngturk/archive/2012/04/21/375440.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Sat, 21 Apr 2012 01:24:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/04/21/375440.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/375440.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/04/21/375440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/375440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/375440.html</trackback:ping><description><![CDATA[--launcher.XXMaxPermSize<br />256M 修改成128M<img src ="http://www.blogjava.net/youngturk/aggbug/375440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-04-21 09:24 <a href="http://www.blogjava.net/youngturk/archive/2012/04/21/375440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java基础</title><link>http://www.blogjava.net/youngturk/archive/2008/01/25/177639.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 25 Jan 2008 00:45:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2008/01/25/177639.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/177639.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2008/01/25/177639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/177639.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/177639.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 关于java的集合类,以及HashMap中Set的用法!2007-08-07&nbsp;16:17关于java的集合类,以及HashMap中Set的用法!&nbsp;&nbsp;&nbsp;2005-10-22&nbsp;14:47:43&nbsp;Sat&nbsp;|&nbsp;阅读（547）次&nbsp;&nbsp;&nbsp;&nbsp;package&nbsp;com....&nbsp;&nbsp;<a href='http://www.blogjava.net/youngturk/archive/2008/01/25/177639.html'>阅读全文</a><img src ="http://www.blogjava.net/youngturk/aggbug/177639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2008-01-25 08:45 <a href="http://www.blogjava.net/youngturk/archive/2008/01/25/177639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ANT Build.xml例子分析</title><link>http://www.blogjava.net/youngturk/archive/2007/08/29/140776.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 29 Aug 2007 01:56:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/08/29/140776.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/140776.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/08/29/140776.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/140776.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/140776.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/youngturk/archive/2007/08/29/140776.html'>阅读全文</a><img src ="http://www.blogjava.net/youngturk/aggbug/140776.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-08-29 09:56 <a href="http://www.blogjava.net/youngturk/archive/2007/08/29/140776.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java的Build工具—Ant应用指南（3）</title><link>http://www.blogjava.net/youngturk/archive/2007/08/28/140548.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 28 Aug 2007 07:45:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/08/28/140548.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/140548.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/08/28/140548.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/140548.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/140548.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/youngturk/archive/2007/08/28/140548.html'>阅读全文</a><img src ="http://www.blogjava.net/youngturk/aggbug/140548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-08-28 15:45 <a href="http://www.blogjava.net/youngturk/archive/2007/08/28/140548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java的Build工具—Ant应用指南（2</title><link>http://www.blogjava.net/youngturk/archive/2007/08/28/140517.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 28 Aug 2007 06:56:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/08/28/140517.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/140517.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/08/28/140517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/140517.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/140517.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/youngturk/archive/2007/08/28/140517.html'>阅读全文</a><img src ="http://www.blogjava.net/youngturk/aggbug/140517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-08-28 14:56 <a href="http://www.blogjava.net/youngturk/archive/2007/08/28/140517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java的Build工具—Ant应用指南（1）</title><link>http://www.blogjava.net/youngturk/archive/2007/08/28/140514.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 28 Aug 2007 06:47:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/08/28/140514.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/140514.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/08/28/140514.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/140514.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/140514.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/youngturk/archive/2007/08/28/140514.html'>阅读全文</a><img src ="http://www.blogjava.net/youngturk/aggbug/140514.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-08-28 14:47 <a href="http://www.blogjava.net/youngturk/archive/2007/08/28/140514.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>随笔记</title><link>http://www.blogjava.net/youngturk/archive/2007/07/13/130032.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 13 Jul 2007 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/07/13/130032.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/130032.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/07/13/130032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/130032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/130032.html</trackback:ping><description><![CDATA[1.javascrip中检验保存项是否为空，java中获取保存数据。
<img src ="http://www.blogjava.net/youngturk/aggbug/130032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-07-13 11:37 <a href="http://www.blogjava.net/youngturk/archive/2007/07/13/130032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>soa设计理解</title><link>http://www.blogjava.net/youngturk/archive/2007/05/14/117329.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Mon, 14 May 2007 06:11:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/05/14/117329.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/117329.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/05/14/117329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/117329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/117329.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_141043 onclick="this.style.display='none'; Code_Closed_Text_141043.style.display='none'; Code_Open_Image_141043.style.display='inline'; Code_Open_Text_141043.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_141043 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_141043.style.display='none'; Code_Closed_Image_141043.style.display='inline'; Code_Closed_Text_141043.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_141043 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Code_Open_Text_141043 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">SOA基础平台、业务分支、企业终端整合涉足这三方面的厂商到底谁是赢家<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>在中国部署SOA的过程中所遇到的两大问题；一是企业业务越来越复杂的情况下，IT结构发生了变化，使得企业IT转向了服务，其二是中国本土技术人员参差不齐的业务和技术水平导致SOA实施标准化建设的困难重重。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>在SOA实施的过程中，如何将业务人员和开发人员的相遇、合作、磨合天衣无缝的结合起来，技术人员到底如何清晰的与业务相结合，这是SOA成功与否的关键因素。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></span></div>
<img src ="http://www.blogjava.net/youngturk/aggbug/117329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-05-14 14:11 <a href="http://www.blogjava.net/youngturk/archive/2007/05/14/117329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是CGI</title><link>http://www.blogjava.net/youngturk/archive/2007/05/10/116562.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 10 May 2007 10:55:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/05/10/116562.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/116562.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/05/10/116562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/116562.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/116562.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_185436 onclick="this.style.display='none'; Code_Closed_Text_185436.style.display='none'; Code_Open_Image_185436.style.display='inline'; Code_Open_Text_185436.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_185436 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_185436.style.display='none'; Code_Closed_Image_185436.style.display='inline'; Code_Closed_Text_185436.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_185436 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">定义：</span><span id=Code_Open_Text_185436 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">1</span><span style="COLOR: #000000">.&nbsp;定义：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>CGI(Common&nbsp;Gateway&nbsp;Interface)是HTTP服务器与你的或其它机器<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>上的程序进行&#8220;交谈&#8221;的一种工具，其程序须运行在网络服务器上。&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">.&nbsp;功能：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>绝大多数的CGI程序被用来解释处理杰自表单的输入信息，并在服<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>务器产生相应的处理，或将相应的信息反馈给浏览器。CGI程序使<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>网页具有交互功能。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">.&nbsp;运行环境：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>CGI程序在UNIX操作系统上CERN或NCSA格式的服务器上运行。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>在其它操作系统（如：windows&nbsp;NT及windows95等）的服务器上<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>也广泛地使用CGI程序，同时它也适用于各种类型机器。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">.&nbsp;CGI处理步骤：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>⑴通过Internet把用户请求送到服务器。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>⑵服务器接收用户请求并交给CGI程序处理。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>⑶CGI程序把处理结果传送给服务器。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>⑷服务器把结果送回到用户。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">.&nbsp;CGI服务器配置：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>CGI程序不是放在服务器上就能顺利运行，如果要想使其在服务器<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>上顺利的运行并准确的处理用户的请求，则须对所使用的服务器进<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>行必要的设置。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>配置：根据所使用的服务器类型以及它的设置把CGI程序放在某一<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>特定的目录中或使其带有特定的扩展名。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>⑴CREN格式服务器的配置：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>编辑CREN格式服务器的配置文件通常为</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">etc</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">httpd.conf</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_568_2103_Open_Image onclick="this.style.display='none'; Codehighlighter1_568_2103_Open_Text.style.display='none'; Codehighlighter1_568_2103_Closed_Image.style.display='inline'; Codehighlighter1_568_2103_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_568_2103_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_568_2103_Closed_Text.style.display='none'; Codehighlighter1_568_2103_Open_Image.style.display='inline'; Codehighlighter1_568_2103_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>在文件中加入：Exec&nbsp;cgi</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">bin</span><span id=Codehighlighter1_568_2103_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_568_2103_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">/home/www/cgi-bin/*.exec<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>命令中出现的第一个参数cgi-bin/*指出了在URL中出现的目录<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>名字，并表示它出<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>现在系统主机后的第一个目录中，如：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000; TEXT-DECORATION: underline">http://edgar.stern.nyn.edu/cgi-bin/</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>命令中的第二个参数表示CGI程序目录放在系统中的真实路径。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>CGI目录除了可以点网络文件放在同一目录中，也可以放在系统<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>的其它目录中，但必须保证在你的系统中也具有同样的目录。在<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>对服务器完成设置后，须重新启动服务器（除非HTTP服务器是用<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>inetd启动的）。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>⑵NCSA格式服务器的配置<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>在NCSA格式服务器上有两种方法进行设置：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>①在srm.conf文件（通常在conf目录下）中加入：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>Script&nbsp;Alias/cgi-bin/cgi-bin/<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>Script&nbsp;Alias命令指出某一目录下的文件是可执行程序，且这<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>个命令是用来执行<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>这些程序的；此命令的两个参数与CERN格式服务器中的Exec命<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>令的参数的含意一样。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>②在srm.conf文件加入：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>Add&nbsp;type&nbsp;application/x-httpd-cgi.cgi<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>此命令表示在服务器上增加了一种新的文件类型，其后第一个<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>参数为CGI程序的MIME类型，第二个参数是文件的扩展名，表<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>示以这一扩展名为扩展名的文件是CGI程序。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>在用上述方法之一设置服务器后，都得重新启动服务器（除非<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>HTTP服务器是用inetd启动的）。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>6.&nbsp;CGI的编写语言<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>CGI可以用任何一种语言编写，只要这种语言具有标准输入、输出和<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>环境变量。对初学者来说，最好选用易于归档和能有效表示大量数据<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>结构的语言，例如<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>UNIX环境中：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&#183;&nbsp;Perl&nbsp;(Practical&nbsp;Extraction&nbsp;and&nbsp;Reporting&nbsp;Language)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&#183;&nbsp;Bourne&nbsp;Shed或者Tcl&nbsp;(Tool&nbsp;Command&nbsp;Language)<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>Windows环境中：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&#183;&nbsp;C和C++<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>由于Internet上大部分服务器使用的是UNIX操作系统，且几乎任<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>一UNIX操作系统中都有Bourne&nbsp;Shell，因而后面讲述的例子中大部<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>分是用Bourne&nbsp;Shell编写的。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>7.&nbsp;CGI环境变量列表<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>用&nbsp;好易环境变量探针&nbsp;来查看CGI环境变量<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>SERVER-NAME：运行CGI序为机器名或IP地址。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>SEUVER-INTERFACE：WWW服务器的类型，如：CERN型或NCSA型。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>SERVER-PROTOCOL：通信协议，应当是HTTP/1.0。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>SERVER-PORT：TCP端口，一般说来web端口是80。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>HTTP-ACCEPT：HTTP定义的浏览器能够接受的数据类型。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>HTTP-REFERER：&nbsp;发送表单的文件URL。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>（并非所有的浏览器都传送这一变量）<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>HTTP-USER-AGENT：发送表单的浏览器的有关信息。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>GETWAY-INTERFACE：CGI程序的版本，在UNIX下为&nbsp;CGI/1.1。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>PATH-TRANSLATED：&nbsp;PATH-INFO中包含的实际路径名。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>PATH-INFO：浏览器用GET方式发送数据时的附加路径。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>SCRIPT-NAME：&nbsp;CGI程序的路径名。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>QUERY-STRING：表单输入的数据，URL中间号后的内容。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>REMOTE-NOST：发送程序的主机名，不能确定该值。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>REMOTE-ADDR：发送程序的机器的IP地址。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>REMOTE-USBR：发送程序的人名。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>CONTENT-TYPE：POST发送，一般为applioation/xwww-form-urlencoded。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>CONTENT-LENGTH：POST方法输入的数据的字节数。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span></span></div>
</span>
<img src ="http://www.blogjava.net/youngturk/aggbug/116562.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-05-10 18:55 <a href="http://www.blogjava.net/youngturk/archive/2007/05/10/116562.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是MRO?</title><link>http://www.blogjava.net/youngturk/archive/2007/05/10/116371.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 10 May 2007 00:55:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/05/10/116371.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/116371.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/05/10/116371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/116371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/116371.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_085446 onclick="this.style.display='none'; Code_Closed_Text_085446.style.display='none'; Code_Open_Image_085446.style.display='inline'; Code_Open_Text_085446.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_085446 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_085446.style.display='none'; Code_Closed_Image_085446.style.display='inline'; Code_Closed_Text_085446.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_085446 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Code_Open_Text_085446 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Maintenance维护、Repair维修、Operation运行&nbsp;(MRO)&nbsp;：&nbsp;通常是指在实际的生产过程不直接构成产品，只用于维护、维修、运行设备的物料和服务。</span></span></div>
<img src ="http://www.blogjava.net/youngturk/aggbug/116371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-05-10 08:55 <a href="http://www.blogjava.net/youngturk/archive/2007/05/10/116371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Reflection特性</title><link>http://www.blogjava.net/youngturk/archive/2007/05/08/115881.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 08 May 2007 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/05/08/115881.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/115881.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/05/08/115881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/115881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/115881.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">在Java运行时环境中，对于任意一个类，能否知道这个类有哪些属性和方法？对于任意一个对象，能否调用它的任意一个方法？答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射（Reflection）机制。Java反射机制主要提供了以下功能：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;在运行时判断任意一个对象所属的类。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;在运行时构造任意一个类的对象。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;在运行时判断任意一个类所具有的成员变量和方法。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;在运行时调用任意一个对象的方法。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;生成动态代理。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>本章首先介绍了Java&nbsp;Reflection&nbsp;API的用法，然后介绍了一个远程方法调用的例子，在这个例子中客户端能够远程调用服务器端的一个对象的方法。服务器端采用了反射机制提供的动态调用方法的功能，而客户端则采用了反射机制提供的动态代理功能。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Reflection&nbsp;的另三个动态性质：(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;运行时生成instances，(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)&nbsp;执<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>行期唤起methods，(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)&nbsp;运行时改动fields。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.blogjava.net/youngturk/aggbug/115881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-05-08 10:59 <a href="http://www.blogjava.net/youngturk/archive/2007/05/08/115881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>事务</title><link>http://www.blogjava.net/youngturk/archive/2007/04/21/112446.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Sat, 21 Apr 2007 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/04/21/112446.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/112446.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/04/21/112446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/112446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/112446.html</trackback:ping><description><![CDATA[<p>(Atomic,Consistent,Isolate,Durable)</p>
<img src ="http://www.blogjava.net/youngturk/aggbug/112446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-04-21 15:58 <a href="http://www.blogjava.net/youngturk/archive/2007/04/21/112446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是SOA,什么是EPR</title><link>http://www.blogjava.net/youngturk/archive/2007/04/19/111916.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 19 Apr 2007 05:27:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/04/19/111916.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/111916.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/04/19/111916.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/111916.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/111916.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_132144 onclick="this.style.display='none'; Code_Closed_Text_132144.style.display='none'; Code_Open_Image_132144.style.display='inline'; Code_Open_Text_132144.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_132144 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_132144.style.display='none'; Code_Closed_Image_132144.style.display='inline'; Code_Closed_Text_132144.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_132144 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">SOA是一种架构模型</span><span id=Code_Open_Text_132144 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Service</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Oriented&nbsp;Architecture，面向服务架构，SOA是一种架构模型，它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础，可以直接被应用调用，从而有效控制系统中与软件代理互联网纾的人为依赖性。SOA的几个关键特性：一种粗粒度、松耦合服务架构，服务之间通过简单、精确定义适配器进行通讯，不涉及底层编程适配器和通讯模型。<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></span></div>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_132648 onclick="this.style.display='none'; Code_Closed_Text_132648.style.display='none'; Code_Open_Image_132648.style.display='inline'; Code_Open_Text_132648.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_132648 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_132648.style.display='none'; Code_Closed_Image_132648.style.display='inline'; Code_Closed_Text_132648.style.display='inline';" height=16 src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_132648 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">ERP——Enterprise Resource Planning 企业资源计划系统</span><span id=Code_Open_Text_132648 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">ERP——Enterprise&nbsp;Resource&nbsp;Planning&nbsp;企业资源计划系统，是指建立在信息技术基础上，对企业的所有资源（物流、资金流、信息流、人力资源）进行整合集成管理，采用信息化手段实现企业供销链管理，从而达到对供应链上的每一环节实现科学管理。ERP系统集中信息技术与先进的管理思想于一身，成为现代企业的运行模式，反映时代对企业合理调配资源，最大化地创造社会财富的要求，成为企业在信息时代生存、发展的基石。在企业中，一般的管理主要包括三方面的内容：生产控制（计划、制造）、物流管理（分销、采购、库存管理）和财务管理（会计核算、财务管理）；三大系统集成一体，加之现代对人力资源的重视，就构成了ERP系统的基本模块。商通ERP系统将各个模块细化，拆分，形成相对独立又可无缝衔接的软件系统，使得不同规模的企业可根据需要自由组合，让企业的资源得到最优化配置</span></span></div>
<img src ="http://www.blogjava.net/youngturk/aggbug/111916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-04-19 13:27 <a href="http://www.blogjava.net/youngturk/archive/2007/04/19/111916.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript</title><link>http://www.blogjava.net/youngturk/archive/2007/03/05/101879.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Mon, 05 Mar 2007 04:39:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2007/03/05/101879.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/101879.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2007/03/05/101879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/101879.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/101879.html</trackback:ping><description><![CDATA[1。在javascript中不可以将布尔变量传到其中，可以是String,int等型 用if作判断时候现在java中判断出"Y","N"标志，再放在IF中作判段。 
<p>2.javascript中打印输出只能用alert打印出逻辑位置不可以打印出变量的值。<br />3，在javascript中变量获得java中变量的形式，var flag="&lt;%=sFlag%&gt;";<br />4, check = eval("document.byForm.check_box_" + i + ".checked");//eval连结成字符串作用</p><img src ="http://www.blogjava.net/youngturk/aggbug/101879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2007-03-05 12:39 <a href="http://www.blogjava.net/youngturk/archive/2007/03/05/101879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>