freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于webservice的rfid信息服務(wù)系統(tǒng)說明書(編輯修改稿)

2025-06-12 19:06 本頁面
 

【文章內(nèi)容簡介】 te 參數(shù) 表示 何時將運行這個工作。 interval參數(shù) 表示 何時這個工作將被重執(zhí)行。 no_parse 參數(shù) 表示 此工作在提交時或執(zhí)行時是否應(yīng)進行語法分析 ,如果為 TRUE 指示此 PL/SQL 代碼在它第一次執(zhí)行時應(yīng)進行語法分析,而 FALSE 指示本 PL/SQL 代碼應(yīng)立即進行語法分析。 在本項目中我們要求的是每個月在 rfidevents 表中增加一個新的分區(qū),所以我們只要定制一個如下的 job: var myjob number。 begin (:myjob,39。rfidevents_add_partition(sysdate)。39。,to_date(39。20211101 00:00:0039。,39。yyyymmdd hh24:mi:ss39。),39。TRUNC(LAST_DAY(SYSDATE))+139。)。 (:myjob)。 mit。 end。 以上語句即創(chuàng)建了一個每隔一個月運行 rfidevents_add_partition 過程一次的 job。在創(chuàng)建 job 之后還需要運行 job,這個過程就十分簡單了,只需要調(diào)用 ()方法就可以了。 數(shù)據(jù)庫的訪問 采用了時下流行的 Hibernate 框架來完成數(shù)據(jù)庫的連接訪問。 Hibernate 是一個開發(fā)源代碼的對象關(guān)系映射框架,它對 JDBC 進行了輕量級的對象封裝,使 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。它不僅提供了從 Java 類到數(shù)據(jù)表之間的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機制。相對于使用 JDBC 和 SQL 來手工操縱數(shù)據(jù)庫, Hibernate 可以大大減少工作量,從而節(jié)約開發(fā)時間和開發(fā)成本 [7]。 Hibernate 可以和多種 Web 服務(wù)器或者應(yīng)用服務(wù)器良好集成,而且?guī)缀踔С炙辛餍械臄?shù)據(jù)庫服務(wù)器。因此我們可以輕便的使用 Hibernate 來進 行數(shù)據(jù)的持久性保存。 首先創(chuàng)建用于包裝數(shù)據(jù)表對象的持久化類,在前面數(shù)據(jù)庫設(shè)計中已經(jīng)介紹了 5 張數(shù)據(jù)表,那么這里我們就要對應(yīng)每一張數(shù)據(jù)表創(chuàng)建一個持久化類,為了便于理解和識別,該類的類名與數(shù)據(jù)表的表名相同。在項目代碼中對應(yīng)的 java 類存放在 包下,包括: 15 —— 對應(yīng) Goods(物品信息表) —— 對應(yīng) Person(人員信息表) —— 對應(yīng) Rfidevents(事件表) —— 對應(yīng) Subscribe( 訂購信息表) —— 對應(yīng) Usertab(用戶信息表) 以上持久化類符合 JavaBean 的規(guī)范,包含數(shù)據(jù)表中定義的字段屬性,以及與之對應(yīng)的getXXX()和 setXXX()方法, getXXX()和 setXXX()方法符合特定的命名規(guī)范,“ get”和“ set”后面緊跟屬性的名字,并且屬性名的首字母為大寫,例如 tigid 屬性的 get 方法為getTigid()。 在編寫的持久化類中還要提供一個無參的構(gòu)造器,因為 Hibernate 要求持久化類必須提供一個不帶參數(shù)的默認(rèn)構(gòu)造方法,在程序運行中, Hibernate 運用 Java 反射機制,調(diào)用Java. 1ang. reflect. Constructor. newInstance()方法來構(gòu)造持久化類的實例。 在持久化類中沒有引入任何 HibernateAPI,持久化類不需要繼承 Hibernate 的類或?qū)崿F(xiàn)Hibernate 的接口,這提高了持久化類的獨立性。如果日后我們不使用 Hibernate 而要改用其他的持久化層產(chǎn)品,也不需要修改持久化類的代碼。 其次要創(chuàng)建對象一關(guān)系映射文件。 Hibernate 采用 XML 格式的文件來指定對象 (持久化類的實例 )屬性和關(guān)系數(shù)據(jù)庫中表 的字段之間的映射。每一張數(shù)據(jù)庫表都要對應(yīng)生成一個映射文件,文件名默認(rèn)采用表名 . 的方式命名。例如在本項目中,將創(chuàng)建一個名為Goods. hbm. xml的文件,它用于把 Goods 類映射到數(shù)據(jù)庫的 Goods 表。 再次要創(chuàng)建 Hibernate 的配置文件 。 Hibernate 從其配置文件中讀取和數(shù)據(jù)庫連接相關(guān)的信息。在 中必須配置好數(shù)據(jù)庫連接 URL、數(shù)據(jù)庫的用戶名、密碼及數(shù)據(jù)庫驅(qū)動都,并且要將上一步創(chuàng)建對應(yīng)數(shù)據(jù)庫表的映射文件也配置進去。 Hibernate 的配置工作完成后就可以利用 HibernateAPI 對數(shù)據(jù)庫進行操縱了。首先利用MyEclipse 自動生成 Hibernate 的工廠類,該類用于獲得操縱數(shù)據(jù)庫的 Session。本項目中的 位于 包下。生成了 Hibernate 工廠類之后就可以完成 DAO 層, DAO 層直接訪問數(shù)據(jù)庫,對數(shù)據(jù)表進行增刪改查。每一張數(shù)據(jù)表對應(yīng)相應(yīng)的 dao 類,例如 Goods 表對應(yīng) , GoodsDAO 將提供對 Goods 表的 查詢,刪除,更新,保存等操作。 16 系統(tǒng)的安全性 由于 Web Service 對外是公開的,只要知道 Web 服務(wù)的 WSDL 地址就能請求訪問該服務(wù),因此必須考慮到系統(tǒng)的安全保密性能。 設(shè)計說明 在調(diào)用 Web 服務(wù)時加入身份驗證部分,只有通過驗證的用戶才有調(diào)用 Web 服務(wù)的權(quán)利。啟動本系統(tǒng)時首先彈出登錄窗體,請求用戶輸入用戶名及密碼,將用戶輸入的驗證信息經(jīng)過加密后調(diào)用用戶身份驗證類,在數(shù)據(jù)庫中查詢該用戶是否為授權(quán)用戶,若在用戶表中查找到相應(yīng)記錄并對比無誤后,允許該用戶使用本系統(tǒng)。 信息加 密 身用戶輸入身份驗證信息后,將采用 MD5 對輸入信息進行加密。 MD5 即MessageDigest Algorithm 5(信息 摘要算法 5),是一種用于產(chǎn)生數(shù)字簽名的單項散列算法,在 1991 年由 MIT Laboratory for Computer Science( IT 計算機科學(xué)實驗室)和 RSA Data Security Inc( RSA 數(shù)據(jù)安全公司)的 Ronald L. Rivest 教授開發(fā)出來,經(jīng)由 MD MD3 和MD4 發(fā)展而來。 MD5 算法的使用不需要支付任何版權(quán)費用。它的作用是讓大容量信息在用數(shù)字 簽名軟件簽私人密匙前被 壓縮 成一種保密的格式(將一個任意長度的 “字節(jié)串 ”通過一個不可逆的字符串變換算法變換成一個 128bit 的大整數(shù),換句話說就是,即使你看到源程序和算法描述,也無法將一個 MD5 的值變換回原始的字符串,從數(shù)學(xué)原理上說,是因為原始的字符串有無窮多個,這有點象不存在反函數(shù)的數(shù)學(xué)函數(shù))。 因此使用 MD5 對字符串加密是很安全的。 在數(shù)據(jù)庫中存儲在用戶表里的信息也是經(jīng)過加密后的字符串,這樣就保證了用戶信息不會泄露,即使擁有數(shù)據(jù)庫管理員權(quán)限也無法竊取用戶的身份信息。同時在身份驗證的請求中也是傳遞的加密后 的用戶名及密碼,防止在請求調(diào)用 Web 服務(wù)時用戶信息被惡意攔截破解,從而加強了用戶信息的安全性。 17 身份驗證 數(shù)據(jù)庫中的用戶表里存儲著經(jīng)過授權(quán)的合法用戶,當(dāng)我們啟動 RFIDIS 信息服務(wù)系統(tǒng)時就要經(jīng)過登錄,驗證用戶身份后才能夠正常使用該系統(tǒng)。身份驗證部分利用 SOAPHeader來傳遞用戶輸入的信息,并在調(diào)用 Web Service 時進行攔截,對請求的 SOAP 消息進行解析,用來判斷用戶身份是否合法,在這個過程中我們將要在客戶端和服務(wù)端兩端都要定義自己的 Handler 類,該類要實現(xiàn) 接口。 SOAPHandler 接口中有如下方法: public void close(MessageContext arg0) : close 方法是一個 webService 調(diào)用結(jié)束時調(diào)用的方法,通常會做釋放資源的操作 public boolean handleFault(SOAPMessageContext arg0) : 當(dāng) handlerMessage 發(fā)生異常時調(diào)用該方法 public boolean handleMessage(SOAPMessageContext context) : 一次 webService 調(diào)用會調(diào)用該方法兩次, inbound 和 outbound 都會調(diào)用 由上面的方法可以看出, SOAPHandler 其實和 Servlet 中的過濾器 filter 極為相似,我們在客戶端定義的 Handler 類將在 outbound 時負(fù)責(zé)將用戶信息加入 SOAPHeader,而服務(wù)端的 Handler 則在 inbound 時解析 SOAPHeader 讀取用戶信息,并返回驗證結(jié)果。 本項目完成用戶身份驗證的 java 類如下: (客戶端的用戶身份驗證類 ) (服務(wù)器端的用戶身份驗證類 ) 18 第四章 系統(tǒng)實現(xiàn) 下面給出系統(tǒng)詳細(xì)設(shè)計模塊以闡述基于 Web Service 的 RFID 信息服務(wù)系統(tǒng)的具體功能。 在系統(tǒng)實現(xiàn)過程中,對數(shù)據(jù)庫的訪問操作是由 Web 服務(wù)提供的, Web 服務(wù)發(fā)布以后,客戶端通過請求調(diào)用 Web 服務(wù)提供的接口方法完成對數(shù)據(jù)庫的訪問。 Service 服務(wù)端接口設(shè)計 本系統(tǒng)的 Web 服務(wù)端是采用 JAXWS 規(guī)范, JAXWS 提供了用于將傳統(tǒng) Java 對象( Plain Old Java Object, POJO)類轉(zhuǎn)換為 Web 服務(wù)的 Annotation 庫,我們可以直接寫自己的實現(xiàn)類,通過使用 Annotations,自動生成 SEI 和其他一些文件。 Web Service 服務(wù)端工程名稱為 RfidIS,該工程根據(jù) 類構(gòu)建一個 Web 服務(wù),對外提供訪問數(shù)據(jù)庫的接口。 其中 Rfid 類里主要提供了以下方法作為 Web 服務(wù)接口: public int getSumCount(String sql)。 參數(shù)說明: sql為查詢語 句。 返回值:返回查詢的記錄總數(shù)。 功能:由傳入的 sql 查詢語句獲得該語句的查詢結(jié)果的總記錄條數(shù),用于分頁作。該方法只查詢 Rfidevents 表。 public ListRfidevents getData(int start , int end)。 參數(shù)說明: start 為查詢的起始位置, end 為終止位置 返回值:返回滿足查詢條件的 Rfid 事件列表,若無滿足條件的事件則返回 null。 功能:查詢數(shù)據(jù)庫中的 Rfidevents 表,獲取指定范圍的從第 start 條記錄到第 end 條記錄的事件數(shù)據(jù)。 public ListRfidevents getSpecialData(String sql,int start , int end)。 參數(shù)說明: sql為查詢語句, start 為查詢的起始位置, end 為終止位置。 19 返回值:返回滿足查詢條件的 Rfid 事件列表,若無滿足條件的事件則返回 null。 功能:使用傳入?yún)?shù) sql查詢語句查詢數(shù)據(jù)庫中的 Rfidevent 表,獲取指定范圍的從第start 條記錄到第 end 條記錄的事件數(shù)據(jù)。該方法用于滿足有特殊要求的條件查詢。 public int saveData(ListRfidevents list)。 參數(shù)說明: list 為要存儲的 Rfid 事件列表。 返回值:返回存儲事件的記錄數(shù)目,如果存儲失敗則返回 0。 功能:將由調(diào)用端傳入的事件列表存儲至數(shù)據(jù)庫中的 Rfidevents 表。 public Person getTagidPerson(String tagid)。 參數(shù)說明: tagid 為射頻唯一標(biāo)識。 返回值:返回該 tagid 所對應(yīng)的人員信息記錄。 功能:根據(jù) tagid 在數(shù)據(jù)庫中的 Person 表里查詢該 tagid 對應(yīng)的人員信息, 若不存在該 tagid 對應(yīng)的記錄則返 回 null。 public Goods getTagidGoods(String tagid)。 參數(shù)說明: tagid 為射頻唯一標(biāo)識。 返回值:返回該 tagid 所對應(yīng)的物品信息記錄。 功能:根據(jù) tagid 在數(shù)據(jù)庫中的 Goods 表里查詢該 tagid 對應(yīng)的物品信息, 若不存在該 tagid 對應(yīng)的記錄則返回 null。 public String saveSubScribe(String tagids,int duration,String ip,String port,String webservicename)。 參數(shù)說明: tagids 為訂購方感興趣的射頻唯一標(biāo)識組( tagid 之間用英文逗號分隔);duration 為向訂購方發(fā)送訂購信息的間隔時間; ip 為訂購方的 IP 地址; port 為端口號;websercicename 為訂購方的 Web 服務(wù)的服務(wù)名。 返回值:返回調(diào)用該方法的具體結(jié)果,例如“訂購成功”或“訂購失敗” 功能:將傳入的參數(shù)信息整理保存至數(shù)據(jù)庫中的 Subscribe 表。 public ListSubscribe getSubScribe()。 20 參數(shù)說明:無。 返回值:返回訂購信息列表。 功能:查詢數(shù) 據(jù)庫中的 Subscribe 表中的訂購信息。 public int updateSubScribe(Subscribe s)。 參數(shù)說明:無。 返回值:返回更新數(shù)據(jù)表所影響的記錄數(shù)目,若更新失敗返回 0。 功能:更新數(shù)據(jù)庫中的 Subscribe 表中的訂購信息。 客戶端
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1