锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产成人久久三区,亚洲精品视频专区,亚洲国产精品无码久久久久久曰http://m.tkk7.com/botson/zh-cnMon, 12 May 2025 12:59:11 GMTMon, 12 May 2025 12:59:11 GMT60銆愯漿銆慏WR涓嬌鐢℉ttpSession絳堿PIhttp://m.tkk7.com/botson/archive/2008/08/15/222151.htmlJam ChanJam ChanFri, 15 Aug 2008 01:34:00 GMThttp://m.tkk7.com/botson/archive/2008/08/15/222151.htmlhttp://m.tkk7.com/botson/comments/222151.htmlhttp://m.tkk7.com/botson/archive/2008/08/15/222151.html#Feedback2http://m.tkk7.com/botson/comments/commentRss/222151.htmlhttp://m.tkk7.com/botson/services/trackbacks/222151.html 濡傦細緋葷粺鐧誨綍欏甸潰涓垜瑕佽繘琛岄獙璇佺爜楠岃瘉錛庝竴鑸敓鎴愮殑楠岃瘉鐮佹槸鏀懼湪session涓殑錛庢垜鐐圭櫥褰曠殑鏃跺欙紟鐢ㄧ殑鏄痙wr錛庢墍浠ユ槸js鐩存帴璋冪敤鍚庡彴鐨勬柟娉曪紟
閭d箞鍚庡彴鐨勬柟娉曞彧鏄竴涓櫘閫氱殑java綾伙紟鏄笉瀛樺湪浠涔坮equest,session鐨勶紟鎵浠ュ氨涓嶅埌session涓殑鍊鹼紟褰撶劧浣犺鏄敤spirng MVC鐨勮瘽錛屽彲鑳藉彲浠ワ紟錛堟垜娌$敤榪囷紝涓嶅ソ璇達級錛?
緇忔煡璧勬枡錛屽師鏉ワ激錛鳳疾鏈韓涓氨鍙互浼爏ession.鍙笉榪囨槸闅愯棌鐨勶紟

閭d箞鏂規硶灝辨槸閫氳繃DWR鐨勶肌錛幫緝錛庯紙緗戜笂璇村緢澶氫漢涓嶆帹鑽愶紝涓嶇煡涓轟粈涔堬級

鍏蜂綋搴旂敤錛?
HttpServletRequest,HttpServletResponse,HttpSession,ServletContext,ServletConfig.

Java綾諱腑瀹氫箟鏂規硶: save(String name, HttpSession session)

Javascript璋冪敤: Service.save(jsID,jsName,callBack)

娉ㄦ剰,榪欓噷涓嶉渶瑕佷紶鍏ession榪欎釜鍙傛暟,DWR浼氳嚜鍔ㄤ紶鍏?鍦↗ava绔彲浠ョ洿鎺ヤ嬌鐢?

榪欐牱鐨勮瘽錛屼綘灝卞彲浠ュ湪鍚庡彴鐨剆ave鏂規硶涓緱鍒皊esion浜?

Jam Chan 2008-08-15 09:34 鍙戣〃璇勮
]]>
DWR鐨凞WRUtil.addRows鏂規硶鐨勪嬌鐢?/title><link>http://m.tkk7.com/botson/archive/2008/04/23/194952.html</link><dc:creator>Jam Chan</dc:creator><author>Jam Chan</author><pubDate>Wed, 23 Apr 2008 02:05:00 GMT</pubDate><guid>http://m.tkk7.com/botson/archive/2008/04/23/194952.html</guid><wfw:comment>http://m.tkk7.com/botson/comments/194952.html</wfw:comment><comments>http://m.tkk7.com/botson/archive/2008/04/23/194952.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://m.tkk7.com/botson/comments/commentRss/194952.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/botson/services/trackbacks/194952.html</trackback:ping><description><![CDATA[鏈榪戞兂閫氳繃DWR鍋氭煡璇紝铏界劧鍙互緇撳悎ext浣跨敤錛屼絾鏄嬌鐢ㄥお澶氭鏋朵細澧炲姞瀹㈡埛绔殑璐熻嵎錛屽洜姝ょ敤鍒頒簡DWRUtil.addRows鏂規硶銆?br /> 濡傛灉鎯沖湪姣忚璁板綍鐨勬渶鍚庢坊鍔?#8220;緙栬緫”鎴?#8220;鍒犻櫎”鐨勮秴綰ц繛鎺ワ紝鍙互閫氳繃document.createElement()鏉ュ鐞嗭紝璇風湅浠ヤ笅鐨勪緥瀛愩?br /> <br /> 鐜板湪闇瑕佹妸灝佽浜嗚繖涓狫avaBean鏁版嵁鐨?java.util.List瀵硅薄 浼犲埌瀹㈡埛绔?br /> <div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);"> Fund </span><span style="color: rgb(0, 0, 255);">implements</span><span style="color: rgb(0, 0, 0);"> java.io.Serializable {<br /> <br />     </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> Fields</span><span style="color: rgb(0, 128, 0);"><br /> </span><span style="color: rgb(0, 0, 0);"><br />     </span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"> Long fundNo;<br />     </span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"> String fundName;<br />     </span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"> Float price;<br />     </span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"> String description;<br />     </span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"> String status;<br />     </span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"> Date createdDate;<br />     <br />     <span style="color: rgb(23, 152, 55);"><span style="color: rgb(23, 152, 55);"><span style="color: red;"><span style="color: rgb(45, 158, 29);">//Getter & Setter</span></span></span></span><br /> }<br /> </span></div> <br /> 涔嬪墠濡備綍璋冪敤灝辯渷鐣ヤ簡錛屾兂浜嗚ВDWR鐨勮緇嗕俊鎭彲浠ュ埌瀹樻柟緗戠珯<a target="_blank" >http://getahead.org/dwr</a>瀛︿範<br /> <br /> 鐜板湪錛屾垜浠湅鐪嬪鎴風鐨勫洖璋冨嚱鏁?br /> <div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 255);">        function</span><span style="color: rgb(0, 0, 0);"> callBack(data){<br />             DWRUtil.removeAllRows(</span><span style="color: rgb(0, 0, 0);">"tbodyId</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">); <span style="color: rgb(45, 158, 29);">// "tbodyId"鏄渶瑕佸祵鍏ヨ鐨勫厓绱營D</span><br />             DWRUtil.addRows(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">tbodyId</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, data, cellFunctions);<br />         }<br />         </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> cellFunctions </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> [ <br />             </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(item) { </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> item.fundNo; }, <br />             </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(item) { </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> item.fundName; }, <br />             </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(item) { </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> item.price; }, <br />             </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(item) { </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> item.description; }, <br />             </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(item) { </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> item.status</span><span style="color: rgb(0, 0, 0);">==</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">?</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">姝e父</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">鍐葷粨</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">; }, <br />             </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(item) { <br />                </span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> editLink </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> document.createElement(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">a</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br />                editLink.setAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">href</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">edit.do?id=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">item.fundNo);<br />                editLink.innerHTML</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span>緙栬緫<span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br />                </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> editLink; <br />             }<br />         ];</span></div> <br /> 榪欐牱鍦ㄦ瘡琛岀殑鏈鍚庝竴琛屽氨浼氬鍔?#8220;緙栬緫”鐨勮秴綰ц繛鎺ヤ簡銆傜紪杈戠殑鍏蜂綋宸ヤ綔鎯沖彂緇欏摢涓悗鍙扮被澶勭悊錛屼慨鏀逛竴涓媓ref灞炴у惂銆?br /> <br /> <br /> <img src ="http://m.tkk7.com/botson/aggbug/194952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/botson/" target="_blank">Jam Chan</a> 2008-04-23 10:05 <a href="http://m.tkk7.com/botson/archive/2008/04/23/194952.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Linux涓嬫墽琛岀▼搴忔椂鍙戠敓閿欒: cannot restore segment prot after reloc: Permission deniedhttp://m.tkk7.com/botson/archive/2008/04/01/190191.htmlJam ChanJam ChanTue, 01 Apr 2008 12:44:00 GMThttp://m.tkk7.com/botson/archive/2008/04/01/190191.htmlhttp://m.tkk7.com/botson/comments/190191.htmlhttp://m.tkk7.com/botson/archive/2008/04/01/190191.html#Feedback0http://m.tkk7.com/botson/comments/commentRss/190191.htmlhttp://m.tkk7.com/botson/services/trackbacks/190191.html鍘熸潵榪欐槸SELinux鎼炵殑楝鹼紝瑙e喅鍔炴硶鏈変袱涓?/div>
1. 浣跨敤chcon 鍛戒護
紺轟緥: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
2. 紱佹鎺塖ELinux
鏇存敼/etc/sysconfig/selinux 鏂囦歡鐨勫唴瀹逛負 SELINUX=disabled
 
榪欎釜闂鍙傝冧簡浠ヤ笅閾炬帴


Jam Chan 2008-04-01 20:44 鍙戣〃璇勮
]]>
銆怬racle銆慐XP-00026: 鎸囧畾浜嗗啿紿佹ā寮?http://m.tkk7.com/botson/archive/2008/03/27/188924.htmlJam ChanJam ChanThu, 27 Mar 2008 01:16:00 GMThttp://m.tkk7.com/botson/archive/2008/03/27/188924.htmlhttp://m.tkk7.com/botson/comments/188924.htmlhttp://m.tkk7.com/botson/archive/2008/03/27/188924.html#Feedback1http://m.tkk7.com/botson/comments/commentRss/188924.htmlhttp://m.tkk7.com/botson/services/trackbacks/188924.html1.鎯充嬌鐢╱sera瀵煎嚭userb鐢ㄦ埛涓嬬殑琛╰abb錛岃搗鍒濅嬌鐢ㄥ涓嬪懡浠わ細

exp usera/passa@db owner=userb tables=(tabb) file=c:\test.dmp

Export: Release 9.2.0.1.0 - Production on 鏄熸湡浜?11鏈?9 17:48:32 2007

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


榪炴帴鍒? Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
EXP-00026: 鎸囧畾浜嗗啿紿佹ā寮?br /> EXP-00000: 瀵煎嚭緇堟澶辮觸

2.榪欓噷鎰熻鍙寚瀹氫簡涓変釜鍙傛暟錛屽簲璇ユ槸owner鍜宼ables鍙傛暟鏈夊啿紿侊紝瀵筫xp鍛戒護榪涜淇敼錛?/span>

exp usera/passa@db  tables=(userb.tabb) file=c:\test.dmp

Export: Release 9.2.0.1.0 - Production on 鏄熸湡浜?11鏈?9 17:52:20 2007

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


榪炴帴鍒? Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
宸插鍑?ZHS16GBK 瀛楃闆嗗拰 UTF8 NCHAR 瀛楃闆?br /> 鏈嶅姟鍣ㄤ嬌鐢?UTF8 瀛楃闆?(鍙兘鐨勫瓧絎﹂泦杞崲)

鍗沖皢瀵煎嚭鎸囧畾鐨勮〃閫氳繃甯歌璺緞 ...
褰撳墠鐨勭敤鎴峰凡鏇存敼涓?userb
. . 姝e湪瀵煎嚭琛?nbsp;                 tabb      6 琛岃瀵煎嚭
EXP-00091: 姝e湪瀵煎嚭鍙枒鐨勭粺璁′俊鎭?br /> EXP-00091: 姝e湪瀵煎嚭鍙枒鐨勭粺璁′俊鎭?br /> EXP-00091: 姝e湪瀵煎嚭鍙枒鐨勭粺璁′俊鎭?br /> 瀵煎嚭鎴愬姛緇堟錛屼絾鍑虹幇璀﹀憡銆?/p>

3.浣跨敤濡備笅鍛戒護鍙互鍒板userb錛?/span>

exp usera/passa@db  owner=userb file=c:\test.dmp



Jam Chan 2008-03-27 09:16 鍙戣〃璇勮
]]>
Hibernate+Spring瀹炵幇澶氬涓鍏寵仈http://m.tkk7.com/botson/archive/2008/03/23/187993.htmlJam ChanJam ChanSun, 23 Mar 2008 02:06:00 GMThttp://m.tkk7.com/botson/archive/2008/03/23/187993.htmlhttp://m.tkk7.com/botson/comments/187993.htmlhttp://m.tkk7.com/botson/archive/2008/03/23/187993.html#Feedback0http://m.tkk7.com/botson/comments/commentRss/187993.htmlhttp://m.tkk7.com/botson/services/trackbacks/187993.html-- 鍒涘緩鐢ㄦ埛琛?/span>
CREATE TABLE SCOTT.bloguser
(
    id    
NUMBER NOT NULL,
    username    
VARCHAR2(50UNIQUE NOT NULL,
    password    
VARCHAR2(50NOT NULL,
    
CONSTRAINT PK_bloguser PRIMARY KEY (id )
);
-- 鍒涘緩鐢ㄦ埛琛ㄤ富閿簭鍒?/span>
CREATE SEQUENCE SEQ_BLOGUSERID START WITH 1 INCREMENT BY 1 MINVALUE 1 NOCACHE  NOCYCLE  NOORDER ;

-- 鍒涘緩bolg琛?/span>
CREATE TABLE SCOTT.bolginfo
(
    id    
NUMBER,
    userId    
NUMBER NOT NULL,
    content    
VARCHAR2(1000),
    
CONSTRAINT PK_bolginfo PRIMARY KEY (id )
);
-- 鍒涘緩bolg琛ㄤ富閿簭鍒?/span>
CREATE SEQUENCE SEQ_BLOGID START WITH 1 INCREMENT BY 1 MINVALUE 1 NOCACHE  NOCYCLE  NOORDER ;

--娣誨姞澶栭敭綰︽潫
ALTER TABLE SCOTT.bolginfo
    
ADD CONSTRAINT FK_userId_blogId FOREIGN KEY (userId) REFERENCES SCOTT.bloguser(id);
Bloguser.java
package com.jam.hibeinate.po;

import java.util.Set;

/**
 * Bloguser entity.
 * 
 * 
@author Jam Chan
 
*/
public class Bloguser implements java.io.Serializable {


    private Long id;
    private String username;
    private String password;
    private Set bolginfos = new HashSet(0);

}

Bolginfo.java
package com.jam.hibeinate.po;

/**
 * Bolginfo entity.
 * 
 * 
@author Jam Chan
 
*/
public class Bolginfo implements java.io.Serializable {

    private Long id;
    private Bloguser bloguser;
    private String content;

}

Bloguser.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    
<class name="com.jam.hibeinate.po.Bloguser" table="BLOGUSER" schema="SCOTT">
        
<id name="id" type="java.lang.Long">
            
<column name="ID" precision="22" scale="0" />
            
<generator class="sequence">
                
<param name="sequence">
                    SEQ_BLOGUSERID
                
</param>
            
</generator>
        
</id>
        
<property name="username" type="java.lang.String">
            
<column name="USERNAME" length="50" not-null="true" unique="true" />
        
</property>
        
<property name="password" type="java.lang.String">
            
<column name="PASSWORD" length="50" not-null="true" />
        
</property>
        
<set name="bolginfos" inverse="true" cascade="all" lazy="false" outer-join="auto">
            
<key>
                
<column name="USERID" precision="22" scale="0" not-null="true" />
            
</key>
            
<one-to-many class="com.jam.hibeinate.po.Bolginfo" />
        
</set>
    
</class>
</hibernate-mapping>

Bolginfo.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    
<class name="com.jam.hibeinate.po.Bolginfo" table="BOLGINFO" schema="SCOTT">
        
<id name="id" type="java.lang.Long">
            
<column name="ID" precision="22" scale="0" />
            
<generator class="sequence">
                
<param name="sequence">SEQ_BLOGID</param>
            
</generator>
        
</id>
        
<many-to-one name="bloguser" class="com.jam.hibeinate.po.Bloguser" fetch="select" insert="true" update="true" outer-join="true">
            
<column name="USERID" precision="22" scale="0" not-null="true" />
        
</many-to-one>
        
<property name="content" type="java.lang.String">
            
<column name="CONTENT" length="1000" />
        
</property>
    
</class>
</hibernate-mapping>

娉細Spring鐨刟pplicationContext.xml浜嬪姟浠g悊綆$悊鐨勯厤緗渷鐣?#8230;…

涔嬪墠鎴戝疄鐜板琛ㄦ煡璇㈢殑鏃跺欐姏鍑?br />
could not initialize proxy - the owning Session was closed
org.hibernate.LazyInitializationException: could not initialize proxy 
- the owning Session was closed
……………………
鐨勫紓甯革紝濡傛灉鎯充嬌Session is opened闇瑕佸湪web.xml娣誨姞濡備笅閰嶇疆錛?br />
     <filter>
        
<filter-name>openSessionInViewFilter</filter-name>
        
<filter-class>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
        
</filter-class>
    
</filter>
    <!-- 閫夋嫨闇瑕佽繃婊ょ殑欏甸潰 -->
    <filter-mapping>
        
<filter-name>openSessionInViewFilter</filter-name>
        
<url-pattern>*.faces</url-pattern>
    
</filter-mapping>
    
<filter-mapping>
        
<filter-name>openSessionInViewFilter</filter-name>
        
<url-pattern>*.do</url-pattern>
    
</filter-mapping>
    
<filter-mapping>
        
<filter-name>openSessionInViewFilter</filter-name>
        
<url-pattern>*.jsp</url-pattern>
    
</filter-mapping>

涔嬪悗灝監K鍟錛侊紒鍝堝搱





Jam Chan 2008-03-23 10:06 鍙戣〃璇勮
]]>
JSF鏁村悎Spring鏃跺悇鏂囦歡鐨勯厤緗?/title><link>http://m.tkk7.com/botson/archive/2008/03/20/187557.html</link><dc:creator>Jam Chan</dc:creator><author>Jam Chan</author><pubDate>Thu, 20 Mar 2008 12:44:00 GMT</pubDate><guid>http://m.tkk7.com/botson/archive/2008/03/20/187557.html</guid><wfw:comment>http://m.tkk7.com/botson/comments/187557.html</wfw:comment><comments>http://m.tkk7.com/botson/archive/2008/03/20/187557.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/botson/comments/commentRss/187557.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/botson/services/trackbacks/187557.html</trackback:ping><description><![CDATA[鏈榪戝湪鍋氫竴涓渶瑕丣SF鍜孲pring鏁村悎鐨勯」鐩紝涔嬪墠涓嶇煡閬撳浣曞湪鍚庡彴綆$悊Bean鑾峰彇琚玈pring綆$悊鐨勪笟鍔$被瀵硅薄錛岀幇鍦ㄨВ鍐充簡錛屽彲浠ヨ窇璧鋒潵浜嗭紒<br /> <br /> <ol> <li><span style="color: red;">web.xml<br /> </span> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #808080;"><</span><span style="color: #000000;">?xml version</span><span style="color: #808080;">=</span><span style="color: #000000;">"</span><span style="color: #800000; font-weight: bold;">1.0</span><span style="color: #000000;">"?</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #808080;"><</span><span style="color: #000000;">web</span><span style="color: #808080;">-</span><span style="color: #000000;">app xmlns</span><span style="color: #808080;">=</span><span style="color: #000000;">"http:</span><span style="color: #808080;">//</span><span style="color: #000000;">java.sun.com</span><span style="color: #808080;">/</span><span style="color: #000000;">xml</span><span style="color: #808080;">/</span><span style="color: #000000;">ns</span><span style="color: #808080;">/</span><span style="color: #000000;">j2ee"<br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">  xmlns:xsi</span><span style="color: #808080;">=</span><span style="color: #000000;">"http:</span><span style="color: #808080;">//</span><span style="color: #000000;">www.w3.org</span><span style="color: #808080;">/</span><span style="color: #800000; font-weight: bold;">2001</span><span style="color: #808080;">/</span><span style="color: #000000;">XMLSchema</span><span style="color: #808080;">-</span><span style="color: #000000;">instance"<br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">  xsi:schemaLocation</span><span style="color: #808080;">=</span><span style="color: #000000;">"http:</span><span style="color: #808080;">//</span><span style="color: #000000;">java.sun.com</span><span style="color: #808080;">/</span><span style="color: #000000;">xml</span><span style="color: #808080;">/</span><span style="color: #000000;">ns</span><span style="color: #808080;">/</span><span style="color: #000000;">j2ee<br /> </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">    http:</span><span style="color: #808080;">//</span><span style="color: #000000;">java.sun.com</span><span style="color: #808080;">/</span><span style="color: #000000;">xml</span><span style="color: #808080;">/</span><span style="color: #000000;">ns</span><span style="color: #808080;">/</span><span style="color: #000000;">j2ee</span><span style="color: #808080;">/</span><span style="color: #000000;">web</span><span style="color: #808080;">-</span><span style="color: #000000;">app_2_4.xsd"<br /> </span><span style="color: #008080;"> 6</span> <span style="color: #000000;">  version</span><span style="color: #808080;">=</span><span style="color: #000000;">"</span><span style="color: #800000; font-weight: bold;">2.4</span><span style="color: #000000;">"</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 7</span> <span style="color: #000000;"> <br /> </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">  </span><span style="color: #808080;"><</span><span style="color: #000000;">display</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;">example</span><span style="color: #808080;"></</span><span style="color: #000000;">display</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;"><br /> </span><strong><span style="color: #008080;">10</span></strong> <span style="color: #000000;">    </span><strong><span style="color: #808080;"><</span><span style="color: #000000;">context</span><span style="color: #808080;">-</span><span style="color: #000000;">param</span><span style="color: #808080;">></span><span style="color: #000000;">    <br /> </span><span style="color: #008080;">11</span> <span style="color: #000000;">        </span><span style="color: #808080;"><</span><span style="color: #000000;">param</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;">contextConfigLocation</span><span style="color: #808080;"></</span><span style="color: #000000;">param</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">12</span> <span style="color: #000000;">        </span><span style="color: #808080;"><</span><span style="color: #000000;">param</span><span style="color: #808080;">-</span><span style="color: #000000;">value</span><span style="color: #808080;">>/</span><span style="color: #000000;">WEB</span><span style="color: #808080;">-</span><span style="color: #000000;">INF<span style="color: #040000;"><span style="color: #040000;"><span style="color: #808080;">/classes/</span></span></span><span style="color: #040000;"><span style="color: #000000;">appl</span></span></span><span style="color: #000000;">icationContext.xml</span><span style="color: #808080;"></</span><span style="color: #000000;">param</span><span style="color: #808080;">-</span><span style="color: #000000;">value</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;">    </span><span style="color: #808080;"></</span><span style="color: #000000;">context</span><span style="color: #808080;">-</span><span style="color: #000000;">param</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">15</span> <span style="color: #000000;">    </span><span style="color: #808080;"><</span><span style="color: #000000;">listener</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">16</span> <span style="color: #000000;">      </span><span style="color: #808080;"><</span><span style="color: #000000;">listener</span><span style="color: #808080;">-</span><span style="color: #000000;">class</span><span style="color: #808080;">></span><span style="color: #000000;">org.springframework.web.context.ContextLoaderListener</span><span style="color: #808080;"></</span><span style="color: #000000;">listener</span><span style="color: #808080;">-</span><span style="color: #000000;">class</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">17</span> <span style="color: #000000;">    </span><span style="color: #808080;"></</span><span style="color: #000000;">listener</span><span style="color: #808080;">></span></strong><span style="color: #000000;"><br /> </span><span style="color: #008080;">18</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">19</span> <span style="color: #000000;">    </span><span style="color: #808080;"><</span><span style="color: #000000;">servlet</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">20</span> <span style="color: #000000;">        </span><span style="color: #808080;"><</span><span style="color: #000000;">display</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;">FacesServlet</span><span style="color: #808080;"></</span><span style="color: #000000;">display</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">21</span> <span style="color: #000000;">        </span><span style="color: #808080;"><</span><span style="color: #000000;">servlet</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;">FacesServlet</span><span style="color: #808080;"></</span><span style="color: #000000;">servlet</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">22</span> <span style="color: #000000;">        </span><span style="color: #808080;"><</span><span style="color: #000000;">servlet</span><span style="color: #808080;">-</span><span style="color: #000000;">class</span><span style="color: #808080;">></span><span style="color: #000000;">javax.faces.webapp.FacesServlet</span><span style="color: #808080;"></</span><span style="color: #000000;">servlet</span><span style="color: #808080;">-</span><span style="color: #000000;">class</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">23</span> <span style="color: #000000;">        </span><span style="color: #808080;"><</span><span style="color: #0000ff;">load</span><span style="color: #808080;">-</span><span style="color: #0000ff;">on</span><span style="color: #808080;">-</span><span style="color: #000000;">startup</span><span style="color: #808080;">></span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #808080;"></</span><span style="color: #0000ff;">load</span><span style="color: #808080;">-</span><span style="color: #0000ff;">on</span><span style="color: #808080;">-</span><span style="color: #000000;">startup</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">24</span> <span style="color: #000000;">    </span><span style="color: #808080;"></</span><span style="color: #000000;">servlet</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">25</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">26</span> <span style="color: #000000;">    </span><span style="color: #808080;"><</span><span style="color: #000000;">servlet</span><span style="color: #808080;">-</span><span style="color: #000000;">mapping</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">27</span> <span style="color: #000000;">      </span><span style="color: #808080;"><</span><span style="color: #000000;">servlet</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;">FacesServlet</span><span style="color: #808080;"></</span><span style="color: #000000;">servlet</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">28</span> <span style="color: #000000;">      </span><span style="color: #808080;"><</span><span style="color: #000000;">url</span><span style="color: #808080;">-</span><span style="color: #000000;">pattern</span><span style="color: #808080;">></span><span style="color: #008080;">*.faces</span><span style="color: #008080;"></url-pattern><br /> </span><span style="color: #008080;">29</span> <span style="color: #008080;">    </servlet-mapping><br /> </span><span style="color: #008080;">30</span> <span style="color: #008080;">     <br /> </span><span style="color: #008080;">31</span> <span style="color: #008080;"></web-app></span></div> <br /> </li> <li><span style="color: red;">faces-config.xml<br /> </span> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080;"> 1</span> <span style="color: #808080;"><</span><span style="color: #000000;">?xml version</span><span style="color: #808080;">=</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">1.0</span><span style="color: #ff0000;">'</span><span style="color: #000000;"> encoding</span><span style="color: #808080;">=</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">UTF-8</span><span style="color: #ff0000;">'</span><span style="color: #000000;">?</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 2</span> <span style="color: #808080;"><</span><span style="color: #000000;">!DOCTYPE faces</span><span style="color: #808080;">-</span><span style="color: #000000;">config </span><span style="color: #0000ff;">PUBLIC</span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">"</span><span style="color: #808080;">-//</span><span style="color: #000000;">Sun Microsystems, Inc.</span><span style="color: #808080;">//</span><span style="color: #000000;">DTD JavaServer Faces Config </span><span style="color: #800000; font-weight: bold;">1.1</span><span style="color: #808080;">//</span><span style="color: #000000;">EN"<br /> </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">"http:</span><span style="color: #808080;">//</span><span style="color: #000000;">java.sun.com</span><span style="color: #808080;">/</span><span style="color: #000000;">dtd</span><span style="color: #808080;">/</span><span style="color: #000000;">web</span><span style="color: #808080;">-</span><span style="color: #000000;">facesconfig_1_1.dtd"</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 5</span> <span style="color: #808080;"><</span><span style="color: #000000;">faces</span><span style="color: #808080;">-</span><span style="color: #000000;">config</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><strong><span style="color: #008080;"> 6</span> <span style="color: #000000;">    </span><span style="color: #808080;"><</span><span style="color: #000000;">application</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">        </span><span style="color: #808080;"><</span><span style="color: #000000;">variable</span><span style="color: #808080;">-</span><span style="color: #000000;">resolver</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">            org.springframework.web.jsf.DelegatingVariableResolver<br /> </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">        </span><span style="color: #808080;"></</span><span style="color: #000000;">variable</span><span style="color: #808080;">-</span><span style="color: #000000;">resolver</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">10</span> <span style="color: #000000;">    </span><span style="color: #808080;"></</span><span style="color: #000000;">application</span><span style="color: #808080;">></span></strong><span style="color: #808080;"><br /> </span><span style="color: #000000;"><br /> </span><span style="color: #008080;">12</span> <span style="color: #808080;"><</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">13</span> <span style="color: #000000;">  </span><span style="color: #808080;"><</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;">infoBean</span><span style="color: #808080;"></</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">-</span><span style="color: #000000;">name</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">14</span> <span style="color: #000000;">  </span><span style="color: #808080;"><</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">-</span><span style="color: #000000;">class</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">15</span> <span style="color: #000000;">      com.jam.managedbeans.InfoBean<br /> </span><span style="color: #008080;">16</span> <span style="color: #000000;">  </span><span style="color: #808080;"></</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">-</span><span style="color: #000000;">class</span><span style="color: #808080;">></span><span style="color: #000000;"> <br /> </span><span style="color: #008080;">17</span> <span style="color: #000000;">  </span><span style="color: #808080;"><</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">-</span><span style="color: #000000;">scope</span><span style="color: #808080;">></span><span style="color: #000000;">request</span><span style="color: #808080;"></</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">-</span><span style="color: #000000;">scope</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">18</span> <span style="color: #808080;"></</span><span style="color: #000000;">managed</span><span style="color: #808080;">-</span><span style="color: #000000;">bean</span><span style="color: #808080;">></span><span style="color: #000000;"><br /> </span><span style="color: #008080;">19</span> <span style="color: #000000;"><br /> </span><span style="color: #008080;">20</span> <span style="color: #808080;"></</span><span style="color: #000000;">faces</span><span style="color: #808080;">-</span><span style="color: #000000;">config</span><span style="color: #808080;">></span></div> <br /> <br /> </li> <li> <span style="color: #000000;"><span style="color: red;">InfoBean.java</span></span><br /> <span>鍋囧</span><u><span style="color: #000000;"><span style="color: red;">InfoBean</span></span></u><span>涓渶瑕佷嬌鐢ㄤ笟鍔$被<u><span style="color: red;">UserService</span></u>鐨勬柟娉曪紝鑰?/span><span><u><span style="color: red;">UserService</span></u>浜ょ敱Spring綆$悊(<strong><span style="color: #2c8e1f;">id="userService"</span></strong>)錛?/span><u><span style="color: #000000;"><span style="color: red;">InfoBean</span></span></u><span>鍙互榪欐牱鍐欙細<br /> </span> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000ff;">package</span><span style="color: #000000;"> </span><span style="color: #000000;">com.jam.managedbeans</span><span style="color: #000000;">;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.Map;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> javax.faces.context.ExternalContext;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> javax.faces.context.FacesContext;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> org.springframework.context.ApplicationContext;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> org.springframework.web.jsf.FacesContextUtils;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> com.jam.hibeinate.po.Bloguser;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> com.jam.service.UserService;<br /> <br /> </span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />  * </span><span style="color: #808080;">@author</span><span style="color: #008000;"> Jam Chan<br />  * <br />  </span><span style="color: #008000;">*/</span><span style="color: #000000;"><br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">final</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> </span><span style="color: #000000;">InfoBean</span><span style="color: #000000;"> </span><span style="color: #0000ff;">extends</span><span style="color: #000000;"> Object {<br /> <br />     </span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />      * 鐢ㄦ埛鍚?br />      </span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />     </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> String userName;</span><span style="color: #000000;"><br />     </span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />      * 涓氬姟綾?br />      </span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />     </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> UserService userService;<br />     </span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />      * 瀵嗙爜<br />      </span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />     </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> String password;<br /> <br />     </span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />      * 鐧婚檰楠岃瘉<br />      * <br />      * </span><span style="color: #808080;">@return</span><span style="color: #008000;"><br />      </span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> String loginValidate() {<br />         FacesContext facesContext </span><span style="color: #000000;">=</span><span style="color: #000000;"> FacesContext.getCurrentInstance();<br />         ExternalContext extnContext </span><span style="color: #000000;">=</span><span style="color: #000000;"> facesContext.getExternalContext();<br />         <span style="color: #2c8e1f;">// POJO綾?/span><br />         Bloguser objUser </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Bloguser();<br />         objUser.setUsername(getUserName());<br />         objUser.setPassword(getPassword1());<br />         </span><span style="color: #008000;">//</span><span style="color: #008000;"> 浠嶴pring涓幏鍙栭渶瑕佺殑涓氬姟綾籙serService錛屾垜灝辨槸鍦ㄨ繖閲岃鍗′綇錛岀粓浜嶰K浜?/span><span style="color: #000000;"><br />         <strong><span style="color: #b63e98;"><span style="color: #000000;"><strong><span style="color: #b63e98;"><span style="color: #000000;"><strong>ApplicationContext appContext </strong></span><strong><span style="color: #000000;">=</span><span style="color: #000000;"> FacesContextUtils.getWebApplicationContext(facesContext);<br />         userService </span><span style="color: #000000;">=</span><span style="color: #000000;"> (UserService) appContext.getBean(</span><span style="color: #000000;">"</span><span style="color: #000000;">userService</span><span style="color: #000000;">"</span></strong><span style="color: #000000;"><strong>);</strong></span></span></strong></span></span></strong></span><span style="color: #000000;"><br />         </span><span style="color: #008000;">//</span><span style="color: #008000;"> 楠岃瘉鐢ㄦ埛</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">        </span><span style="color: #0000ff;">boolean</span><span style="color: #000000;"> result </span><span style="color: #000000;">=</span><span style="color: #000000;"> userService.loginValidate(objUser);<br />         </span><span style="color: #008000;">//</span><span style="color: #008000;"> 鑾峰彇SessionMap</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">        Map sessionMap </span><span style="color: #000000;">=</span><span style="color: #000000;"> extnContext.getSessionMap();<br />         </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (result) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 鐧婚檰鎴愬姛</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">            </span><span style="color: #008000;">/*</span><span style="color: #008000;"> 鎶婄敤鎴峰悕璁劇疆鍦⊿ession涓?nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />             sessionMap.put(</span><span style="color: #000000;">"</span><span style="color: #000000;">userName</span><span style="color: #000000;">"</span><span style="color: #000000;">, getUserName());<br />             </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">success</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />         } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 鐧誨綍澶辮觸</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">            </span><span style="color: #008000;">/*</span><span style="color: #008000;"> 娓呯┖session </span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />             </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (sessionMap.containsKey(</span><span style="color: #000000;">"</span><span style="color: #000000;">userName</span><span style="color: #000000;">"</span><span style="color: #000000;">)) {<br />                 sessionMap.remove(</span><span style="color: #000000;">"</span><span style="color: #000000;">userName</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />             }<br />             </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">failed</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />         }<br />     }<br />     <span style="color: #2c8e1f;">// setter getter鐪佺暐</span><br /> </span></div> 鏆傛椂鍐欏埌榪欙紝鍙兘榪樿鏌ユ紡琛ョ己錛屽彂鐜伴棶棰樼戶緇姞涓婏紒<br /> </li> </ol> <br /> <br /> <img src ="http://m.tkk7.com/botson/aggbug/187557.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/botson/" target="_blank">Jam Chan</a> 2008-03-20 20:44 <a href="http://m.tkk7.com/botson/archive/2008/03/20/187557.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>甯哥敤Log4j閰嶇疆http://m.tkk7.com/botson/archive/2008/03/20/187404.htmlJam ChanJam ChanThu, 20 Mar 2008 01:39:00 GMThttp://m.tkk7.com/botson/archive/2008/03/20/187404.htmlhttp://m.tkk7.com/botson/comments/187404.htmlhttp://m.tkk7.com/botson/archive/2008/03/20/187404.html#Feedback0http://m.tkk7.com/botson/comments/commentRss/187404.htmlhttp://m.tkk7.com/botson/services/trackbacks/187404.html
  • log4j閰嶇疆鏂囦歡鍩烘湰鍚箟璇存槑
log4j.properties閰嶇疆鏂囦歡璁茶В濡備笅錛?
# Set root logger level to DEBUG and its only appender to A1
#log4j涓湁浜旂駭logger
#FATAL 0
#ERROR 3
#WARN 4
#INFO 6
#DEBUG 7

閰嶇疆鏍筁ogger錛屽叾璇硶涓猴細
#log4j.rootLogger = [ level ] , appenderName, appenderName, …
log4j.rootLogger=INFO, A1 ,R
#榪欎竴鍙ヨ緗互涓虹潃鎵鏈夌殑log閮借緭鍑?br /> #濡傛灉涓簂og4j.rootLogger=WARN, 鍒欐剰鍛崇潃鍙湁WARN,ERROR,FATAL
#琚緭鍑猴紝DEBUG,INFO灝嗚灞忚斀鎺?
# A1 is set to be a ConsoleAppender.
#log4j涓瑼ppender鏈夊嚑灞傚鎺у埗鍙般佹枃浠躲丟UI緇勪歡銆佺敋鑷蟲槸濂楁帴鍙f湇鍔″櫒銆丯T鐨勪簨浠惰褰曞櫒銆乁NIX Syslog瀹堟姢榪涚▼絳?br /> #ConsoleAppender杈撳嚭鍒版帶鍒跺彴
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 浣跨敤鐨勮緭鍑哄竷灞錛屽叾涓璴og4j鎻愪緵4縐嶅竷灞. org.apache.log4j.HTMLLayout錛堜互HTML琛ㄦ牸褰㈠紡甯冨眬錛?br /> #org.apache.log4j.PatternLayout錛堝彲浠ョ伒媧誨湴鎸囧畾甯冨眬妯″紡錛夛紝
#org.apache.log4j.SimpleLayout錛堝寘鍚棩蹇椾俊鎭殑綰у埆鍜屼俊鎭瓧絎︿覆錛夛紝
#org.apache.log4j.TTCCLayout錛堝寘鍚棩蹇椾駭鐢熺殑鏃墮棿銆佺嚎紼嬨佺被鍒瓑絳変俊鎭級

log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#鐏墊椿瀹氫箟杈撳嚭鏍煎紡 鍏蜂綋鏌ョ湅log4j javadoc org.apache.log4j.PatternLayout
#d 鏃墮棿 ....
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#R 杈撳嚭鍒版枃浠?RollingFileAppender鐨勬墿灞曪紝鍙互鎻愪緵涓縐嶆棩蹇楃殑澶囦喚鍔熻兘銆?br /> log4j.appender.R=org.apache.log4j.RollingFileAppender
#鏃ュ織鏂囦歡鐨勫悕縐?br /> log4j.appender.R.File=log4j.log
#鏃ュ織鏂囦歡鐨勫ぇ灝?br /> log4j.appender.R.MaxFileSize=100KB
# 淇濆瓨涓涓浠芥枃浠?br /> log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.TTCCLayout
#log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n


閰嶇疆鏍筁ogger錛屽叾璇硶涓猴細
log4j.rootLogger = [ level ] , appenderName, appenderName, ...

level 鏄棩蹇楄褰曠殑浼樺厛綰?br /> appenderName灝辨槸鎸囧畾鏃ュ織淇℃伅杈撳嚭鍒板摢涓湴鏂廣傛偍鍙互鍚屾椂鎸囧畾澶氫釜杈撳嚭鐩殑鍦般?

閰嶇疆鏃ュ織淇℃伅杈撳嚭鐩殑鍦癆ppender錛屽叾璇硶涓?/strong>

log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
...
log4j.appender.appenderName.option = valueN

Log4j鎻愪緵鐨刟ppender鏈変互涓嬪嚑縐嶏細
org.apache.log4j.ConsoleAppender錛堟帶鍒跺彴錛夛紝
org.apache.log4j.FileAppender錛堟枃浠訛級錛?br /> org.apache.log4j.DailyRollingFileAppender錛堟瘡澶╀駭鐢熶竴涓棩蹇楁枃浠訛級錛?br /> org.apache.log4j.RollingFileAppender錛堟枃浠跺ぇ灝忓埌杈炬寚瀹氬昂瀵哥殑鏃跺欎駭鐢熶竴涓柊鐨勬枃浠訛級錛?br /> org.apache.log4j.WriterAppender錛堝皢鏃ュ織淇℃伅浠ユ祦鏍煎紡鍙戦佸埌浠繪剰鎸囧畾鐨勫湴鏂癸級

閰嶇疆鏃ュ織淇℃伅鐨勬牸寮忥紙甯冨眬錛夛紝鍏惰娉曚負錛?br />

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
....
log4j.appender.appenderName.layout.option = valueN

Log4j鎻愪緵鐨刲ayout鏈変互涓嬪嚑縐嶏細
org.apache.log4j.HTMLLayout錛堜互HTML琛ㄦ牸褰㈠紡甯冨眬錛夛紝
org.apache.log4j.PatternLayout錛堝彲浠ョ伒媧誨湴鎸囧畾甯冨眬妯″紡錛夛紝
org.apache.log4j.SimpleLayout錛堝寘鍚棩蹇椾俊鎭殑綰у埆鍜屼俊鎭瓧絎︿覆錛夛紝
org.apache.log4j.TTCCLayout錛堝寘鍚棩蹇椾駭鐢熺殑鏃墮棿銆佺嚎紼嬨佺被鍒瓑絳変俊鎭級
  • 甯哥敤log4j閰嶇疆
涓鑸彲浠ラ噰鐢ㄤ袱縐嶆柟寮忥紝.properties鍜?xml,涓嬮潰涓句袱涓畝鍗曠殑渚嬪瓙錛?br /> 涓銆乴og4j.properties
### 璁劇疆org.zblog鍩熷搴旂殑綰у埆INFO,DEBUG,WARN,ERROR鍜岃緭鍑哄湴A1錛孉2 ##
log4j.category.org.zblog=ERROR,A1
log4j.category.org.zblog=INFO,A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
### 璁劇疆杈撳嚭鍦癆1錛屼負ConsoleAppender(鎺у埗鍙? ##
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
### 璁劇疆A1鐨勮緭鍑哄竷灞鏍煎紡PatterLayout,(鍙互鐏墊椿鍦版寚瀹氬竷灞妯″紡錛?#
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
### 閰嶇疆鏃ュ織杈撳嚭鐨勬牸寮?#
log4j.appender.A2=org.apache.log4j.RollingFileAppender
### 璁劇疆杈撳嚭鍦癆2鍒版枃浠訛紙鏂囦歡澶у皬鍒拌揪鎸囧畾灝哄鐨勬椂鍊欎駭鐢熶竴涓柊鐨勬枃浠訛級##
log4j.appender.A2.File=E:/study/log4j/zhuwei.html
### 鏂囦歡浣嶇疆##
log4j.appender.A2.MaxFileSize=500KB
### 鏂囦歡澶у皬##
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.HTMLLayout
##鎸囧畾閲囩敤html鏂瑰紡杈撳嚭
浜屻乴og4j.xml
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender">
<!-- 璁劇疆閫氶亾ID:org.zblog.all鍜岃緭鍑烘柟寮忥細org.apache.log4j.RollingFileAppender -->
   <param name="File" value="E:/study/log4j/all.output.log" /><!-- 璁劇疆File鍙傛暟錛氭棩蹇楄緭鍑烘枃浠跺悕 -->
   <param name="Append" value="false" /><!-- 璁劇疆鏄惁鍦ㄩ噸鏂板惎鍔ㄦ湇鍔℃椂錛屽湪鍘熸湁鏃ュ織鐨勫熀紜娣誨姞鏂版棩蹇?-->
   <param name="MaxBackupIndex" value="10" />
   <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /><!-- 璁劇疆杈撳嚭鏂囦歡欏圭洰鍜屾牸寮?-->
   </layout>
</appender>
<appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender">
   <param name="File" value="E:/study/log4j/zhuwei.output.log" />
   <param name="Append" value="true" />
   <param name="MaxFileSize" value="10240" /> <!-- 璁劇疆鏂囦歡澶у皬 -->
   <param name="MaxBackupIndex" value="10" />
   <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
   </layout>
</appender>
<logger name="zcw.log"> <!-- 璁劇疆鍩熷悕闄愬埗錛屽嵆zcw.log鍩熷強浠ヤ笅鐨勬棩蹇楀潎杈撳嚭鍒頒笅闈㈠搴旂殑閫氶亾涓?-->
   <level value="debug" /><!-- 璁劇疆綰у埆 -->
   <appender-ref ref="org.zblog.zcw" /><!-- 涓庡墠闈㈢殑閫氶亾id鐩稿搴?-->
</logger>
<root> <!-- 璁劇疆鎺ユ敹鎵鏈夎緭鍑虹殑閫氶亾 -->
   <appender-ref ref="org.zblog.all" /><!-- 涓庡墠闈㈢殑閫氶亾id鐩稿搴?-->
</root>
</log4j:configuration>
涓夈侀厤緗枃浠跺姞杞芥柟娉曪細
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;
public class Log4jApp {
   public static void main(String[] args) {
       DOMConfigurator.configure("E:/study/log4j/log4j.xml");//鍔犺澆.xml鏂囦歡
       //PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//鍔犺澆.properties鏂囦歡
       Logger log=Logger.getLogger("org.zblog.test");
       log.info("嫻嬭瘯");
   }
}
鍥涖侀」鐩嬌鐢╨og4j
鍦╳eb 搴旂敤涓紝鍙互灝嗛厤緗枃浠剁殑鍔犺澆鏀懼湪涓涓崟鐙殑servlet涓紝騫跺湪web.xml涓厤緗servlet鍦ㄥ簲鐢ㄥ惎鍔ㄦ椂鍊欏姞杞姐傚浜庡湪澶氫漢欏圭洰涓紝鍙互緇? 姣忎竴涓漢璁劇疆涓涓緭鍑洪氶亾錛岃繖鏍峰湪姣忎釜浜哄湪鏋勫緩Logger鏃訛紝鐢ㄨ嚜宸辯殑鍩熷悕縐幫紝璁╄皟璇曚俊鎭緭鍑哄埌鑷繁鐨刲og鏂囦歡涓?br /> 浜斻佸父鐢ㄨ緭鍑烘牸寮?br /> # -X鍙?X淇℃伅杈撳嚭鏃跺乏瀵歸綈錛?br /> # %p:鏃ュ織淇℃伅綰у埆
# %d{}:鏃ュ織淇℃伅浜х敓鏃墮棿
# %c:鏃ュ織淇℃伅鎵鍦ㄥ湴錛堢被鍚嶏級
# %m:浜х敓鐨勬棩蹇楀叿浣撲俊鎭?br /> # %n:杈撳嚭鏃ュ織淇℃伅鎹㈣


Jam Chan 2008-03-20 09:39 鍙戣〃璇勮
]]>
銆愯漿銆慙og4j鍩烘湰浣跨敤鏂規硶http://m.tkk7.com/botson/archive/2008/03/20/187402.htmlJam ChanJam ChanThu, 20 Mar 2008 01:27:00 GMThttp://m.tkk7.com/botson/archive/2008/03/20/187402.htmlhttp://m.tkk7.com/botson/comments/187402.htmlhttp://m.tkk7.com/botson/archive/2008/03/20/187402.html#Feedback0http://m.tkk7.com/botson/comments/commentRss/187402.htmlhttp://m.tkk7.com/botson/services/trackbacks/187402.htmlLog4j鐢變笁涓噸瑕佺殑緇勪歡鏋勬垚錛氭棩蹇椾俊鎭殑浼樺厛綰э紝鏃ュ織淇℃伅鐨勮緭鍑虹洰鐨勫湴錛屾棩蹇椾俊鎭殑杈撳嚭鏍煎紡銆傛棩蹇椾俊鎭殑浼樺厛綰т粠楂樺埌浣庢湁ERROR銆? WARN銆両NFO銆丏EBUG錛屽垎鍒敤鏉ユ寚瀹氳繖鏉℃棩蹇椾俊鎭殑閲嶈紼嬪害錛涙棩蹇椾俊鎭殑杈撳嚭鐩殑鍦版寚瀹氫簡鏃ュ織灝嗘墦鍗板埌鎺у埗鍙拌繕鏄枃浠朵腑錛涜岃緭鍑烘牸寮忓垯鎺у埗浜嗘棩 蹇椾俊鎭殑鏄劇ず鍐呭銆?/p>

3.1.瀹氫箟閰嶇疆鏂囦歡

鍏跺疄鎮ㄤ篃鍙互瀹屽叏涓嶄嬌鐢ㄩ厤緗枃浠訛紝鑰屾槸鍦ㄤ唬鐮佷腑閰嶇疆Log4j鐜銆備絾鏄紝浣跨敤閰嶇疆鏂囦歡灝嗕嬌鎮ㄧ殑搴旂敤紼嬪簭鏇村姞鐏墊椿銆?/p>

Log4j鏀寔涓ょ閰嶇疆鏂囦歡鏍煎紡錛屼竴縐嶆槸XML鏍煎紡鐨勬枃浠訛紝涓縐嶆槸Java鐗規ф枃浠訛紙閿?鍊鹼級銆備笅闈㈡垜浠粙緇嶄嬌鐢↗ava鐗規ф枃浠跺仛涓洪厤緗枃浠剁殑鏂規硶錛?/p>

  1. 閰嶇疆鏍筁ogger錛屽叾璇硶涓猴細

    log4j.rootLogger = [ level ] , appenderName, appenderName, …

    鍏朵腑錛宭evel 鏄棩蹇楄褰曠殑浼樺厛綰э紝鍒嗕負OFF銆丗ATAL銆丒RROR銆乄ARN銆両NFO銆丏EBUG銆丄LL鎴栬呮偍瀹氫箟鐨勭駭鍒侺og4j寤鴻鍙嬌鐢ㄥ洓涓駭鍒紝浼? 鍏堢駭浠庨珮鍒頒綆鍒嗗埆鏄疎RROR銆乄ARN銆両NFO銆丏EBUG銆傞氳繃鍦ㄨ繖閲屽畾涔夌殑綰у埆錛屾偍鍙互鎺у埗鍒板簲鐢ㄧ▼搴忎腑鐩稿簲綰у埆鐨勬棩蹇椾俊鎭殑寮鍏熾傛瘮濡傚湪榪欓噷瀹? 涔変簡INFO綰у埆錛屽垯搴旂敤紼嬪簭涓墍鏈塂EBUG綰у埆鐨勬棩蹇椾俊鎭皢涓嶈鎵撳嵃鍑烘潵銆?
    appenderName灝辨槸鎸囧畾鏃ュ織淇℃伅杈撳嚭鍒板摢涓湴鏂廣傛偍鍙互鍚屾椂鎸囧畾澶氫釜杈撳嚭鐩殑鍦般?
  2. 閰嶇疆鏃ュ織淇℃伅杈撳嚭鐩殑鍦癆ppender錛屽叾璇硶涓?
    log4j.appender.appenderName = fully.qualified.name.of.appender.class
    log4j.appender.appenderName.option1 = value1

    log4j.appender.appenderName.option = valueN
    鍏朵腑錛孡og4j鎻愪緵鐨刟ppender鏈変互涓嬪嚑縐嶏細
    org.apache.log4j.ConsoleAppender錛堟帶鍒跺彴錛夛紝
    org.apache.log4j.FileAppender錛堟枃浠訛級錛?
    org.apache.log4j.DailyRollingFileAppender錛堟瘡澶╀駭鐢熶竴涓棩蹇楁枃浠訛級錛宱rg.apache.log4j.RollingFileAppender錛堟枃浠跺ぇ灝忓埌杈炬寚瀹氬昂瀵哥殑鏃跺欎駭鐢熶竴涓柊鐨勬枃浠訛級錛?
    org.apache.log4j.WriterAppender錛堝皢鏃ュ織淇℃伅浠ユ祦鏍煎紡鍙戦佸埌浠繪剰鎸囧畾鐨勫湴鏂癸級
  3. 閰嶇疆鏃ュ織淇℃伅鐨勬牸寮忥紙甯冨眬錛夛紝鍏惰娉曚負錛?
    log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
    log4j.appender.appenderName.layout.option1 = value1

    log4j.appender.appenderName.layout.option = valueN
    鍏朵腑錛孡og4j鎻愪緵鐨刲ayout鏈変互涓嬪嚑縐嶏細
    org.apache.log4j.HTMLLayout錛堜互HTML琛ㄦ牸褰㈠紡甯冨眬錛夛紝
    org.apache.log4j.PatternLayout錛堝彲浠ョ伒媧誨湴鎸囧畾甯冨眬妯″紡錛夛紝
    org.apache.log4j.SimpleLayout錛堝寘鍚棩蹇椾俊鎭殑綰у埆鍜屼俊鎭瓧絎︿覆錛夛紝
    org.apache.log4j.TTCCLayout錛堝寘鍚棩蹇椾駭鐢熺殑鏃墮棿銆佺嚎紼嬨佺被鍒瓑絳変俊鎭級

3.2.鍦ㄤ唬鐮佷腑浣跨敤Log4j

涓嬮潰灝嗚榪板湪紼嬪簭浠g爜涓庢牱浣跨敤Log4j銆?/p>

3.2.1.寰楀埌璁板綍鍣?/strong>

浣跨敤Log4j錛岀涓姝ュ氨鏄幏鍙栨棩蹇楄褰曞櫒錛岃繖涓褰曞櫒灝嗚礋璐f帶鍒舵棩蹇椾俊鎭傚叾璇硶涓猴細

public static Logger getLogger( String name)錛?/p>

閫氳繃鎸囧畾鐨勫悕瀛楄幏寰楄褰曞櫒錛屽鏋滃繀瑕佺殑璇濓紝鍒欎負榪欎釜鍚嶅瓧鍒涘緩涓涓柊鐨勮褰曞櫒銆侼ame涓鑸彇鏈被鐨勫悕瀛楋紝姣斿錛?/p>

static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () ) ;

3.2.2.璇誨彇閰嶇疆鏂囦歡

褰撹幏寰椾簡鏃ュ織璁板綍鍣ㄤ箣鍚庯紝絎簩姝ュ皢閰嶇疆Log4j鐜錛屽叾璇硶涓猴細
BasicConfigurator.configure ()錛?鑷姩蹇熷湴浣跨敤緙虹渷Log4j鐜銆?
PropertyConfigurator.configure ( String configFilename) 錛氳鍙栦嬌鐢↗ava鐨勭壒鎬ф枃浠剁紪鍐欑殑閰嶇疆鏂囦歡銆?
DOMConfigurator.configure ( String filename ) 錛氳鍙朮ML褰㈠紡鐨勯厤緗枃浠躲?

3.2.3.鎻掑叆璁板綍淇℃伅錛堟牸寮忓寲鏃ュ織淇℃伅錛?/strong>

褰撲笂涓や釜蹇呰姝ラ鎵ц瀹屾瘯錛屾偍灝卞彲浠ヨ交鏉懼湴浣跨敤涓嶅悓浼樺厛綰у埆鐨勬棩蹇楄褰曡鍙ユ彃鍏ュ埌鎮ㄦ兂璁板綍鏃ュ織鐨勪換浣曞湴鏂癸紝鍏惰娉曞涓嬶細

Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;



鍙傝冭祫鏂?

濡傛灉鎮ㄦ兂鏇存繁鍏ュ湴浜嗚ВLog4j錛岃緇忓父璁塊棶涓嬮潰鎻愬強鐨勭浉鍏抽摼鎺ャ?/p>

Log4j欏圭洰涓婚〉------------------------------------------------------ www.log4j.org

Log4j FAQ ------------------------------------------------------- www.log4j.org/log4j/faq.html


鍏充簬浣滆?/span>


钁佃礊紲ワ紝SCJP錛圫un Certified Java 2 Programmer錛夛紝鍏鋒湁7騫村浗鍐呭浗澶栫煡鍚嶄紒涓氬伐浣滅粡鍘嗭紝鐩墠鍏磋叮闆嗕腑鍦ㄥJava鐨凜/S銆丅/S澶у瀷搴旂敤涓婏紝鎮ㄥ彲浠ラ氳繃 chinesemars@hotmail.com鍜屼粬鑱旂郴銆?



Jam Chan 2008-03-20 09:27 鍙戣〃璇勮
]]>
銆愬師鍒涖戠紪鍐橭racle瀛樺偍榪囩▼錛屾寜鐓ф潯浠舵妸鏁版嵁瀵煎嚭鑷砐ML鏂囦歡http://m.tkk7.com/botson/archive/2008/03/19/187362.htmlJam ChanJam ChanWed, 19 Mar 2008 13:48:00 GMThttp://m.tkk7.com/botson/archive/2008/03/19/187362.htmlhttp://m.tkk7.com/botson/comments/187362.htmlhttp://m.tkk7.com/botson/archive/2008/03/19/187362.html#Feedback3http://m.tkk7.com/botson/comments/commentRss/187362.htmlhttp://m.tkk7.com/botson/services/trackbacks/187362.htmlpeople.xml
 1 <?xml version="1.0"?>
 2 <PEOPLE>
 3     <PERSON PERSONID="E01">
 4         <NAME>Tony Blair</NAME>
 5         <ADDRESS>10 Downing Street, London, UK</ADDRESS>
 6         <TEL>(061) 98765</TEL>
 7         <FAX>(061) 98768</FAX>
 8         <EMAIL>blair@everywhere.com</EMAIL>
 9     </PERSON>
10     <PERSON PERSONID="E02">
11         <NAME>Bill Clinton</NAME>
12         <ADDRESS>White House, USA</ADDRESS>
13         <TEL>(001) 6400 98765</TEL>
14         <FAX>(001) 6400 98769</FAX>
15         <EMAIL>bill@everywhere.com</EMAIL>
16     </PERSON>
17     <PERSON PERSONID="E03">
18         <NAME>Tom Cruise</NAME>
19         <ADDRESS>57 Jumbo Street, New York, USA</ADDRESS>
20         <TEL>(001) 4500 67859</TEL>
21         <FAX>(001) 4500 67895</FAX>
22         <EMAIL>cruise@everywhere.com</EMAIL>
23     </PERSON>
24     <PERSON PERSONID="E04">
25         <NAME>Linda Goodman</NAME>
26         <ADDRESS>78 Crax Lane, London, UK</ADDRESS>
27         <TEL>(061) 54 56789</TEL>
28         <FAX>(061) 54 56772</FAX>
29         <EMAIL>linda@everywhere.com</EMAIL>
30     </PERSON>
31 </PEOPLE>

鎴戜互scott鐢ㄦ埛涓轟緥錛屾柊寤鴻〃錛?br />
1 CREATE TABLE PEOPLE
2 (
3   PERSONID VARCHAR2(4PRIMARY KEY,
4   NAME VARCHAR2(50),
5   ADDRESS VARCHAR2(200),
6   TEL VARCHAR2(20),
7   FAX VARCHAR2(20),
8   EMAIL VARCHAR2(100)
9 );

鍋囪琛ㄩ噷闈㈠凡緇忔湁鏁版嵁錛屽鏋滄兂浠嶺ML鎻掑叆鏁版嵁璇風湅銆愬師鍒涖戠紪鍐橭racle瀛樺偍榪囩▼瑙f瀽XML錛屽茍鎶婃暟鎹寔涔呭寲

浠ヤ笅鏄妸鏌ヨ緇撴灉鐢熸垚XML鏂囦歡鐨勫瓨鍌ㄨ繃紼嬩唬鐮侊細
 1 /**
 2 *sqlStr        闄勫姞鐨勬煡璇㈡潯浠?nbsp;濡傦細where PERSONID = 'E01',鏌ヨ鎵鏈夎緭鍏?'
 3 *file_path     鏂囦歡淇濆瓨璺緞   濡傦細D:\OracleTest\outpeople.xml
 4 **/
 5 CREATE OR REPLACE PROCEDURE OUTPUTPEOPLE(sqlStr VARCHAR2,file_path VARCHAR2)
 6 AS
 7     personRow PEOPLE%ROWTYPE;      --鑾峰彇娓告爣鐨勮鍙橀噺
 8     TYPE person_cur IS REF CURSOR--鑷畾涔塕EF娓告爣
 9     cur person_cur;    
10     tempSql varchar2(500) := 'SELECT * FROM PEOPLE ';       --鍒濆鐨勬煡璇㈣鍙?/span>
11     doc xmlDom.DOMDocument := xmldom.newDOMDocument;        -- 鍒涘緩鏂囨。瀵硅薄
12     main_node xmlDom.DOMNode := xmldom.makeNode(doc);       -- 鑾峰緱鏂囨。鑺傜偣
13     root_elmt xmlDom.DOMElement:= xmldom.createElement(doc, 'PEOPLE');   -- 鍒涘緩鏍瑰厓绱?/span>
14     --==================================================
15     --浠ヤ笅瀹氫箟鍏冪礌
16     person_elmt xmlDom.DOMElement;      --瀹氫箟PERSON鍏冪礌
17     name_elmt xmlDom.DOMElement;      --瀹氫箟NAME鍏冪礌
18     address_elmt xmlDom.DOMElement;      --瀹氫箟ADDRESS鍏冪礌
19     tel_elmt xmlDom.DOMElement;           --瀹氫箟TEL鍏冪礌    
20     email_elmt xmlDom.DOMElement;      --瀹氫箟EMAIL鍏冪礌    
21     --==================================================
22     --浠ヤ笅瀹氫箟鑺傜偣
23     root_node xmlDom.DOMNode;   --瀹氫箟PEOPLE鑺傜偣
24     person_node xmlDom.DOMNode;   --瀹氫箟PERSON鑺傜偣
25     name_node xmlDom.DOMNode;   --瀹氫箟NAME鑺傜偣
26     address_node xmlDom.DOMNode;   --瀹氫箟ADDRESS鑺傜偣
27     tel_node xmlDom.DOMNode;   --瀹氫箟TEL鑺傜偣
28     email_node xmlDom.DOMNode;   --瀹氫箟EMAIL鑺傜偣
29     temp_node xmlDom.DOMNode;
30 BEGIN
31     -- 鍚戞枃妗h妭鐐瑰姞鍏ユ牴鑺傜偣:<PEOPLE></PEOPLE>
32     root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
33     --闄勫姞鏌ヨ鏉′歡
34     tempSql := tempSql||sqlStr;
35     --鎵撳紑娓告爣
36     OPEN cur FOR tempSql;
37     --閬嶅巻娓告爣
38     LOOP
39       FETCH cur INTO personRow;
40       EXIT WHEN cur%NOTFOUND;
41       --===========================================================================--
42       person_elmt := xmldom.createElement(doc, 'PERSON'); --鍒涘緩PERSON鍏冪礌
43       -- 鍚慞EOPLE鑺傜偣鍔犲叆PERSON鑺傜偣<PERSON></PERSON>
44       person_node := xmldom.appendChild(root_node, xmldom.makeNode(person_elmt));
45       --===========================================================================--
46       --鍚慞ERSON鑺傜偣鍔犲叆灞炴ERSONID
47       xmlDom.SETATTRIBUTE( person_elmt, 'PERSONID', personRow.personId );
48       --===========================================================================--
49       name_elmt := xmldom.createElement(doc, 'NAME');      --鍒涘緩NAME鍏冪礌
50       --鍚慞ERSON鑺傜偣鍔犲叆瀛愯妭鐐筃AME
51       name_node := xmldom.appendChild(person_node,xmlDom.makeNode(name_elmt));
52       --鍚慛AME鑺傜偣鍔犲叆鏂囨湰
53       temp_node := xmldom.appendChild(name_node , xmlDom.makeNode(xmldom.createTextNode(doc,personRow.name)));
54       --===========================================================================--
55       address_elmt := xmldom.createElement(doc, 'ADDRESS');      --鍒涘緩ADDRESS鍏冪礌
56       --鍚慞ERSON鑺傜偣鍔犲叆瀛愯妭鐐笰DDRESS
57       address_node := xmldom.appendChild(person_node,xmlDom.makeNode(address_elmt));
58       --鍚慉DDRESS鑺傜偣鍔犲叆鏂囨湰
59       temp_node := xmldom.appendChild(address_node, xmlDom.makeNode(xmldom.createTextNode(doc,personRow.address)));
60       --===========================================================================--
61       tel_elmt := xmldom.createElement(doc, 'TEL');      --鍒涘緩TEL鍏冪礌    
62       --鍚慣EL鑺傜偣鍔犲叆瀛愯妭鐐筃AME
63       tel_node := xmldom.appendChild(person_node,xmlDom.makeNode(tel_elmt));
64       --鍚慣EL鑺傜偣鍔犲叆鏂囨湰
65       temp_node := xmldom.appendChild(tel_node, xmlDom.makeNode(xmldom.createTextNode(doc,personRow.tel)));
66       --===========================================================================--
67       email_elmt := xmldom.createElement(doc, 'EMAIL');      --鍒涘緩EMAIL鍏冪礌    
68       --鍚慞ERSON鑺傜偣鍔犲叆瀛愯妭鐐笶MAIL
69       email_node := xmldom.appendChild(person_node,xmlDom.makeNode(email_elmt));
70       --鍚慐MAIL鑺傜偣鍔犲叆鏂囨湰
71       temp_node := xmldom.appendChild(email_node, xmlDom.makeNode(xmldom.createTextNode(doc,personRow.email)));
72       --===========================================================================--
73     END LOOP;
74     CLOSE cur;
75     --鍐欏叆紜洏
76     xmlDom.writeToFile(doc,file_path,'GBK');
77   EXCEPTION
78    WHEN OTHERS THEN
79      DBMS_output.PUT_LINE(SQLERRM);
80 END OUTPUTPEOPLE;







Jam Chan 2008-03-19 21:48 鍙戣〃璇勮
]]>
銆愬師鍒涖戠紪鍐橭racle瀛樺偍榪囩▼瑙f瀽XML錛屽茍鎶婃暟鎹寔涔呭寲http://m.tkk7.com/botson/archive/2008/03/19/187360.htmlJam ChanJam ChanWed, 19 Mar 2008 13:40:00 GMThttp://m.tkk7.com/botson/archive/2008/03/19/187360.htmlhttp://m.tkk7.com/botson/comments/187360.htmlhttp://m.tkk7.com/botson/archive/2008/03/19/187360.html#Feedback19http://m.tkk7.com/botson/comments/commentRss/187360.htmlhttp://m.tkk7.com/botson/services/trackbacks/187360.htmlpeople.xml
 1 <?xml version="1.0"?>
 2 <PEOPLE>
 3     <PERSON PERSONID="E01">
 4         <NAME>Tony Blair</NAME>
 5         <ADDRESS>10 Downing Street, London, UK</ADDRESS>
 6         <TEL>(061) 98765</TEL>
 7         <FAX>(061) 98768</FAX>
 8         <EMAIL>blair@everywhere.com</EMAIL>
 9     </PERSON>
10     <PERSON PERSONID="E02">
11         <NAME>Bill Clinton</NAME>
12         <ADDRESS>White House, USA</ADDRESS>
13         <TEL>(001) 6400 98765</TEL>
14         <FAX>(001) 6400 98769</FAX>
15         <EMAIL>bill@everywhere.com</EMAIL>
16     </PERSON>
17     <PERSON PERSONID="E03">
18         <NAME>Tom Cruise</NAME>
19         <ADDRESS>57 Jumbo Street, New York, USA</ADDRESS>
20         <TEL>(001) 4500 67859</TEL>
21         <FAX>(001) 4500 67895</FAX>
22         <EMAIL>cruise@everywhere.com</EMAIL>
23     </PERSON>
24     <PERSON PERSONID="E04">
25         <NAME>Linda Goodman</NAME>
26         <ADDRESS>78 Crax Lane, London, UK</ADDRESS>
27         <TEL>(061) 54 56789</TEL>
28         <FAX>(061) 54 56772</FAX>
29         <EMAIL>linda@everywhere.com</EMAIL>
30     </PERSON>
31 </PEOPLE>

鎴戜互scott鐢ㄦ埛涓轟緥錛屾柊寤鴻〃錛?br />
1 CREATE TABLE PEOPLE
2 (
3   PERSONID VARCHAR2(4PRIMARY KEY,
4   NAME VARCHAR2(50),
5   ADDRESS VARCHAR2(200),
6   TEL VARCHAR2(20),
7   FAX VARCHAR2(20),
8   EMAIL VARCHAR2(100)
9 );

瑙f瀽騫舵寔涔呭寲鐨勫瓨鍌ㄨ繃紼嬩唬鐮侊細
 1 /**
 2 *file_path     闇瑕佽В鏋愮殑XML鏂囦歡璺緞 濡傦細D:\OracleTest\people.xml
 3 *log_path      淇濆瓨鏃ュ織鐨勬枃浠剁殑璺緞  濡? D:\OracleTest\xmllog.txt
 4 **/
 5 
 6 CREATE OR REPLACE PROCEDURE addPerson(file_path VARCHAR2,log_path VARCHAR2)
 7 AS
 8 --//XML瑙f瀽鍣?/span>
 9 xmlPar XMLPARSER.parser := XMLPARSER.NEWPARSER;
10 --//DOM鏂囨。瀵硅薄
11 doc xmldom.DOMDocument;
12 len integer;
13 personNodes xmldom.DOMNodeList;
14 chilNodes xmldom.DOMNodeList;
15 tempNode xmldom.DOMNode;
16 tempArrMap xmldom.DOMNamedNodeMap;
17 --================================
18 --浠ヤ笅鍙橀噺鐢ㄤ簬鑾峰彇XML鑺傜偣鐨勫?/span>
19 pid varchar2(4);
20 name varchar2(50);
21 address varchar2(200);
22 tel varchar2(20);
23 fax varchar2(20);
24 email varchar(100);
25 tmp integer;
26 --================================
27 BEGIN
28   xmlPar := xmlparser.newParser;
29   xmlparser.setErrorLog( xmlPar, log_path);
30   xmlparser.parse(xmlPar, file_path);
31   doc := xmlparser.getDocument( xmlPar );  
32   -- 閲婃斁瑙f瀽鍣ㄥ疄渚?/span>
33   xmlparser.freeParser(xmlPar);
34   -- 鑾峰彇鎵鏈塒ERSON鍏冪礌
35   personNodes := xmldom.getElementsByTagName( doc, 'PERSON' );
36   len := xmldom.getLength( personNodes );
37   --閬嶅巻鎵鏈塒ERSON鍏冪礌
38   FOR i in 0..len-1
39   LOOP
40     --鑾峰彇絎琲涓狿ERSON
41     tempNode := xmldom.item( personNodes, i );
42     --鎵鏈夊睘鎬?/span>
43     tempArrMap := xmldom.getAttributes(tempNode);
44     --鑾峰彇PERSONID鐨勫?/span>
45     pid := xmldom.getNodeValue(xmldom.getNamedItem(tempArrMap,'PERSONID'));
46     --鑾峰彇瀛愬厓绱犵殑鍊?/span>
47     chilNodes := xmldom.getChildNodes(tempNode);
48     tmp := xmldom.GETLENGTH( chilNodes );
49     name := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 0 )));
50     address := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 1 )));
51     tel := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 2 )));
52     fax := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 3 )));
53     email := xmldom.getNodeValue(xmldom.getFirstChild(xmldom.item( chilNodes, 4 )));
54     --鎻掑叆鏁版嵁
55     INSERT INTO PEOPLE VALUES (pid,name,address,tel,fax,email);
56     COMMIT;
57   END LOOP;
58   -- 閲婃斁鏂囨。瀵硅薄
59   xmldom.freeDocument(doc);
60   EXCEPTION
61    WHEN OTHERS THEN
62      DBMS_output.PUT_LINE(SQLERRM);
63 END addPerson;


鏈夎澶氭湅鍙嬮兘璇存墽琛屾椂鍑虹幇閿欒錛岀幇鍦ㄦ垜鎶婃垜鍦∣racle9i浣跨敤鐨勬埅鍥捐創鍑烘潵錛屼互浣滃弬鑰冿細


瀛樺偍榪囩▼鎴浘

Jam Chan 2008-03-19 21:40 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久久高清免费视频 | 亚洲精品无码午夜福利中文字幕 | 亚洲国产成人精品女人久久久 | 国产专区一va亚洲v天堂| 搡女人真爽免费视频大全| 嫩草影院在线播放www免费观看| 色偷偷亚洲第一综合网| 亚洲另类古典武侠| 亚洲αv在线精品糸列| 亚洲国产成人五月综合网| 免费看又爽又黄禁片视频1000| 4虎1515hh永久免费| 美女被cao网站免费看在线看| 五级黄18以上免费看| 美女免费视频一区二区三区| 中文字幕亚洲码在线| 亚洲一区二区免费视频| 亚洲人成在线电影| 亚洲国产高清人在线| 亚洲嫩草影院久久精品| 亚洲精品白浆高清久久久久久| 亚洲爽爽一区二区三区| 亚洲熟妇少妇任你躁在线观看无码| 四虎永久在线精品视频免费观看| 在线观看特色大片免费视频| 无码国产精品一区二区免费| 最近免费中文字幕大全免费 | 久久精品国产亚洲精品| 免费在线观看你懂的| 国产嫩草影院精品免费网址| 国产麻豆免费观看91| 日韩免费a级在线观看| 热99re久久免费视精品频软件| 无码日韩人妻av一区免费| 无码一区二区三区AV免费| 最近免费中文字幕大全| 成人免费视频软件网站| 在线观看国产情趣免费视频| vvvv99日韩精品亚洲| 美腿丝袜亚洲综合| 亚洲人成网77777亚洲色|