国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SSH技術(shù)在網(wǎng)站開發(fā)中的研究與應(yīng)用

2017-06-05 15:33熊海燕
電腦知識與技術(shù) 2017年10期
關(guān)鍵詞:信息管理

熊海燕

摘要:spring作為開源的中間件,獨(dú)立于各種JavaEE服務(wù)器,甚至不需要服務(wù)器的支持,也能提供JavaEE服務(wù)器的功能;Struts框架是目前最流行的MVC結(jié)構(gòu)的框架,提供了一種快速高效的構(gòu)建web應(yīng)用的方法;Hibernate在網(wǎng)站開發(fā)中具有非常突出的優(yōu)勢,能夠?qū)?shù)據(jù)庫的字段和類的數(shù)據(jù)成員進(jìn)行綁定,形成對象關(guān)系映射模式,使得網(wǎng)站開發(fā)人員可以集中精力進(jìn)行網(wǎng)站的設(shè)計(jì),不用擔(dān)心數(shù)據(jù)的讀寫,能自由地操縱數(shù)據(jù)庫。隨著B/S軟件開發(fā)模式的不斷深入,對網(wǎng)站開發(fā)效率和開發(fā)技術(shù)的要求越來越高,Spring、Struts和Hibernate在網(wǎng)站開發(fā)中的優(yōu)勢明顯,尤其開發(fā)效率高,受到眾多網(wǎng)站開發(fā)人員的青睞。該文闡述了在網(wǎng)站開發(fā)中如何使用SSH技術(shù),并通過在線考試網(wǎng)站的開發(fā)來探討SSH技術(shù)如何具體應(yīng)用于網(wǎng)站的開發(fā)中。通過SSH在網(wǎng)站開發(fā)中的應(yīng)用,使得所開發(fā)的網(wǎng)站在架構(gòu)上實(shí)現(xiàn)了業(yè)務(wù)邏輯和數(shù)據(jù)處理的分離,從整體上提升了系統(tǒng)的安全性和可擴(kuò)展性。

關(guān)鍵詞:網(wǎng)站開發(fā);SSH;信息管理

中圖分類號:TP3

文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2017)10-0068-03

在Spring中,程序員可以從單調(diào)煩悶的事務(wù)管理代碼中解脫出來,以聲明式的方式靈活地進(jìn)行事務(wù)管理,從而提高開發(fā)效率和開發(fā)質(zhì)量,方便集成各種優(yōu)秀框架。Struts體系結(jié)構(gòu)實(shí)現(xiàn)了MVC設(shè)計(jì)模式的架構(gòu),它使得網(wǎng)站開發(fā)更容易,將整個(gè)開發(fā)分為三個(gè)層,視圖層專門負(fù)責(zé)數(shù)據(jù)的顯示以及接受用戶輸入的數(shù)據(jù),模型層專門負(fù)責(zé)數(shù)據(jù)的表示和存儲(chǔ),控制層負(fù)責(zé)視圖層和模型層之間的交互。Hibernate完成開發(fā)語言中類數(shù)據(jù)成員和數(shù)據(jù)庫中字段的映射,讓網(wǎng)站開發(fā)人員更輕松地完成對數(shù)據(jù)庫中數(shù)據(jù)的操作,而且簡化了繁瑣的操作,例如,網(wǎng)站開發(fā)人員要想對數(shù)據(jù)庫進(jìn)行讀寫,只要通過類對象來完成讀寫就可以達(dá)到目的,因?yàn)轭惖臄?shù)據(jù)成員和數(shù)據(jù)庫字段是綁定的。

1.SSH技術(shù)在網(wǎng)站開發(fā)中的研究

下面以在線考試網(wǎng)站為例來研究SSH技術(shù),本文的在線考試網(wǎng)站數(shù)據(jù)的存儲(chǔ)采用MySQL數(shù)據(jù)庫來儲(chǔ)存系統(tǒng)所依賴的相關(guān)數(shù)據(jù)。持久層數(shù)據(jù)的增刪改查操作用Hibernate來實(shí)現(xiàn),實(shí)現(xiàn)的過程中結(jié)合SQL語句和HQL語句來完成系統(tǒng)數(shù)據(jù)的相關(guān)操作。頁面之間的相關(guān)跳轉(zhuǎn)用struts2來控制,而前后臺(tái)的數(shù)據(jù)交互用大部分采用JSON這種數(shù)據(jù)格式來實(shí)現(xiàn),較少的數(shù)據(jù)庫交互放在HttpSession域?qū)ο笾小L幱趙eb層的struts2,核心算法的實(shí)現(xiàn)業(yè)務(wù)邏輯層以及持久層三者的整合用Spring來進(jìn)行整合,從而實(shí)現(xiàn)各種的解耦,使整個(gè)系統(tǒng)屬于一種松耦合的狀態(tài)。各組件之間的依賴關(guān)系如圖1所示。

頁面中要顯示的數(shù)據(jù)都封裝成一個(gè)個(gè)Java Bbean,最終通過在action中轉(zhuǎn)化成Json格式的對象輸出到前臺(tái)顯示。前后臺(tái)數(shù)據(jù)交互的過程如下圖2所示。

3.SSH技術(shù)在網(wǎng)站開發(fā)中的應(yīng)用

SSH技術(shù)在網(wǎng)站開發(fā)中應(yīng)用的具體框架如圖4所示,使用struts、spring、hibernate三種框架進(jìn)行構(gòu)建。

由Struts來控制數(shù)據(jù)流、跳轉(zhuǎn)和顯示。其中Struts應(yīng)用MVC設(shè)計(jì)模式,M(model)主要封裝將數(shù)據(jù)封裝為對象進(jìn)行操作。v(view)給用戶顯示一個(gè)操作界面,其中JSP也用來顯示。C(controller)的功能非常重要,它能使得M(model)和v(view)之間有序協(xié)調(diào)的交互,這些功能主要是由抽取出的業(yè)務(wù)邏輯控制來完成。業(yè)務(wù)層主要用于向表示層提供處理邏輯業(yè)務(wù)的接口,所有的前臺(tái)操作在這一層中也都有所體現(xiàn)。持久層主要用來給業(yè)務(wù)邏輯層提供數(shù)據(jù)訪問對象接口(DAO)。與此同時(shí)使用Hibernate的持久化進(jìn)行處理,來訪問數(shù)據(jù)庫。

在網(wǎng)站開發(fā)中,經(jīng)常涉及數(shù)據(jù)的顯示和存儲(chǔ),傳統(tǒng)的做法是,利用開發(fā)語言連接數(shù)據(jù)庫,進(jìn)行一系列繁瑣的操作完成數(shù)據(jù)中數(shù)據(jù)的讀取和存儲(chǔ),例如:建立數(shù)據(jù)庫對象,連接數(shù)據(jù)庫對象,建立數(shù)據(jù)集對象,得到要操作的數(shù)據(jù)集,然后對數(shù)據(jù)集進(jìn)行增刪改查操作等,這一系列下來,要寫很多代碼,而且容易出錯(cuò)。Hibernate是專門用于解決數(shù)據(jù)庫中數(shù)據(jù)的讀取問題,它通過配置XML文件來實(shí)現(xiàn)數(shù)據(jù)庫和對象之間的綁定,使得開發(fā)語言中的類對象和數(shù)據(jù)庫中的表之間建立了“對象一關(guān)系”映射,這樣,對數(shù)據(jù)庫的操作就轉(zhuǎn)化為對開發(fā)語言中類對象的操作,開發(fā)人員不再需要花費(fèi)精力在數(shù)據(jù)庫操作的細(xì)節(jié)上,也就是說,網(wǎng)站開發(fā)人員從數(shù)據(jù)庫繁瑣的操作中解放出來,有更多的精力進(jìn)行網(wǎng)站的設(shè)計(jì)與開發(fā)。當(dāng)開發(fā)人員對類對象操作后,Hibernate把對開發(fā)語言中的對象操作轉(zhuǎn)化為對數(shù)據(jù)庫的讀寫。下面通過一個(gè)網(wǎng)站開發(fā)中常用的登錄案例來說明Hiber-hate的具體應(yīng)用。假設(shè)數(shù)據(jù)庫中有用戶登錄的信息表LogonOn(Logon_username,Logon_password,Class_Identity),網(wǎng)站開發(fā)中有對應(yīng)的用戶登錄類Logonon.Class,在這個(gè)類中,有相應(yīng)的數(shù)據(jù)成員,L_userN,L_passW,Class_ID,其中Class_ID是開發(fā)語言中類對象的唯一標(biāo)識,以便與不同的對象進(jìn)行區(qū)別。除此之外,網(wǎng)站開發(fā)人員還要編寫配置文件LogonOn.hbm.Xml,核心配置如下:

在上面的LogonOn.hbm.Xml配置文件中,配置實(shí)例的唯一性通過語句

來控制,7素定義了該屬性到數(shù)據(jù)庫表主鍵字段的映射。元素定義了其他屬性刀數(shù)據(jù)庫表字段的映射。通過以上配置文件,當(dāng)通過hibernate框架對類對象進(jìn)行操作時(shí),hibernate會(huì)查找類所對應(yīng)的配置文件(例如Logonon.Class對應(yīng)LogonOn.hbm.xml),然后把類的屬性值的改變映射到數(shù)據(jù)庫表中的字段,這樣,就使得對關(guān)系數(shù)據(jù)庫的讀寫非常方便,因?yàn)閔ibernate把它轉(zhuǎn)化為對開發(fā)語言中類對象的操作了。當(dāng)然,類的設(shè)計(jì)必須符合一定的JavaBean規(guī)范,類中每個(gè)屬性必須有對應(yīng)的get/set方法。通過對配置文件的合理配置,可以實(shí)現(xiàn)一對多、多對一、多對多的映射,其基本原理和上面列出的User.hbm.xml配置文件內(nèi)容相同。

例如查詢:User user=(Uset)session.get(User.class,123);表示查詢學(xué)號為123的學(xué)生,返回值是對象,即把數(shù)據(jù)庫表中的字段信息賦值給User類實(shí)例的屬性,這樣就實(shí)現(xiàn)了對象一關(guān)系映射操作。同樣,可以通過調(diào)用hibernate框架的session接口的相應(yīng)方法比如updateo、addo、deleteo,實(shí)現(xiàn)對數(shù)據(jù)庫表的更新,添加,刪除。這些方法hibernate框架已經(jīng)提供給用戶,作為系統(tǒng)開發(fā)者只要了解這些方法,需要用時(shí)拿過來用就可以,這樣大大減輕了傳統(tǒng)的需要開發(fā)者編寫JDBC數(shù)據(jù)庫操作工作量,而且更容易掌握。

下面以試題的生成為例來介紹SSH技術(shù)在網(wǎng)站開發(fā)中的具體應(yīng)用。具體實(shí)現(xiàn)是首先根據(jù)每一個(gè)章節(jié)來查找該章節(jié)的所有信息題目,添加一個(gè)習(xí)題后,包括習(xí)題的主圖片和附件圖片的路徑(相對路徑或者絕對路徑)以及該習(xí)題的題號和正確答案,和該題是屬于那章節(jié)所對應(yīng)的數(shù)據(jù)庫中的ID。使用Hi—bernate的級聯(lián)來添加習(xí)題,根據(jù)章節(jié)的ID得到頁面顯示的習(xí)題顯示封裝Bean,并講將逐個(gè)題目顯示出來。詳細(xì)實(shí)現(xiàn)代碼如下:

4.小結(jié)

spring作為開源的中間件,獨(dú)立于各種JavaEE服務(wù)器,甚至不需要服務(wù)器的支持,也能提供JavaEE服務(wù)器的功能。Struts框架是目前最流行的MVC結(jié)構(gòu)的框架,提供了一種快速高效的構(gòu)建web應(yīng)用的方法。Hibernate通過綁定開發(fā)語言中的類對象和數(shù)據(jù)庫中的表來實(shí)現(xiàn)對象一關(guān)系映射,使得對數(shù)據(jù)庫的操作從傳統(tǒng)的繁瑣工作中解脫出來,提高了網(wǎng)站開發(fā)效率,降低了網(wǎng)站開發(fā)人員的工作量,本文在對這些技術(shù)研究的基礎(chǔ)上,通過一個(gè)具體的網(wǎng)站開發(fā)實(shí)例來展示應(yīng)用這些技術(shù)開發(fā)網(wǎng)站的優(yōu)勢。

猜你喜歡
信息管理
新時(shí)代信息管理學(xué)科學(xué)習(xí)研究利器
———王知津主編《英漢信息管理大詞典》評介
造價(jià)信息管理在海外投標(biāo)中的應(yīng)用探討
地球物理臺(tái)網(wǎng)儀器維修信息管理的研究與實(shí)現(xiàn)
評《現(xiàn)代物流信息管理與技術(shù)》(書評)
基于云平臺(tái)的特種設(shè)備信息管理應(yīng)用系統(tǒng)研究
信息管理在市政PPP工程風(fēng)險(xiǎn)控制中的作用
在高速公路信息管理中如何做好QC小組活動(dòng)
財(cái)務(wù)審計(jì)信息管理問題研究
計(jì)算機(jī)應(yīng)用技術(shù)與信息管理的整合思路芻議
信息管理技術(shù)在農(nóng)業(yè)機(jī)械管理中的應(yīng)用
太仆寺旗| 故城县| 仙桃市| 三亚市| 奉新县| 昔阳县| 错那县| 泰兴市| 八宿县| 太谷县| 阳春市| 呈贡县| 三河市| 金溪县| 获嘉县| 常宁市| 郁南县| 水城县| 江华| 湛江市| 绩溪县| 沧源| 宁南县| 浏阳市| 土默特左旗| 安新县| 湟源县| 那坡县| 浮梁县| 天津市| 屏山县| 池州市| 美姑县| 喀喇沁旗| 陆丰市| 洛南县| 南京市| 剑河县| 谷城县| 资兴市| 株洲市|