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

正文內(nèi)容

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

2025-06-12 19:06 本頁(yè)面
 

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