一本天堂ⅴ无码亚洲道久久,亚洲婷婷在线视频,亚洲精品电影在线http://www.tkk7.com/youngturk/category/20357.htmlThe world is a fine place , and worth fighting for it.zh-cnSun, 15 Dec 2013 06:51:21 GMTSun, 15 Dec 2013 06:51:21 GMT60eclipse package,source folder,folder區別及相互轉換 http://www.tkk7.com/youngturk/archive/2013/06/04/400154.htmlyoungturkyoungturkTue, 04 Jun 2013 02:34:00 GMThttp://www.tkk7.com/youngturk/archive/2013/06/04/400154.htmlhttp://www.tkk7.com/youngturk/comments/400154.htmlhttp://www.tkk7.com/youngturk/archive/2013/06/04/400154.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/400154.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/400154.html在eclipse下,package,source folder,folder都是文件夾.  

它們的區別如下:  
package:當你在建立一個package時,它自動建立到source folder下,也只能建立在這個目錄之下.  

source folder:存放java源代碼的文件夾,當然也包括一些package文件夾,還可以包含其他文件.  
項目構建后,source folder里面的java自動編譯成class文件到相應的/web-inf/classes文件夾中,其他文件也會移到/web-inf/classes相應的目錄下.  

 
package和sourceFolder比較
相同之外:package下除了java文件也可以包含其他文件,而且編譯、打包后的文件路徑與source folder下的文件路徑有一樣規則
不同之外:1.sourceFolder靠"/"來進行上下級劃分,package靠“.”來進行上下級劃分。
  2.source folder下能建package,而package下不能建source folder
  3.java文件中的package屬性是按package路徑來進行賦值的,source folder路徑不參與java文件的package屬性賦值,再由第二條不同得到結論,所有source folder下的java文件package屬性都為空。

folder:里面可以放入任何文件.包括java源文件,jar文件,其他文件(例如,圖片,聲音等).在此我說明一下,如果里面含有java源文件,不管程序是否正確,eclipse都不會報錯,把它們當做普通文件處理.但是項目如果要使用這里面的文件,情況就不同了. 

package,source folder,folder 之間相互轉換 
package 轉成 folder 顯示:選中package, build path-> Exclude 
folder 轉成 package 顯示:選中folder, build path-> Include 

package 轉成 source folder 顯示:選中package, build path-> Use as Source folder 
source folder 轉成 package 顯示:選中folder, build path-> Remove from BuildPath 

pacage 與 source folder 的轉換同上 


youngturk 2013-06-04 10:34 發表評論
]]>
web應用從tomat向weblogic8中遷移遇到的三個問題http://www.tkk7.com/youngturk/archive/2013/01/09/394000.htmlyoungturkyoungturkWed, 09 Jan 2013 01:00:00 GMThttp://www.tkk7.com/youngturk/archive/2013/01/09/394000.htmlhttp://www.tkk7.com/youngturk/comments/394000.htmlhttp://www.tkk7.com/youngturk/archive/2013/01/09/394000.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/394000.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/394000.html一、系統環境

1、web應用在tomcat上運行,一切正常。

2、OS:windows XP sp3

3、weblogic version:8.1.3.0

二 、問題及解決方法

1 、 weblogic.utils.ParsingException: nested TokenStreamException: antlr.TokenStreamIOException: 在web應用的WEB-INF目錄下新增(如果沒有)weblogic.xml文件,寫入下面內容:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" 
                  "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> 
<weblogic-web-app> 
  <session-descriptor> 
  </session-descriptor> 

  <jsp-descriptor> 
    <jsp-param> 
      <param-name>encoding</param-name> 
      <param-value>UTF-8</param-value> 
    </jsp-param> 
    <jsp-param> 
      <param-name>pageCheckSeconds</param-name> 
      <param-value>-1</param-value> 
    </jsp-param> 
<jsp-param> 
   <param-name>compilerSupportsEncoding</param-name> 
      <param-value>true</param-value> 
    </jsp-param> 
    <jsp-param> 
      <param-name>verbose</param-name> 
      <param-value>false</param-value> 
    </jsp-param> 
  </jsp-descriptor> 
<charset-params>  
    <input-charset>  
       <resource-path>/*</resource-path>  
       <java-charset-name>UTF-8</java-charset-name>  
     </input-charset>  
   </charset-params> 
</weblogic-web-app> 

  保存,重新deploy應用 

2、 sun.io.MalformedInputException:修改區域和語言選型。

控制面板->區域和語言選型->高級->代碼頁轉換表,去掉54936(GB18030簡體中文)前面的對勾,保存更改。重新deploy應用。

3 、weblogic.servlet.jsp.JspException: (line 1): page directive contentType at /unieap/ria3.3/pages/config.jsp:1 previously defined :修改jsp文件,不能重復定義:<%@ page contentType="text/html; charset=UTF-8"%>

      在含有<%@ include file="/unieap/ria3.3/pages/config.jsp"%>這樣的代碼的JSP文件中,如果在文件頭部已經定義了contentType,那么在被包含的文件中如果重復定義contentType,盡管相同,weblogoic也會報錯,只能改JSP文件,保證一個頁面中只有一個contentType的定義。這個問題在tomcat中是不存在的,可能是兩個應用服務器的解析機制不同。



youngturk 2013-01-09 09:00 發表評論
]]>
在Eclipse中反編譯Class文件的方法http://www.tkk7.com/youngturk/archive/2012/12/21/393314.htmlyoungturkyoungturkFri, 21 Dec 2012 07:19:00 GMThttp://www.tkk7.com/youngturk/archive/2012/12/21/393314.htmlhttp://www.tkk7.com/youngturk/comments/393314.htmlhttp://www.tkk7.com/youngturk/archive/2012/12/21/393314.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/393314.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/393314.html  一、下載

  1。下載 jad 工具,在官方網站沒有下載到,在CSDN上可以下載。

  2。下載插件 net.sf.jadclipse_3.3.0.jar。

  二、安裝

  1。安裝jad工具。下載后解壓,然后將解壓后的jad.exe文件復制到%JAVA_HOME%\bin目錄下面(可以將jad.exe放到任意位置,只要記住其存放路徑就好,下面要用到)。

  2。安裝插件。Eclipse中的插件安裝可以參考:Eclipse使用技巧(三)Eclipse中插件的安裝。

  我用復制的方法:直接把net.sf.jadclipse_3.3.0.jar拷貝到%ECLIPSE_HOME%\plugins目錄下。

  把使用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。

  三、配置

  1。啟動Eclipse,打開Window->Preferences->Java->JadClipse,如果找到了JadClipse,即JadClipse插件被激活了。設置jad路徑:

  

  2。在Eclipse的Windows—> Perference—>General->Editors->File Associations中修改“*.class”默認關聯的編輯器為“JadClipse Class File Viewer”。

  四、使用jad反編譯

  1。在DOS窗口中,到class所在目錄,直接運行 >jad DB.class,將在該目錄中生成DB.jad文件。運行 >jad -sjava DB.class,將在該目錄中生成DB.java文件

  

  2。在Eclipse 工作臺使用:

  1)把class目錄加入項目:(這一步許多文檔都沒有寫到,花了我很多時間)

  1.1)項目--〉屬性--〉java buildpath--〉add class folder (如 a)--〉OK

  1.2)a--〉import--〉General-->File system-->Browse-->OK

  2)雙擊class 文件,出現可愛的java文件,編譯成功。

  

  五、批量反編譯

  以下部分轉載 菠蘿大象的文章:

  現在有人會說了,這樣一個一個的看太麻煩了,我需要一次把一個JAR包下的所有class文件反編譯成java源文件。這樣的想法是可行的,還是使用jad工具。

  3、批量反編譯

  因為之前我們已經將jad加入到了%JAVA_HOME%\bin中,只要配置了環境變量,我們就可以在命令行中方便的使用。在這里,大象還是以dom4j-1.6.1.jar為例來說明具體的操作步驟。

  解壓dom4j-1.6.1.jar和jaxen-1.1-beta-7.jar。為了方便,我將JAR包解壓放到F盤根目錄,在cmd中,進入到F盤根路徑下,輸入命令:jad -o -r -s java -d src org/**/*.class

  我解釋一下這些參數的含義:

  -o:覆蓋舊文件,而且不用提示確認。

  -r:重新加載生成包結構。

  -s:定義輸出文件的擴展名。jad為默認擴展名,我們反編譯后當然是要.java源文件了。

  -d:輸出文件的目錄。src表示反編譯后的所有文件都放在src目錄下。

org/**/*.classorg是解壓后的文件夾的名字,整個表示org目錄下的所有class文件。你也可以寫成這樣**/*.class,這表示當前目錄及其子目錄下所有的class文件(包含所有的子目錄)。
       反編譯dom4j-1.6.1.jar必須得有jaxen-1.1-beta-7.jar,因為dom4j里面有對xpath的調用,而這些東西都是引用jaxen里的API,如果不加則會有這樣的錯誤:
 


    到此,關于反編譯的內容全部說完了,不過我還想補充一點,有可能JAR包中的class文件不是老外的,而是我們自己寫的,里面可能會有中文的情況,這時,雖然反編譯通過了,但里面卻是gb2312形式的unicode編碼,因此我們還得做一個工作,將這些編碼轉換成中文。
    大象使用ant腳本來完成這個工作,內容比較簡單,加了注釋,應該很好明白,腳本文件名為build.xml,它放在src目錄下,和反編譯所得的包處在同一層。

<?xml version="1.0" encoding="GBK"?>
<project name="decompile" basedir="." default="native2ascii">
    
<!-- 定義輸出目錄 -->
    
<property name="build" value="build"/>
    
<!-- 清除輸出目錄 -->
    
<target name="clean">
        
<delete dir="${build}"/>
    
</target>
    
<!-- 創建輸出目錄 -->
    
<target name="init" depends="clean">
        
<mkdir dir="${build}"/>
    
</target>
    
<!-- 編碼轉換 reverse="true"為反向轉換 -->        
    
<target name="native2ascii" depends="init">
        
<native2ascii reverse="true" src="${basedir}" encoding="gb2312" dest="${basedir}/${build}" />
    
</target>
</project>
    有一個地方需要補充一下,在native2ascii元素中,srcdest這兩個屬性表示著路徑。如果反編譯后,src目錄下,有多個不同的文件夾,這時使用ant來轉換編碼,請先想好要對哪些文件進行反編碼;如果按上面的寫法,將會把src目錄下的所有文件夾中的所有文件進行反編碼。假設,現在有comorg兩個文件夾(其實是兩個包),我只需要對com中的文件進行反編碼,那么可以這樣改寫:src="${basedir}/com" dest="${basedir}/${build}/com"
    其它的都不變。在cmd中進入到src路徑下,輸入ant,回車??梢钥吹饺缦陆Y果:

 

 
反編譯的內容基本結束。



youngturk 2012-12-21 15:19 發表評論
]]>
關于struts2中action傳到參數問題http://www.tkk7.com/youngturk/archive/2012/11/22/391786.htmlyoungturkyoungturkThu, 22 Nov 2012 13:26:00 GMThttp://www.tkk7.com/youngturk/archive/2012/11/22/391786.htmlhttp://www.tkk7.com/youngturk/comments/391786.htmlhttp://www.tkk7.com/youngturk/archive/2012/11/22/391786.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/391786.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/391786.html<action name="adminEnterpriceculturesave" class="adminEnterpriceculturesaveAction" method="save">
          <result name="success" type="redirectAction">/admin/adminEnterpriceculturelist.action?enterpriceculture.enterpricetype=A</result>
盡管不好看格式,但是卻很容易懂.
第一種方式的/admin不是命名空間,暫時我還沒時間去實踐他,現在有點忙..因為我的命名空間是這樣的

<struts>

    <package name="enterpriceculture" namespace="/" extends="struts-default">  
        <action name="adminEnterpriceculturesave" class="adminEnterpriceculturesaveAction" method="save">
          <result name="success" type="redirectAction">/admin/adminEnterpriceculturelist.action?enterpriceculture.enterpricetype=A</result>
          <!-- <param name="enterpriceculture.enterpricetype">A</param>
          <result name="success" type="chain">
             <param name="actionName">adminEnterpriceculturelist</param>
             <param name="namespace">/</param>
          </result>-->
      <!-- <result name="success">/admin/Enterpriceculture_List.jsp</result>-->
      </action>

</package>
</struts>
第二種方式:
<param name="enterpriceculture.enterpricetype">A</param>
          <result name="success" type="chain">
             <param name="actionName">adminEnterpriceculturelist</param>
             <param name="namespace">/</param>
          </result>
去掉命名空間因為是在本文件的這個adminEnterpriceculturelist進行跳轉,所以理解起來容易很多..


綜合找到網上有關資料:如下:
chain類型 如下:

   <action name="getTemplate" class="tabAction" method="getTemplateByParas">
         <param name="objectId">${objectId}</param>
        <param name="param1">${param1}</param>
        <param name="items">${items}</param>
       
        <result name="success" type="chain">
         <param name="actionName">${actionName}</param>
         <param name="namespace">${namespace}</param>
        </result>
        
  </action>

       這樣就可以實現傳參了,這里的參數所有對象都可以傳,包括map,List,set 等集合也可以。同時這里還需要注意一個小問題,chain這種類型是XWork中的result類型,它對應的類是:
       com.opensymphony.xwork2.ActionChainResult .   這里需要注意一個小問題, actionName,namespace都是他的屬性,所以對于傳過的URL參數要做一下處理。
       actionName必須是Action的名稱,namespace是他命名空間,必須以"/"開頭,如:
       /tab/getTemplate.action       則 namespace="/tab"   ;  actionName=”getTemplate“; 


youngturk 2012-11-22 21:26 發表評論
]]>
將html語言輸出到頁面轉換為網頁行式輸出方法 escape屬性http://www.tkk7.com/youngturk/archive/2012/11/15/391382.htmlyoungturkyoungturkThu, 15 Nov 2012 07:06:00 GMThttp://www.tkk7.com/youngturk/archive/2012/11/15/391382.htmlhttp://www.tkk7.com/youngturk/comments/391382.htmlhttp://www.tkk7.com/youngturk/archive/2012/11/15/391382.html#Feedback1http://www.tkk7.com/youngturk/comments/commentRss/391382.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/391382.html

youngturk 2012-11-15 15:06 發表評論
]]>
關于EL表達式中requestScope和param區別 http://www.tkk7.com/youngturk/archive/2012/11/12/391205.htmlyoungturkyoungturkMon, 12 Nov 2012 07:30:00 GMThttp://www.tkk7.com/youngturk/archive/2012/11/12/391205.htmlhttp://www.tkk7.com/youngturk/comments/391205.htmlhttp://www.tkk7.com/youngturk/archive/2012/11/12/391205.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/391205.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/391205.html

今天演示EL表達式的時候發現自己jsp的基礎實在是薄弱,在這個很簡單的問題上迷惑了很久。

首先在看遇到的問題:

在瀏覽器地址輸入,表示傳入一個參數test,值為123

http://localhost:8888/Test/index.jsp?test=123


在index.jsp中嘗試使用EL表達式取出,代碼如下:

 <body>
${test}
</body>

發現毫無結果,再使用requestScope嘗試取出:

  <body>
${requestScope.test}
</body>

發現還是毫無結果,感到非常詫異,遂干脆使用java腳本嘗試取出。

  <body>
<%request.getAttribute("test"); %>
</body>


依然無解。

之后發現,若使用已下代碼向request作用域賦值,則用上面代碼可以取出

<%
request.setAttribute(
"test", "123");
%>

 


查詢資料后發現,使用以下代碼可以取出之前的請求參數:
EL:

  <body>
${param.test}
</body>

JAVA腳本:

  <body>
<%=request.getParameter("test") %>
</body>

結論就是:${param.name} 等價于 request.getParamter("name"),這兩種方法一般用于服務器從頁面或者客戶端獲取的內容。

     ${requestScope.name} 等價于 request.getAttribute("name"),一般是從服務器傳遞結果到頁面,在頁面中取出服務器保存的值。

 

參考資料:

el表達式中的${param}

http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html



youngturk 2012-11-12 15:30 發表評論
]]>
關于EL表達式中requestScope和param區別 http://www.tkk7.com/youngturk/archive/2012/11/12/391206.htmlyoungturkyoungturkMon, 12 Nov 2012 07:30:00 GMThttp://www.tkk7.com/youngturk/archive/2012/11/12/391206.htmlhttp://www.tkk7.com/youngturk/comments/391206.htmlhttp://www.tkk7.com/youngturk/archive/2012/11/12/391206.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/391206.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/391206.html

今天演示EL表達式的時候發現自己jsp的基礎實在是薄弱,在這個很簡單的問題上迷惑了很久。

首先在看遇到的問題:

在瀏覽器地址輸入,表示傳入一個參數test,值為123

http://localhost:8888/Test/index.jsp?test=123


在index.jsp中嘗試使用EL表達式取出,代碼如下:

 <body>
${test}
</body>

發現毫無結果,再使用requestScope嘗試取出:

  <body>
${requestScope.test}
</body>

發現還是毫無結果,感到非常詫異,遂干脆使用java腳本嘗試取出。

  <body>
<%request.getAttribute("test"); %>
</body>


依然無解。

之后發現,若使用已下代碼向request作用域賦值,則用上面代碼可以取出

<%
request.setAttribute(
"test", "123");
%>

 


查詢資料后發現,使用以下代碼可以取出之前的請求參數:
EL:

  <body>
${param.test}
</body>

JAVA腳本:

  <body>
<%=request.getParameter("test") %>
</body>

結論就是:${param.name} 等價于 request.getParamter("name"),這兩種方法一般用于服務器從頁面或者客戶端獲取的內容。

     ${requestScope.name} 等價于 request.getAttribute("name"),一般是從服務器傳遞結果到頁面,在頁面中取出服務器保存的值。

 

參考資料:

el表達式中的${param}

http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html



youngturk 2012-11-12 15:30 發表評論
]]>
框架搭建好后,沒有詳細的錯誤信息,主頁無法訪問.用tomcat去調試,沒有詳細log..http://www.tkk7.com/youngturk/archive/2012/11/08/391032.htmlyoungturkyoungturkThu, 08 Nov 2012 08:19:00 GMThttp://www.tkk7.com/youngturk/archive/2012/11/08/391032.htmlhttp://www.tkk7.com/youngturk/comments/391032.htmlhttp://www.tkk7.com/youngturk/archive/2012/11/08/391032.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/391032.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/391032.html這兩天在搭建struts2+spring+hibernate框架的過程中遇到如題的錯誤,在百度和谷歌上查了兩天,以致快到了崩潰的邊緣。最后還是解決了。這個問題的出現,原因有很多,在這總結如下,以供分享:



框架搭建好后,啟動服務器出現如下的信息:

log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).

log4j:WARN Please initialize the log4j system properly.

2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start

嚴重: Error listenerStart

2009-11-6 21:39:17 org.apache.catalina.core.StandardContext start

嚴重: Context startup failed due to previous errors

2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install

信息: Installing web application at context path /tomcat-docs from URL file:D:/server/Tomcat 5.0/webapps/tomcat-docs

2009-11-6 21:39:17 org.apache.catalina.core.StandardHostDeployer install

信息: Installing web application at context path /webdav from URL file:D:/server/Tomcat 5.0/webapps/webdav

。。。。



可能出錯的地方:

1.web.xml文件 web應用部署描述符,里面的部署的xml文件或者類,如果這些找不到就會發生startup failed due to previous errors錯誤。

2.如果在應用spring的話,在配置文件applicationContext.xml中定義的類、xml文件找不到也會報這個錯誤。

3.在web.xml,struts.xml,applicationContext.xml文件中自身有任何一點錯誤都可能引起上面的這個問題,而不僅僅是附帶的文件錯誤導致。

4.如果使用ibatis的話,在SqlMapConfig.xml中定義的xml文件找不到也會報這個錯誤。(hibernate的配置在整合spring的時候使用spring的配置文件)

5.JDK的版本問題,最好使用JDK5.0 或者更高的版本。

6.Eclipse和tomcat的版本兼容問題

7.框架整合的過程中在導入到lib下的jar包沖突也可能產生該錯誤。

8.jar包的缺少以及jar包的版本也可產生該錯誤。

9.其他的原因



解決該問題的途徑:

由于上面問題可能已經是web服務器內部產生了錯誤,而且IDE中的Log信息較少,問題的解決很難入手。

而該問題的產生經常會導致頁面跳轉尋找不到文件的 Http 404 錯誤。。。。。

可以通過在tomcat中添加log文件來讓log信息提示的更精確一些,即設置log輸出的等級。

1.tomcat的安裝路徑下tomcat home下的common文件夾下的classes文件夾中創建log4j.properties文件,即

。。。Apache Software Foundation/Tomcat 5.5/common/classes

log4j.properties配置如下(配置是轉載):

log4j.rootLogger=info,Console,R

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n



log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

log4j.appender.R.File=${catalina.home}/logs/tomcat.log

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n



log4j.logger.org.apache=info,R

log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R

log4j.logger.org.apache.catalina.core=info,R

log4j.logger.org.apache.catalina.session=info,R



2.將log4j-1.2.15.jar和commons-logging.jar包拷貝到。。。Apache Software Foundation/Tomcat 5.5/common/lib下即可。



做好上面兩步,啟動服務器的時候,會在tomcat的安裝路徑下的。。Apache Software Foundation/Tomcat 5.5/logs下自動的

生成tomcat.log文件以記錄日志信息。

注:tomcat.log文件中的日志信息會記載很多,如果過大就可能產生磁盤空間不足的問題,建議定時的清除日志信息。


通過上面的日志文件信息可以定位到比較具體的問題根源,在仔細的查看問題一一攻破即可解決。


我在搭建框架之后,在web.xml文件中配置的歡迎頁面顯示的時候報404的錯誤,通過上面的途徑找到了兩個錯誤,雖然花了兩天的時間,最終還是解決了。



youngturk 2012-11-08 16:19 發表評論
]]>
jar,自定義打包作用http://www.tkk7.com/youngturk/archive/2012/10/30/390459.htmlyoungturkyoungturkTue, 30 Oct 2012 06:15:00 GMThttp://www.tkk7.com/youngturk/archive/2012/10/30/390459.htmlhttp://www.tkk7.com/youngturk/comments/390459.htmlhttp://www.tkk7.com/youngturk/archive/2012/10/30/390459.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/390459.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/390459.html



youngturk 2012-10-30 14:15 發表評論
]]>
log4j.properties 使用http://www.tkk7.com/youngturk/archive/2012/08/23/386087.htmlyoungturkyoungturkThu, 23 Aug 2012 02:26:00 GMThttp://www.tkk7.com/youngturk/archive/2012/08/23/386087.htmlhttp://www.tkk7.com/youngturk/comments/386087.htmlhttp://www.tkk7.com/youngturk/archive/2012/08/23/386087.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/386087.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/386087.htmllog4j.properties 使用
一.參數意義說明
輸出級別的種類
ERROR、WARN、INFO、DEBUG
ERROR 為嚴重錯誤 主要是程序的錯誤
WARN 為一般警告,比如session丟失
INFO 為一般要顯示的信息,比如登錄登出
DEBUG 為程序的調試信息
配置日志信息輸出目的地
log4j.appender.appenderName = fully.qualified.name.of.appender.class
1.org.apache.log4j.ConsoleAppender(控制臺)
2.org.apache.log4j.FileAppender(文件)
3.org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
4.org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)
5.org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
配置日志信息的格式
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),
2.org.apache.log4j.PatternLayout(可以靈活地指定布局模式),
3.org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),
4.org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)
控制臺選項
Threshold=DEBUG:指定日志消息的輸出最低層次。
ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。
Target=System.err:默認情況下是:System.out,指定輸出控制臺
FileAppender 選項
Threshold=DEBUF:指定日志消息的輸出最低層次。
ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。
File=mylog.txt:指定消息輸出到mylog.txt文件。
Append=false:默認值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內容。
RollingFileAppender 選項
Threshold=DEBUG:指定日志消息的輸出最低層次。
ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。
File=mylog.txt:指定消息輸出到mylog.txt文件。
Append=false:默認值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內容。
MaxFileSize=100KB: 后綴可以是KB, MB 或者是 GB. 在日志文件到達該大小時,將會自動滾動,即將原來的內容移到mylog.log.1文件。
MaxBackupIndex=2:指定可以產生的滾動文件的最大數。
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n
日志信息格式中幾個符號所代表的含義:
 -X號: X信息輸出時左對齊;
 %p: 輸出日志信息優先級,即DEBUG,INFO,WARN,ERROR,FATAL,
 %d: 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921
 %r: 輸出自應用啟動到輸出該log信息耗費的毫秒數
 %c: 輸出日志信息所屬的類目,通常就是所在類的全名
 %t: 輸出產生該日志事件的線程名
 %l: 輸出日志事件的發生位置,相當于%C.%M(%F:%L)的組合,包括類目名、發生的線程,以及在代碼中的行數。舉例:Testlog4.main (TestLog4.java:10)
 %x: 輸出和當前線程相關聯的NDC(嵌套診斷環境),尤其用到像java servlets這樣的多客戶多線程的應用中。
 %%: 輸出一個"%"字符
 %F: 輸出日志消息產生時所在的文件名稱
 %L: 輸出代碼中的行號
 %m: 輸出代碼中指定的消息,產生的日志具體信息
 %n: 輸出一個回車換行符,Windows平臺為"\r\n",Unix平臺為"\n"輸出日志信息換行
 可以在%與模式字符之間加上修飾符來控制其最小寬度、最大寬度、和文本的對齊方式。如:
 1)%20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小于20的話,默認的情況下右對齊。
 2)%-20c:指定輸出category的名稱,最小的寬度是20,如果category的名稱小于20的話,"-"號指定左對齊。
 3)%.30c:指定輸出category的名稱,最大的寬度是30,如果category的名稱大于30的話,就會將左邊多出的字符截掉,但小于30的話也不會有空格。
 4)%20.30c:如果category的名稱小于20就補空格,并且右對齊,如果其名稱長于30字符,就從左邊較遠輸出的字符截掉。
二.文件配置Sample1
log4j.rootLogger=DEBUG,A1,R
#log4j.rootLogger=INFO,A1,R
# ConsoleAppender 輸出
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
# File 輸出 一天一個文件,輸出路徑可以定制,一般在根路徑下
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=blog_log.txt
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
文件配置Sample2
下面給出的Log4J配置文件實現了輸出到控制臺,文件,回滾文件,發送日志郵件,輸出到數據庫日志表,自定義標簽等全套功能。
log4j.rootLogger=DEBUG,CONSOLE,A1,im 
#DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE
log4j.addivity.org.apache=true
################### 
# Console Appender 
################### 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold=DEBUG 
log4j.appender.CONSOLE.Target=System.out 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
##################### 
# File Appender 
##################### 
log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=file.log 
log4j.appender.FILE.Append=false 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
# Use this layout for LogFactor 5 analysis
######################## 
# Rolling File 
######################## 
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold=ERROR 
log4j.appender.ROLLING_FILE.File=rolling.log 
log4j.appender.ROLLING_FILE.Append=true 
log4j.appender.ROLLING_FILE.MaxFileSize=10KB 
log4j.appender.ROLLING_FILE.MaxBackupIndex=1 
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#################### 
# Socket Appender 
#################### 
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender 
log4j.appender.SOCKET.RemoteHost=localhost 
log4j.appender.SOCKET.Port=5001 
log4j.appender.SOCKET.LocationInfo=true 
# Set up for Log Facter 5 
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout 
log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n
######################## 
# Log Factor 5 Appender 
######################## 
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender 
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
######################## 
# SMTP Appender 
####################### 
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender 
log4j.appender.MAIL.Threshold=FATAL 
log4j.appender.MAIL.BufferSize=10 
log4j.appender.MAIL.From=chenyl@yeqiangwei.com 
log4j.appender.MAIL.SMTPHost=mail.hollycrm.com 
log4j.appender.MAIL.Subject=Log4J Message 
log4j.appender.MAIL.To=chenyl@yeqiangwei.com 
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout 
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
######################## 
# JDBC Appender 
####################### 
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test 
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver 
log4j.appender.DATABASE.user=root 
log4j.appender.DATABASE.password= 
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') 
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout 
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A1.File=SampleMessages.log4j 
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j' 
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout
################### 
#自定義Appender 
################### 
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
log4j.appender.im.host = mail.cybercorlin.net 
log4j.appender.im.username = username 
log4j.appender.im.password = password 
log4j.appender.im.recipient = corlin@yeqiangwei.com 
log4j.appender.im.layout=org.apache.log4j.PatternLayout 
log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
三.高級使用
實驗目的:
 1.把FATAL級錯誤寫入2000NT日志
 2. WARN,ERROR,FATAL級錯誤發送email通知管理員
 3.其他級別的錯誤直接在后臺輸出
實驗步驟:
 輸出到2000NT日志
 1.把Log4j壓縮包里的NTEventLogAppender.dll拷到WINNT\SYSTEM32目錄下
 2.寫配置文件log4j.properties
# 在2000系統日志輸出
 log4j.logger.NTlog=FATAL, A8
 # APPENDER A8
 log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender
 log4j.appender.A8.Source=JavaTest
 log4j.appender.A8.layout=org.apache.log4j.PatternLayout
 log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
3.調用代碼:
 Logger logger2 = Logger.getLogger("NTlog"); //要和配置文件中設置的名字相同
 logger2.debug("debug!!!");
 logger2.info("info!!!");
 logger2.warn("warn!!!");
 logger2.error("error!!!");
 //只有這個錯誤才會寫入2000日志
 logger2.fatal("fatal!!!");
發送email通知管理員:
 1. 首先下載JavaMail和JAF, 
  http://java.sun.com/j2ee/ja/javamail/index.html 
  http://java.sun.com/beans/glasgow/jaf.html 
 在項目中引用mail.jar和activation.jar。
 2. 寫配置文件
 # 將日志發送到email
 log4j.logger.MailLog=WARN,A5
 #  APPENDER A5
 log4j.appender.A5=org.apache.log4j.net.SMTPAppender
 log4j.appender.A5.BufferSize=5
 log4j.appender.A5.To=chunjie@yeqiangwei.com 
 log4j.appender.A5.From=error@yeqiangwei.com 
 log4j.appender.A5.Subject=ErrorLog
 log4j.appender.A5.SMTPHost=smtp.263.net
 log4j.appender.A5.layout=org.apache.log4j.PatternLayout
 log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
 3.調用代碼:
 //把日志發送到mail
 Logger logger3 = Logger.getLogger("MailLog");
 logger3.warn("warn!!!");
 logger3.error("error!!!");
 logger3.fatal("fatal!!!");
在后臺輸出所有類別的錯誤:
 1. 寫配置文件
 # 在后臺輸出
 log4j.logger.console=DEBUG, A1
 # APPENDER A1
 log4j.appender.A1=org.apache.log4j.ConsoleAppender
 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
 2.調用代碼
 Logger logger1 = Logger.getLogger("console");
 logger1.debug("debug!!!");
 logger1.info("info!!!");
 logger1.warn("warn!!!");
 logger1.error("error!!!");
 logger1.fatal("fatal!!!");
--------------------------------------------------------------------
 全部配置文件:log4j.properties
 # 在后臺輸出
 log4j.logger.console=DEBUG, A1
 # APPENDER A1
 log4j.appender.A1=org.apache.log4j.ConsoleAppender
 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
# 在2000系統日志輸出
 log4j.logger.NTlog=FATAL, A8
 # APPENDER A8
 log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender
 log4j.appender.A8.Source=JavaTest
 log4j.appender.A8.layout=org.apache.log4j.PatternLayout
 log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
# 將日志發送到email
 log4j.logger.MailLog=WARN,A5
 #  APPENDER A5
 log4j.appender.A5=org.apache.log4j.net.SMTPAppender
 log4j.appender.A5.BufferSize=5
 log4j.appender.A5.To=chunjie@yeqiangwei.com 
 log4j.appender.A5.From=error@yeqiangwei.com 
 log4j.appender.A5.Subject=ErrorLog
 log4j.appender.A5.SMTPHost=smtp.263.net
 log4j.appender.A5.layout=org.apache.log4j.PatternLayout
 log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
全部代碼:Log4jTest.java
  
/* 
  * 創建日期 2003-11-13 
  */ 
 package edu.bcu.Bean; 
 import org.apache.log4j.*; 
 //import org.apache.log4j.nt.*; 
 //import org.apache.log4j.net.*; 
 /** 
  * @author yanxu 
  */ 
 public class Log4jTest 
 { 
  public static void main(String args[]) 
  { 
   PropertyConfigurator.configure("log4j.properties"); 
   //在后臺輸出 
   Logger logger1 = Logger.getLogger("console"); 
   logger1.debug("debug!!!"); 
   logger1.info("info!!!"); 
   logger1.warn("warn!!!"); 
   logger1.error("error!!!"); 
   logger1.fatal("fatal!!!");
//在NT系統日志輸出 
   Logger logger2 = Logger.getLogger("NTlog"); 
   //NTEventLogAppender nla = new NTEventLogAppender(); 
   logger2.debug("debug!!!"); 
   logger2.info("info!!!"); 
   logger2.warn("warn!!!"); 
   logger2.error("error!!!"); 
   //只有這個錯誤才會寫入2000日志 
   logger2.fatal("fatal!!!");
//把日志發送到mail 
   Logger logger3 = Logger.getLogger("MailLog"); 
   //SMTPAppender sa = new SMTPAppender(); 
   logger3.warn("warn!!!"); 
   logger3.error("error!!!"); 
   logger3.fatal("fatal!!!"); 
  } 
 }


youngturk 2012-08-23 10:26 發表評論
]]>
當session長時間不登錄失效問題,再重登錄出現兩個嵌套登錄頁面http://www.tkk7.com/youngturk/archive/2012/08/02/384586.htmlyoungturkyoungturkThu, 02 Aug 2012 03:11:00 GMThttp://www.tkk7.com/youngturk/archive/2012/08/02/384586.htmlhttp://www.tkk7.com/youngturk/comments/384586.htmlhttp://www.tkk7.com/youngturk/archive/2012/08/02/384586.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/384586.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/384586.html<script   language="javascript">  
      if (top != window)  
      top.location.href = window.location.href;  
  </script> 



youngturk 2012-08-02 11:11 發表評論
]]>
tomcate 報 PermGen space 錯誤Exception in thread "main" java.lang.OutOfMemoryError: PermGen spacehttp://www.tkk7.com/youngturk/archive/2012/07/22/383729.htmlyoungturkyoungturkSun, 22 Jul 2012 12:25:00 GMThttp://www.tkk7.com/youngturk/archive/2012/07/22/383729.htmlhttp://www.tkk7.com/youngturk/comments/383729.htmlhttp://www.tkk7.com/youngturk/archive/2012/07/22/383729.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/383729.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/383729.html設置:

-Xmx256m
-Xms256m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-verbose:gc


youngturk 2012-07-22 20:25 發表評論
]]>
誤刪資料恢復 http://www.tkk7.com/youngturk/archive/2012/06/20/381198.htmlyoungturkyoungturkWed, 20 Jun 2012 11:59:00 GMThttp://www.tkk7.com/youngturk/archive/2012/06/20/381198.htmlhttp://www.tkk7.com/youngturk/comments/381198.htmlhttp://www.tkk7.com/youngturk/archive/2012/06/20/381198.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/381198.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/381198.html一、誤刪資料恢復
   一不小心刪錯了,還把回收站清空了,咋辦???只要三步,你就能找回你刪掉并清空回收站的東西。 
   步驟: 
   1、單擊“開始——運行,然后輸入regedit (打開注冊表) 

   2、依次展開:HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左邊空白外點擊“新建”,選擇:“主鍵”,把它命名為“645FFO40——5081——101B——9F08——00AA002F954E”再把右邊的“默認”的主鍵的鍵值設為“回收站”,然后退出注冊表。就OK啦。 
   3、要重啟計算機。
   只要機器沒有運行過磁盤整理。系統完好.任何時候的文件都可以找回來。
也許你已經在Excel中完成過上百張財務報表,也許你已利用Excel函數實現過上千次的復雜運算,也許你認為Excel也不過如此,甚至了無新意。但我們平日里無數次重復的得心應手的使用方法只不過是Excel全部技巧的百分之一。本專題從Excel中的一些鮮為人知的技巧入手,領略一下關于Excel的別樣風情。



youngturk 2012-06-20 19:59 發表評論
]]>
Eclipse時出現"Failed to create the Java Virtual Machinehttp://www.tkk7.com/youngturk/archive/2012/04/21/375440.htmlyoungturkyoungturkSat, 21 Apr 2012 01:24:00 GMThttp://www.tkk7.com/youngturk/archive/2012/04/21/375440.htmlhttp://www.tkk7.com/youngturk/comments/375440.htmlhttp://www.tkk7.com/youngturk/archive/2012/04/21/375440.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/375440.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/375440.html256M 修改成128M

youngturk 2012-04-21 09:24 發表評論
]]>
java基礎http://www.tkk7.com/youngturk/archive/2008/01/25/177639.htmlyoungturkyoungturkFri, 25 Jan 2008 00:45:00 GMThttp://www.tkk7.com/youngturk/archive/2008/01/25/177639.htmlhttp://www.tkk7.com/youngturk/comments/177639.htmlhttp://www.tkk7.com/youngturk/archive/2008/01/25/177639.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/177639.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/177639.html閱讀全文

youngturk 2008-01-25 08:45 發表評論
]]>
ANT Build.xml例子分析http://www.tkk7.com/youngturk/archive/2007/08/29/140776.htmlyoungturkyoungturkWed, 29 Aug 2007 01:56:00 GMThttp://www.tkk7.com/youngturk/archive/2007/08/29/140776.htmlhttp://www.tkk7.com/youngturk/comments/140776.htmlhttp://www.tkk7.com/youngturk/archive/2007/08/29/140776.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/140776.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/140776.html閱讀全文

youngturk 2007-08-29 09:56 發表評論
]]>
Java的Build工具—Ant應用指南(3)http://www.tkk7.com/youngturk/archive/2007/08/28/140548.htmlyoungturkyoungturkTue, 28 Aug 2007 07:45:00 GMThttp://www.tkk7.com/youngturk/archive/2007/08/28/140548.htmlhttp://www.tkk7.com/youngturk/comments/140548.htmlhttp://www.tkk7.com/youngturk/archive/2007/08/28/140548.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/140548.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/140548.html閱讀全文

youngturk 2007-08-28 15:45 發表評論
]]>
Java的Build工具—Ant應用指南(2http://www.tkk7.com/youngturk/archive/2007/08/28/140517.htmlyoungturkyoungturkTue, 28 Aug 2007 06:56:00 GMThttp://www.tkk7.com/youngturk/archive/2007/08/28/140517.htmlhttp://www.tkk7.com/youngturk/comments/140517.htmlhttp://www.tkk7.com/youngturk/archive/2007/08/28/140517.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/140517.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/140517.html閱讀全文

youngturk 2007-08-28 14:56 發表評論
]]>
Java的Build工具—Ant應用指南(1)http://www.tkk7.com/youngturk/archive/2007/08/28/140514.htmlyoungturkyoungturkTue, 28 Aug 2007 06:47:00 GMThttp://www.tkk7.com/youngturk/archive/2007/08/28/140514.htmlhttp://www.tkk7.com/youngturk/comments/140514.htmlhttp://www.tkk7.com/youngturk/archive/2007/08/28/140514.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/140514.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/140514.html閱讀全文

youngturk 2007-08-28 14:47 發表評論
]]>
隨筆記http://www.tkk7.com/youngturk/archive/2007/07/13/130032.htmlyoungturkyoungturkFri, 13 Jul 2007 03:37:00 GMThttp://www.tkk7.com/youngturk/archive/2007/07/13/130032.htmlhttp://www.tkk7.com/youngturk/comments/130032.htmlhttp://www.tkk7.com/youngturk/archive/2007/07/13/130032.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/130032.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/130032.html

youngturk 2007-07-13 11:37 發表評論
]]>
soa設計理解http://www.tkk7.com/youngturk/archive/2007/05/14/117329.htmlyoungturkyoungturkMon, 14 May 2007 06:11:00 GMThttp://www.tkk7.com/youngturk/archive/2007/05/14/117329.htmlhttp://www.tkk7.com/youngturk/comments/117329.htmlhttp://www.tkk7.com/youngturk/archive/2007/05/14/117329.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/117329.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/117329.html 



youngturk 2007-05-14 14:11 發表評論
]]>
什么是CGIhttp://www.tkk7.com/youngturk/archive/2007/05/10/116562.htmlyoungturkyoungturkThu, 10 May 2007 10:55:00 GMThttp://www.tkk7.com/youngturk/archive/2007/05/10/116562.htmlhttp://www.tkk7.com/youngturk/comments/116562.htmlhttp://www.tkk7.com/youngturk/archive/2007/05/10/116562.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/116562.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/116562.html定義:

youngturk 2007-05-10 18:55 發表評論
]]>
什么是MRO?http://www.tkk7.com/youngturk/archive/2007/05/10/116371.htmlyoungturkyoungturkThu, 10 May 2007 00:55:00 GMThttp://www.tkk7.com/youngturk/archive/2007/05/10/116371.htmlhttp://www.tkk7.com/youngturk/comments/116371.htmlhttp://www.tkk7.com/youngturk/archive/2007/05/10/116371.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/116371.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/116371.html

youngturk 2007-05-10 08:55 發表評論
]]>
Reflection特性http://www.tkk7.com/youngturk/archive/2007/05/08/115881.htmlyoungturkyoungturkTue, 08 May 2007 02:59:00 GMThttp://www.tkk7.com/youngturk/archive/2007/05/08/115881.htmlhttp://www.tkk7.com/youngturk/comments/115881.htmlhttp://www.tkk7.com/youngturk/archive/2007/05/08/115881.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/115881.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/115881.html在Java運行時環境中,對于任意一個類,能否知道這個類有哪些屬性和方法?對于任意一個對象,能否調用它的任意一個方法?答案是肯定的。這種動態獲取類的信息以及動態調用對象的方法的功能來自于Java語言的反射(Reflection)機制。Java反射機制主要提供了以下功能:
    在運行時判斷任意一個對象所屬的類。
    在運行時構造任意一個類的對象。
    在運行時判斷任意一個類所具有的成員變量和方法。
    在運行時調用任意一個對象的方法。
    生成動態代理。

本章首先介紹了Java Reflection API的用法,然后介紹了一個遠程方法調用的例子,在這個例子中客戶端能夠遠程調用服務器端的一個對象的方法。服務器端采用了反射機制提供的動態調用方法的功能,而客戶端則采用了反射機制提供的動態代理功能。
Reflection 的另三個動態性質:(1) 運行時生成instances,(2) 執

行期喚起methods,(
3) 運行時改動fields。



youngturk 2007-05-08 10:59 發表評論
]]>
事務http://www.tkk7.com/youngturk/archive/2007/04/21/112446.htmlyoungturkyoungturkSat, 21 Apr 2007 07:58:00 GMThttp://www.tkk7.com/youngturk/archive/2007/04/21/112446.htmlhttp://www.tkk7.com/youngturk/comments/112446.htmlhttp://www.tkk7.com/youngturk/archive/2007/04/21/112446.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/112446.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/112446.html(Atomic,Consistent,Isolate,Durable)



youngturk 2007-04-21 15:58 發表評論
]]>
什么是SOA,什么是EPRhttp://www.tkk7.com/youngturk/archive/2007/04/19/111916.htmlyoungturkyoungturkThu, 19 Apr 2007 05:27:00 GMThttp://www.tkk7.com/youngturk/archive/2007/04/19/111916.htmlhttp://www.tkk7.com/youngturk/comments/111916.htmlhttp://www.tkk7.com/youngturk/archive/2007/04/19/111916.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/111916.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/111916.htmlSOA是一種架構模型
ERP——Enterprise Resource Planning 企業資源計劃系統


youngturk 2007-04-19 13:27 發表評論
]]>
javascripthttp://www.tkk7.com/youngturk/archive/2007/03/05/101879.htmlyoungturkyoungturkMon, 05 Mar 2007 04:39:00 GMThttp://www.tkk7.com/youngturk/archive/2007/03/05/101879.htmlhttp://www.tkk7.com/youngturk/comments/101879.htmlhttp://www.tkk7.com/youngturk/archive/2007/03/05/101879.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/101879.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/101879.html2.javascript中打印輸出只能用alert打印出邏輯位置不可以打印出變量的值。
3,在javascript中變量獲得java中變量的形式,var flag="<%=sFlag%>";
4, check = eval("document.byForm.check_box_" + i + ".checked");//eval連結成字符串作用



youngturk 2007-03-05 12:39 發表評論
]]>
主站蜘蛛池模板: 国产线视频精品免费观看视频| 国产成人在线观看免费网站| 免费无码又爽又刺激高潮| 精品无码一区二区三区亚洲桃色 | 国产成人精品免费午夜app| 国产91精品一区二区麻豆亚洲 | 精品亚洲成在人线AV无码| 可以免费观看的国产视频| 亚洲三区在线观看无套内射| 中文字幕免费播放| 国产亚洲一区二区三区在线不卡 | 免费a级毛片无码a∨性按摩| 亚洲国产精品日韩av不卡在线| 99亚洲精品卡2卡三卡4卡2卡| 国产免费久久精品丫丫| 国产亚洲精品线观看动态图| 无遮挡a级毛片免费看| 亚洲综合精品网站在线观看| 青柠影视在线观看免费| 亚洲伦理一区二区| 免费人成网站在线观看10分钟| 夜色阁亚洲一区二区三区| 一区二区三区免费在线观看| 亚洲人成色77777| 一级毛片**不卡免费播| 久久狠狠高潮亚洲精品| 免费看国产精品3a黄的视频| 美女羞羞喷液视频免费| 亚洲国产精品无码成人片久久| 亚洲av无码av在线播放| 亚洲AV无码乱码在线观看| 国产情侣久久久久aⅴ免费| 亚洲人成日本在线观看| 免费大黄网站在线观| 黄色网址在线免费| 亚洲卡一卡二卡乱码新区| 免费观看无遮挡www的小视频| 卡1卡2卡3卡4卡5免费视频 | 亚洲美女在线国产| 亚洲嫩模在线观看| 国产精品久免费的黄网站|