BlogJava-oksonic博客http://www.qpkxbc.shop/oksonic/oksonic博客zh-cnSat, 24 Aug 2019 00:21:49 GMTSat, 24 Aug 2019 00:21:49 GMT60為struts-menu的樹型菜單加入復選框http://www.qpkxbc.shop/oksonic/archive/2007/07/20/131542.htmloksonicoksonicFri, 20 Jul 2007 11:18:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/07/20/131542.htmlhttp://www.qpkxbc.shop/oksonic/comments/131542.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/07/20/131542.html#Feedback8http://www.qpkxbc.shop/oksonic/comments/commentRss/131542.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/131542.html閱讀全文

oksonic 2007-07-20 19:18 發表評論
]]>
速動畫教程第三十三集 使用NetBean開發之用戶管理http://www.qpkxbc.shop/oksonic/archive/2007/05/14/117454.htmloksonicoksonicMon, 14 May 2007 14:52:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/05/14/117454.htmlhttp://www.qpkxbc.shop/oksonic/comments/117454.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/05/14/117454.html#Feedback9http://www.qpkxbc.shop/oksonic/comments/commentRss/117454.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/117454.html使用NetBean + Visual Web Pack 5.5開發之用戶管理

 

下載地址:www.oksonic.cn  www.oksonic.com.cn

 

1.       介紹

       用戶的增、刪、改操作

      

2.       準備

a)         NetBean5.5中文版

b)        JDK1.5.0.11

c)        Visual Web Pack 5.5

 

3.       開發步驟

a)         新建項目user

                         i.              拷貝mysqljdbc驅動到netbean安裝目錄下的common/lib目錄下,沒有這一步的話在運行程序時會出現找不到jdbc驅動的錯誤提示

b)        創建數據源

                         i.              創建用戶表

c)        使用數據組件

                         i.              設置綁定數據源

                       ii.              更改姓名、密碼字段為可編輯狀態

d)        增加新用戶事件

public String add_action() {

        try {

            // 創建一個空的記錄行

            RowKey rk = usersDataProvider.appendRow();

            usersDataProvider.setCursorRow(rk);

        } catch (Exception e){

            error(e.getMessage());

        }

        return null;

    }

         

e)         增加保存事件

     

public String save_action() {

        try{

            usersDataProvider.commitChanges();

            usersDataProvider.refresh();

        } catch (Exception e){

            error(e.getMessage());

        }

        return null;

    }

f)         增加刪除事件

     

public String delete_action() {

        try{

            RowKey rk = tableRowGroup1.getRowKey();

            usersDataProvider.removeRow(rk);

            usersDataProvider.commitChanges();

            usersDataProvider.refresh();

        } catch (Exception e){

            error(e.getMessage());

        }

        return null;

    }

 

4.       參考資料

Java Studio Creator 教程



oksonic 2007-05-14 22:52 發表評論
]]>
速動畫教程第三十二集 使用NetBean5.5可視環境開發JSF應用程序http://www.qpkxbc.shop/oksonic/archive/2007/05/07/115653.htmloksonicoksonicSun, 06 May 2007 18:22:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/05/07/115653.htmlhttp://www.qpkxbc.shop/oksonic/comments/115653.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/05/07/115653.html#Feedback6http://www.qpkxbc.shop/oksonic/comments/commentRss/115653.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/115653.html使用NetBean5.5可視環境開發JSF應用程序

下載地址:www.oksonic.cn 

1.       準備

a)         JDK1.5.0.6

b)        NetBean5.5       http://www.netbeans.org/

c)        Visual Web Pack  http://www.netbeans.org/

 

2.       開發步驟

a)         安裝NetBean5.5、安裝Visual Web Pack

b)        創建一個簡單的登錄項目

                         i.              新建一個Visual Web工程名稱為login

                       ii.              拖動一個文本框組件和一個口令字段組件到頁面中,修改ID屬性為usernamepassword,修改Label屬性為姓名、密碼

                      iii.              拖動一個按鈕組件到頁面中,修改按鈕的IDlogin,修改text屬性為登錄

                     iv.              雙擊登錄按鈕界面跳轉到代碼編輯頁,修改光標所在的代碼為以下內容:

public String login_action() {

        // 待做事項:處理按鈕單擊操作。返回的值是一個導航

        // 條件名稱,如果它為 Null,則返回到同一頁。

        return "success";

    }

根據注釋內容可以看到這里的return的返回值為success,根據這個返回值,我們只需要配置相應的導航就可以控制頁面到想轉的地方了

                       v.              新建一個welcome

                     vi.              welcome頁中加入一個靜態文本組件,并修改它的text屬性為“您已經成功登錄了!

                    vii.              點擊左邊樹型菜單中的“頁面導航”項進入頁面導航的配置頁,這時可以看到兩個圖標,一個是Page1.jsp,另一個是welcome.jsp,在Page1.jsp圖標的右邊可以看到一個小方塊,點擊方塊并拖動到welcome.jsp文件上后放開鼠標,這時就看到有一條線將兩個圖標連在一塊了,上面還有文字信息,點中這條線后,修改它的屬性“結果”為“success”這里的“success”就是根據上面的login_action方法中所返回的“success”文字來進行判斷,只要文字相同就跳轉到welcome頁面

                  viii.              按下F6或是點擊菜單項的“運行”à“運行主項目”就可以啟動tomcat進行測試了,項目啟動后會自動打開IE并顯示當前頁面,點擊登錄按鈕就可以看到頁面跳轉到了welcome.jsp

c)        表單驗證

                         i.              修改文本框組件和口令字required屬性為true,也就是打上鉤,這里的意思是這兩個文本框必須輸入內容后才可以提交,這時進行測試就可以看到效果了,不輸入內容就提交的話文字信息就會變為紅色的了

                       ii.              加入長度驗證器,將文本框組件和口令字段組件的validator屬性從下拉列表中選擇lengthValidator1,在左邊的樹型菜單中選擇lengthValidator1,修改maximunminimun屬性為102,這里的意思是驗證用戶輸入數據的最大長度和最小長度分別為10個字符和2個字符

d)        調試代碼

                         i.              雙擊登錄按鈕進入代碼編輯頁面加入以下代碼

                    

public String login_action() {

        // 待做事項:處理按鈕單擊操作。返回的值是一個導航

        // 條件名稱,如果它為 Null,則返回到同一頁。

        if(!this.username.getValue().equals("oksonic"))

            return null;

        return "success";

    }

                     這里的意思是判斷用戶輸入的姓名是否是“oksonic”不是的話就返回null,返回值為null的話就是回到提交頁面

                       ii.              按下F5或是點擊菜單項的“運行”à“調試主項目”就可以啟動tomcat進行調試了,在上面代碼的if語句前打上一個斷點,在頁面中輸入信息后點登錄按鈕,這時就可以看到代碼運行到斷點處就停止了,這時可以使用快捷鍵進行操作。F7是跳到下一行代碼,Ctrl+F5是繼續執行,其它的可以查看菜單“運行”里的其它菜單項后的快捷方式

 

       本教程到此結束,謝謝收看!

       聯系方法:           oksonic@tom.com

       其它教程下載:    www.oksonic.cn

      



oksonic 2007-05-07 02:22 發表評論
]]>
速動畫教程第三十一集 使用Axis2構建Hello應用 http://www.qpkxbc.shop/oksonic/archive/2007/04/30/114698.htmloksonicoksonicMon, 30 Apr 2007 01:06:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/04/30/114698.htmlhttp://www.qpkxbc.shop/oksonic/comments/114698.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/04/30/114698.html#Feedback4http://www.qpkxbc.shop/oksonic/comments/commentRss/114698.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/114698.html

 

 

速動畫教程第三十一集

下載地址:www.oksonic.cn   www.oksonic.com.cn  

 

使用Axis2構建Hello應用

 

A.    環境準備

a.     Eclipse3.2.2

b.     MyEclipse5.5m2

c.     Axis2.1.1 War http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war

d.     Axis Eclipse plug-in(代碼生成工具和打包工具)

http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip

http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip

B.    開發步驟

a.       創建一個web項目,名稱為hello

b.       生成wsdl文件

打開MyEclipseweb service中的wsdl向導

文件名為hello.wdsl,下一步

目標地址為http://www.oksonic.cn/hello/,其它為默認,完成

修改hello.wsdl文件為以下格式

C.       根據wsdl文件生成客戶端java代碼

使用Ctrl + N 打開Axis Wizards中的Axis2 Code Generator

使用默認的第一項,下一步

選擇生成的hello.wsdl文件D:\oksonic\workspace\hello\src\hello.wsdl,下一步

參照下圖進行配置

解壓Axis2.1.1文件到C盤,然后參照下圖進行配置

將加入進來的lib目錄移到WEB-INF目錄下,刷新一下項目就可以看到生成的代碼了。

 

D.       根據wsdl文件生成服務端java代碼

使用Ctrl + N 打開Axis Wizards中的Axis2 Code Generator

使用默認的第一項,下一步

選擇生成的hello.wsdl文件D:\oksonic\workspace\hello\src\hello.wsdl,下一步

參照下圖進行配置

 

下一步

E.       修改HelloSkeleton代碼,內容如下:

package org.example.www.hello;

 

public class HelloSkeleton {

 

    public org.example.www.hello.HelloResponse hello(

           org.example.www.hello.Hello param0)    {

       try {

           HelloResponse response = new HelloResponse();

           response.setOut(param0.getIn() + "歡迎你的到來!");

           return response;

       } catch (UnsupportedOperationException e) {

           throw e;

       }

    }

}

F.       發布項目

1.     打開Axis2的向導,選擇Axis2 Service Archiver

2.     選擇class文件所在的目錄,如:D:\oksonic\workspace\hello\WebRoot\WEB-INF\classes

3.     選擇項目中resources目錄下的hello.wsdl文件如:D:\oksonic\workspace\hello\resources\hello.wsdl

4.     跳過一下步,這里選擇resources目錄下的service.xml文件如:D:\oksonic\workspace\hello\resources\services.xml

5.     這一步是輸出一個jar文件或是aar都可以,上面是輸出路徑,下面是文件名,如:C:\Documents and Settings\Administrator\桌面,Hello.jar

6.     axis2.1.1.war文件拷貝到tomcat安裝路徑下的webapps目錄下,這里可以選擇啟動tomcat來解開axis2.1.1.war,也可以直接將文件改名為zip后解壓,解壓后的文件夾名稱為axis2,然后將Hello.jar拷貝到asix2.1.1/WEB-INF/service目錄下

 

G.       測試

啟動tomcat服務,打開IE在地址欄中輸入http://localhost/axis2,進入頁面后點擊Services鏈接,在下一個頁面中將會看到hello服務的鏈接,點開此鏈接就可以看到服務信息了。

接下來使用客戶端測試代碼進行測試,修改HelloTest.java文件中的testHello方法,內容如下:

public void testHello() throws java.lang.Exception {

       String url = "http://localhost/axis2/services/Hello";

       HelloStub stub = new HelloStub(url);

       Hello hello = (Hello) getTestObject(Hello.class);

       hello.setIn("oksonic");

       System.out.println(stub.Hello(hello).getOut());

       assertNotNull(stub.Hello(hello));

    }

這里使用到了Junit,所以還需要將Junitjar包加到項目中

 

為了制作更多更好的錄像教程,希望大家多多提供相關資料!!!

聯系方法:

 http://www.oksonic.cn

 Email: oksonic@tom.com

 QQ: 71279650

 



oksonic 2007-04-30 09:06 發表評論
]]>
速動畫教程第三十集 搭建SSH2的集成開發環境http://www.qpkxbc.shop/oksonic/archive/2007/04/28/114363.htmloksonicoksonicSat, 28 Apr 2007 08:00:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/04/28/114363.htmlhttp://www.qpkxbc.shop/oksonic/comments/114363.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/04/28/114363.html#Feedback13http://www.qpkxbc.shop/oksonic/comments/commentRss/114363.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/114363.html閱讀全文

oksonic 2007-04-28 16:00 發表評論
]]>
速動畫教程第二十九集 單點登錄CAS的使用方法http://www.qpkxbc.shop/oksonic/archive/2007/04/02/107854.htmloksonicoksonicSun, 01 Apr 2007 17:36:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/04/02/107854.htmlhttp://www.qpkxbc.shop/oksonic/comments/107854.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/04/02/107854.html#Feedback13http://www.qpkxbc.shop/oksonic/comments/commentRss/107854.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/107854.html速動畫教程第二十九集

單點登錄CAS的使用方法


  下載地址: http://www.oksonic.cn

一.環境

a)         Windows 2003 sp1

b)        JDK1.5.0_11

c)        Tomcat 5.5.23

d)        MySql5.0

二.準備

a)         cas-server-3.0.6.zip 下載地址:http://www.ja-sig.org/products/cas/index.html

b)        cas-client-java-2.1.1.zip 下載地址:同上

c)        安裝完jdkjre后,需要配置JAVA_HOMEPATH=%JAVA_HOME%\bin

三.步驟

a)        配置Tomcat使用SSL安全認證

                         i.              使用命令提示符進入到Tomcat安裝目錄

                       ii.              生成服務端密匙執行以下命令

                     keytool -genkey -alias 別名keyalg RSA -keypass changeit -storepass changeit                           -keystore server.keystore

例:keytool -genkey -alias casserver -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore

運行后出現提示信息:

輸入keystore密碼:changeit      這里也填入主機名

您的名字與姓氏是什么?

 [Unknown] localhost           這里一定要填寫正確的主機名

您的組織單位名稱是什么?

 [Unknown] oksonic

您的組織名稱是什么?

 [Unknown] oksonic

您所在的城市或區域名稱是什么?

 [Unknown] kunming

您所在的州或省份名稱是什么?

 [Unknown] yunnan

該單位的兩字母國家代碼是什么

 [Unknown] cn

CN=localhost, OU=oksonic, O=oksonic, L=kunming, ST=yunnan, C=cn 正確嗎?

 [] y

完成后會在Tomcat目錄生成一個名為casserver的文件

                      iii.              生成服務端證書執行以下命令

                            keytool -export -alias casserver -storepass changeit -file server.cer                                     -keystore server.keystore

                            命令執行后生成一個server.cer的證書文件

 

                     iv.              生成客戶端密匙執行以下命令

                            keytool -genkey -alias casclient -keyalg RSA -keypass changeit -storepass                                  changeit -keystore client.keystore

                       v.              生成客戶端證書執行以下命令

                            keytool -export -alias casclient -storepass changeit -file client.cer                                        -keystore client.keystore

                            命令執行后生成一個server.cer的證書文件

                     vi.              導入證書文件到cacerts 文件中,執行以下命令

                            keytool -import -trustcacerts -alias server -file server.cer -keystore                                      cacerts -storepass changeit

 

                            keytool -import -trustcacerts -alias client -file client.cer -keystore                                        cacerts -storepass changeit

                            cacerts文件,拷貝到<JAVA_HOME>\jre\lib\security目錄下

 

                    vii.              拷貝cas-server-3.0.6.zip包內的target目錄下的cas.war文件到Tomcat目錄下的webapps目錄下

                  viii.              修改Tomcat的配置文件server.xml把以下補注釋的內容打開

<Connector port="8443" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" disableUploadTimeout="true"

               acceptCount="100" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

加入紅字部份后的內容如下:

         <Connector port="8443" maxHttpHeaderSize="8192"

keystorePass="changeit" keystoreFile="/server.keystore"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" disableUploadTimeout="true"

               acceptCount="100" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

 

b)        配置客戶端應用

                         i.              使用Tomcat的例子jsp-examples來做客戶端

                       ii.              打開項目中的web.xml文件,加入以下配置信息

                     <filter>
                             <filter-name>CASFilter</filter-name>
                              <filter-class>
                                    edu.yale.its.tp.cas.client.filter.CASFilter
                             </filter-class>
                             <init-param>
                             <param-name>
                                    edu.yale.its.tp.cas.client.filter.loginUrl
                            </param-name>
                             <param-value>
https://localhost:8443/cas/login</param-value>
                            </init-param> 
                            <init-param>
                               <param-name>
                                          edu.yale.its.tp.cas.client.filter.validateUrl
                                   </param-name>
                            <param-value>
                                  
https://localhost:8443/cas/proxyValidate
                            </param-value>
                     </init-param>
                     <init-param>
                            <param-name>
                                    edu.yale.its.tp.cas.client.filter.serverName
                            </param-name>
                                   <param-value>
localhost:8080</param-value>
                      </init-param>
              </filter>

              <filter-mapping>
              <filter-name>CASFilter</filter-name>
                     <url-pattern>
/ *</url-pattern>
               </filter-mapping>

 

              拷貝cas-client-java-2.1.1.zip包中的casclient.jar到項目的lib目錄下

 

              現在可以啟動Tomcat來測試一下是否能夠進入到登錄頁

c)         配置CAS使用數據庫進行驗證

                         i.              MySql中的Test庫中新建app_user

       CREATE TABLE `app_user` (
                  `username` varchar(30) NOT NULL default '',
                  `password` varchar(45) NOT NULL default '',
                  PRIMARY KEY  (`username`)
         ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
添加以下用戶:
         INSERT INTO `app_user` (`username`,`password`) VALUES

                    ('oksonic','oksonic'),

                    ('oksonic1','oksonic1');

 

                      ii.              修改cas項目中的deployerConfigContext.xml文件

<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注釋掉該行,在其下加入:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
                            <property name="sql" value="select password from
app_user where username=?" />
                            <property name="dataSource" ref="dataSource" />

                     </bean>
并添加一個bean
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
       <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
       <property name="url"><value>jdbc:mysql://localhost:3306/test</value></property>
       <property name="username"><value>test</value></property>
       <property name="password"><value>test</value></property>
    </bean>
拷貝cas-server-jdbc-3.0.6.jarmysql-connector-java-3.1.11-bin.jarwebapps/cas/WEB-INF/lib下。



oksonic 2007-04-02 01:36 發表評論
]]>
速動畫教程第二十七集 SVN的安裝和配置http://www.qpkxbc.shop/oksonic/archive/2007/02/10/99100.htmloksonicoksonicSat, 10 Feb 2007 01:56:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/02/10/99100.htmlhttp://www.qpkxbc.shop/oksonic/comments/99100.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/02/10/99100.html#Feedback9http://www.qpkxbc.shop/oksonic/comments/commentRss/99100.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/99100.html閱讀全文

oksonic 2007-02-10 09:56 發表評論
]]>
發布個人收藏資料集!文件共有69.8Mhttp://www.qpkxbc.shop/oksonic/archive/2007/01/18/94757.htmloksonicoksonicThu, 18 Jan 2007 13:52:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2007/01/18/94757.htmlhttp://www.qpkxbc.shop/oksonic/comments/94757.htmlhttp://www.qpkxbc.shop/oksonic/archive/2007/01/18/94757.html#Feedback69http://www.qpkxbc.shop/oksonic/comments/commentRss/94757.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/94757.html 個人收藏資料集

?

此文檔來源于網絡 http://www.oksonic.cn/ 整理

?

下載: 技術資料

?

1.? Java

a)???????? 基礎

b)??????? J2ee

???????????????????????? i.????????????? Struts

?????????????????????? ii.????????????? Hibernate

????????????????????? iii.????????????? Spring

???????????????????? iv.????????????? Jsf

?????????????????????? v.????????????? Jaas

???????????????????? vi.????????????? Log4j

??????????????????? vii.????????????? 報表

????????????????? viii.????????????? Webwork2

???????????????????? ix.????????????? Tapestry

?????????????????????? x.????????????? Digester

???????????????????? xi.????????????? Quartz

c)??????? J2me

d)??????? 其它

e)???????? Web Service

f)???????? 工作流

g)??????? 錯誤展示

h)??????? 報表

i)????????? Ajax

j)????????? eXtremeComponents

k)??????? 服務器

l)????????? Groovy

m)????? Velocity

n)??????? 插件

o)??????? 多線程

p)??????? Maven2

q)??????? Ant

r)???????? Jstl

s)???????? Junit

t)????????? POI

2.? .net

3.? Html

4.? 網絡

5.? Linux

6.? Windows

7.? 黑客

8.? Php

9.? Sql server

10.????????????? 方案

11.????????????? VB

12.????????????? 軟件工程

13.????????????? Ruby On Rails

14.????????????? Delphi

15.????????????? DOS

16.????????????? UNIX

17.????????????? 美工 / 動畫

18.????????????? Oracle

19.????????????? 軟件測試

20.????????????? SOA



oksonic 2007-01-18 21:52 發表評論
]]>
速動畫教程第二十六集 WebWork2 開發教程http://www.qpkxbc.shop/oksonic/archive/2006/08/18/oksonic.htmloksonicoksonicThu, 17 Aug 2006 17:54:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2006/08/18/oksonic.htmlhttp://www.qpkxbc.shop/oksonic/comments/64233.htmlhttp://www.qpkxbc.shop/oksonic/archive/2006/08/18/oksonic.html#Feedback21http://www.qpkxbc.shop/oksonic/comments/commentRss/64233.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/64233.html
目錄:
1、完整的注冊和登錄演示
2、Model-Driven(模型驅動)
3、使用 JUnit 進行單元測試
4、配置表單驗證
5、國際化支持
6、集成 spring  閱讀全文

oksonic 2006-08-18 01:54 發表評論
]]>
速動畫教程第二十五集 使用 xfire 開發 web service 應用http://www.qpkxbc.shop/oksonic/archive/2006/07/19/59069.htmloksonicoksonicWed, 19 Jul 2006 13:20:00 GMThttp://www.qpkxbc.shop/oksonic/archive/2006/07/19/59069.htmlhttp://www.qpkxbc.shop/oksonic/comments/59069.htmlhttp://www.qpkxbc.shop/oksonic/archive/2006/07/19/59069.html#Feedback8http://www.qpkxbc.shop/oksonic/comments/commentRss/59069.htmlhttp://www.qpkxbc.shop/oksonic/services/trackbacks/59069.html閱讀全文

oksonic 2006-07-19 21:20 發表評論
]]>
1一152期六合图库资料