軟件開(kāi)發(fā)
- 首頁(yè) >> 電子技術(shù) >> 軟件開(kāi)發(fā)
JSP應(yīng)用軟件技術(shù)
基于JSP的Web應(yīng)用軟件開(kāi)發(fā)技術(shù)分析
從最近幾年來(lái)發(fā)展的趨勢(shì)來(lái)看,計(jì)算機(jī)還有網(wǎng)絡(luò)技術(shù)得到了明顯的發(fā)展,而且已經(jīng)得到了廣泛的普及,在計(jì)算機(jī)軟件使用規(guī)模越來(lái)越大的背景下,這讓傳統(tǒng)的生產(chǎn)還有生活方式都發(fā)生了翻天覆地的變化?;诰W(wǎng)絡(luò)通信的Web應(yīng)用軟件,開(kāi)始滲透在人們生活的方方面面,并為人們帶來(lái)了便捷。隨著日趨成熟的JSP技術(shù),其在Web開(kāi)發(fā)軟件中也開(kāi)始有了非常多的應(yīng)用。根據(jù)實(shí)踐結(jié)果顯示,通過(guò)對(duì)JSP技術(shù)的使用,然后達(dá)到開(kāi)發(fā)Web應(yīng)用軟件系統(tǒng)的目的,已然成為了以后有關(guān)領(lǐng)域主要的發(fā)展方向。
一、JSP技術(shù)概述
1.1 JSP技術(shù)簡(jiǎn)介
JSP主要是由Sun公司開(kāi)發(fā)的,動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)的開(kāi)發(fā)主要是基于Java語(yǔ)言上實(shí)現(xiàn)的,它許可在HTML和XML文檔中,將Java代碼邏輯嵌入到其中,可以這樣說(shuō),在一定程度上,為動(dòng)態(tài)網(wǎng)頁(yè)的內(nèi)容創(chuàng)建和管理,帶來(lái)了非常極大的便利。和PHP還有ASP工作機(jī)制對(duì)比存在一定的差異,在頁(yè)面執(zhí)行的過(guò)程中,JSP頁(yè)面并不是解釋式的,而是編譯式的。第一次對(duì)JSP文件進(jìn)行調(diào)用,事實(shí)上是一個(gè)對(duì)編譯Java Servlet執(zhí)行的過(guò)程。當(dāng)瀏覽器將JSP文件這一請(qǐng)求發(fā)給服務(wù)器時(shí),這個(gè)時(shí)候的服務(wù)器,直接采用相對(duì)應(yīng)的Servlet結(jié)果作為應(yīng)答。
JSP所提供的腳本語(yǔ)言和ASP技術(shù)有所不同的是,其更多的是以Java語(yǔ)言為主。除此之外,JSP還可以非常便利地對(duì)Java Bean進(jìn)行存取重用。同時(shí)對(duì)于Web頁(yè)面內(nèi)容的生成和表現(xiàn),JSP還可以進(jìn)行徹底的分離。這樣不但將HTML所具有的強(qiáng)大功能得到了充分的發(fā)揮,還能夠防止重復(fù)勞動(dòng)的情況發(fā)生,將整體效率得到顯著的提高。
1.2 JSP運(yùn)行模型
在HTML文檔中,JSP是可以將腳本語(yǔ)言嵌入到其中的。客戶端在接收到傳送的Web頁(yè)面之前,可以在服務(wù)器端上得到對(duì)JSP語(yǔ)法的分析,并且被當(dāng)成一個(gè)Servlet實(shí)施處理。JSP形式的后綴,將體現(xiàn)在擁有腳本語(yǔ)言的HTML文件中。通過(guò)對(duì)Java語(yǔ)言的使用,JSP將被作為缺省腳本語(yǔ)言。這就表示能夠通過(guò)對(duì)Java所提供的強(qiáng)大功能進(jìn)行利用,從而實(shí)現(xiàn)對(duì)腳本編寫(xiě)的目的。
(1)請(qǐng)求一個(gè)JSP:對(duì)于事先已經(jīng)定義好的任務(wù),比如存取數(shù)據(jù)庫(kù)等,就可以通過(guò)JSP對(duì)可重用的Java Bean進(jìn)行調(diào)用,然后將獲取到的結(jié)果設(shè)置屬性為Bean。通過(guò)對(duì)這些Java Bean的使用,JSP可以生成狀態(tài),同時(shí)并將其返回至客戶端。開(kāi)發(fā)JSP者只關(guān)注Java Bean的接口。
(2)請(qǐng)求一個(gè)Servlet:它生成響應(yīng)所要包括的動(dòng)態(tài)信息。此Servlet通過(guò)對(duì)一個(gè)JSP的激活,從而用來(lái)對(duì)Servlet所生成的內(nèi)容進(jìn)行表示。
動(dòng)態(tài)內(nèi)容在JSP的第一種存取模型中,其生成的實(shí)現(xiàn)主要是基于頁(yè)面文件中的Java Bean而實(shí)現(xiàn)的,并且由JSP負(fù)責(zé)完成內(nèi)容的表示。
客戶端在JSP請(qǐng)求模型中,向其發(fā)出一個(gè)請(qǐng)求。由特定的Java Bean組件接收J(rèn)SP轉(zhuǎn)交的請(qǐng)求,并將請(qǐng)求參數(shù)自動(dòng)地通過(guò)Java Bean的introspection類(lèi),向Java Bean組件進(jìn)行傳遞。通過(guò)對(duì)Java Bean組件的詢(xún)問(wèn),然后JSP獲取結(jié)果。假如Java Bean組件正好將Servlet接口目標(biāo)實(shí)現(xiàn),那么Servlet的service方法就可以被任何一個(gè)請(qǐng)求調(diào)用。對(duì)于Java Bean組件的屬性,如果JSP每次進(jìn)行詢(xún)問(wèn)時(shí),Java Bean組件都能夠?qū)嵤﹦?dòng)態(tài)的計(jì)算處理,同時(shí)返回計(jì)算的結(jié)果。借助標(biāo)準(zhǔn)的Java Bean屬性,JSP獲取其讀取器上的處理結(jié)果。并將所獲取到的結(jié)果,借助HTML文件形式展現(xiàn)出來(lái)。
另外一種模型如下圖所示:
在顯示的JSP請(qǐng)求模型當(dāng)中,這個(gè)時(shí)候Servlet會(huì)接收到客戶端發(fā)出的一個(gè)請(qǐng)求,而對(duì)于HTML頁(yè)面上的內(nèi)容,則是通過(guò)Servlet負(fù)責(zé)生成并進(jìn)行顯示。Servlet在模型中,通過(guò)JDBC操作數(shù)據(jù)庫(kù),從而得到需要的數(shù)據(jù)。在JavaBean中對(duì)結(jié)果數(shù)據(jù)進(jìn)行封裝,然后由JSP負(fù)責(zé)接收所傳遞的Java Bean。在HTML文件中,由JSP將Servlet生成的數(shù)據(jù)顯示在其文件上。在這個(gè)例中,數(shù)據(jù)的產(chǎn)生由Servlet完全負(fù)責(zé),而數(shù)據(jù)的表示則是由JSP完全負(fù)責(zé)。
1.3 JSP技術(shù)的優(yōu)越性
對(duì)于開(kāi)發(fā)和設(shè)計(jì)人員來(lái)講,通過(guò)對(duì)此技術(shù)的利用,能夠較好的創(chuàng)建和維護(hù)動(dòng)態(tài)網(wǎng)頁(yè),特別是Web應(yīng)用軟件系統(tǒng)。在Java技術(shù)中,可以說(shuō)JSP技術(shù)是不可或缺的一部分,其能夠?qū)⑼脚_(tái)相獨(dú)立的Web應(yīng)用程序,以較快的速度開(kāi)發(fā)出來(lái),并分離出系統(tǒng)內(nèi)容中的用戶界面,這樣,在底層動(dòng)態(tài)內(nèi)容未有任何變化的情況下,開(kāi)發(fā)和設(shè)計(jì)人員,可以改變網(wǎng)頁(yè)的整體布局。
1.4平臺(tái)和服務(wù)器之間的獨(dú)立性
所建立的JSP,是基于服務(wù)器和平臺(tái)之間互相獨(dú)立的基礎(chǔ)上,其所具有的輸入支持,主要是各種工具包進(jìn)行提供的,而對(duì)于數(shù)據(jù)庫(kù)產(chǎn)品,還有服務(wù)器組件等都是由開(kāi)發(fā)商負(fù)責(zé)提供的,寫(xiě)入1次后,可以在任何和Java語(yǔ)法結(jié)構(gòu)相滿足的環(huán)境中運(yùn)行。事實(shí)上,不管在何種Web服務(wù)器上,JSP技術(shù)都可以運(yùn)行,而且對(duì)于不同的開(kāi)發(fā)商所提供的各種類(lèi)型的工具包,都可以提供相應(yīng)的支持,可以這樣說(shuō),此技術(shù)可以將傳統(tǒng)單純對(duì)某一平臺(tái),或者是開(kāi)發(fā)商依附的情況得到較為顯著的改善。
1.5 JSP技術(shù)擁有標(biāo)簽擴(kuò)展性
此技術(shù)的應(yīng)用,能夠讓開(kāi)發(fā)者擴(kuò)展,或者是應(yīng)用JSP標(biāo)簽,開(kāi)發(fā)人員可以定制標(biāo)簽庫(kù),因此,對(duì)于同XML相兼容的標(biāo)簽技術(shù),作為網(wǎng)頁(yè)制作人員來(lái)講,是可以對(duì)其進(jìn)行最大化利用的,因而這就在較大程度上,降低了依賴(lài)腳本語(yǔ)言的程度。在網(wǎng)頁(yè)制作人員制作期間等,也因?yàn)槠渌鶕碛械臉?biāo)簽定制技術(shù),而大大的降低了工作的復(fù)雜性。
1.6 JSP組件擁有跨平臺(tái)可重用性
JSP的所有組件,均擁有跨越平臺(tái)可重用性,此組件可以訪問(wèn)傳統(tǒng)數(shù)據(jù)庫(kù),并能夠根據(jù)分布式系統(tǒng)模式,實(shí)現(xiàn)在Unix等平臺(tái)上運(yùn)行的目的。對(duì)于Web應(yīng)用軟件的開(kāi)發(fā)而言,將JSP組件作為基礎(chǔ)的方法,可以將其的開(kāi)發(fā)過(guò)程速度得到顯著的提高,在其已有技能還有開(kāi)發(fā)中,保障各組織可以獲取平衡。
二、Web應(yīng)用軟件體系架構(gòu)
對(duì)比以往,Internet的瀏覽需求有著明顯的提高,因此C/S架構(gòu)明顯已經(jīng)不符合開(kāi)發(fā)的需求,由此瀏覽器/服務(wù)器(B/S),作為一種新穎的軟件體系架構(gòu),其正好在這一期間出現(xiàn),可以說(shuō),很短的時(shí)間內(nèi)就獲取了非常大的發(fā)展。B/S體系結(jié)構(gòu),通過(guò)對(duì)客戶端工作的簡(jiǎn)化,然后達(dá)到了對(duì)客戶端的優(yōu)化,即只需要對(duì)極少的客戶端應(yīng)用軟件進(jìn)行安裝和配置,而服務(wù)器將需要承擔(dān)大多數(shù)的工作,對(duì)于請(qǐng)求執(zhí)行應(yīng)用程序,還有訪問(wèn)數(shù)據(jù)庫(kù)方面,全部交給服務(wù)器完成即可。
2.1訪問(wèn)層
訪問(wèn)層主要是位于客戶端,功能是某種請(qǐng)求的發(fā)出,即從Web瀏覽器Internet的Web服務(wù)器發(fā)出,由Web服務(wù)器處理之后,并將結(jié)果向?yàn)g覽器反饋。
2.2 Web服務(wù)器層
Web服務(wù)器層主要是位于Web服務(wù)器端,功能是對(duì)應(yīng)用程序所發(fā)出的請(qǐng)求進(jìn)行接收,和通過(guò)連接數(shù)據(jù)庫(kù),然后將操作數(shù)據(jù)的申請(qǐng),發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器,等待處理數(shù)據(jù)的結(jié)果。
2.3數(shù)據(jù)庫(kù)層
數(shù)據(jù)庫(kù)層主要是位于數(shù)據(jù)庫(kù)服務(wù)器端,功能是對(duì)于Web服務(wù)器,往數(shù)據(jù)庫(kù)發(fā)送的事務(wù)處理請(qǐng)求進(jìn)行接收,實(shí)現(xiàn)一系列更新數(shù)據(jù)的操作,比如,查詢(xún)數(shù)據(jù)庫(kù)、插入和刪除等,并且提交到Web服務(wù)器,最終運(yùn)行的結(jié)果。
B/S結(jié)構(gòu)有效減輕了客戶機(jī)的負(fù)擔(dān),將整個(gè)系統(tǒng)的性能得到了顯著的提高,這樣對(duì)于維護(hù)人員來(lái)講,不用每天奔波于維護(hù)和升級(jí)的繁重工作中,同時(shí)也無(wú)需在每個(gè)客戶機(jī)之間,勞累于每個(gè)程序的維護(hù)工作,而是將更多的精力,放在更新Web服務(wù)器上的程序工作中。B/S架構(gòu)中層和層之間有著獨(dú)立的邏輯,互相不會(huì)產(chǎn)生干擾,也即任何一層的變化,都會(huì)對(duì)其它兩層的功能產(chǎn)生影響,從根本上將兩層C/S架構(gòu)的缺陷得到了改善,可以說(shuō)在應(yīng)用系統(tǒng)體系架構(gòu)中,有一次非常重要的變革。
三、基于JSP技術(shù)的Web應(yīng)用軟件開(kāi)發(fā)技術(shù)分析
由于是基于Java語(yǔ)言基礎(chǔ),才得以實(shí)現(xiàn)JSP技術(shù)的,因此其有著非常好的適應(yīng)能力,同時(shí),通過(guò)和JAVA En-terprise API的有效結(jié)合,可以將Web應(yīng)用軟件得到較好的創(chuàng)建,而且還可以保障Web應(yīng)用軟件的性能。作為Web的開(kāi)發(fā)還有設(shè)計(jì)人員來(lái)講,通過(guò)對(duì)JSP技術(shù)的利用,可以將更多的精力放在處理應(yīng)用邏輯方面,因而可以較大程度的簡(jiǎn)化底層邏輯的復(fù)雜性,將所開(kāi)發(fā)的Web應(yīng)用軟件的質(zhì)量得到顯著的提高,而且這對(duì)于設(shè)計(jì)人員也是很大的福利,即降低了其開(kāi)發(fā)的難度。因此,同Web應(yīng)用軟件的其他開(kāi)發(fā)技術(shù)相比較,如ASP開(kāi)發(fā)技術(shù),JSP技術(shù)在這方面有著比較顯著的優(yōu)勢(shì)。
根據(jù)JSP技術(shù)為基礎(chǔ)的Web應(yīng)用體系結(jié)構(gòu)可以得知,Web應(yīng)用軟件在以JSP技術(shù)為基礎(chǔ)開(kāi)發(fā)期間,各個(gè)部分之間的關(guān)系、還有整個(gè)體系中的功能等,如JSP技術(shù)及JDBC等都非常的清楚。
本文將著手于技術(shù)層面進(jìn)行分析,對(duì)三層Web應(yīng)用軟件開(kāi)發(fā),以JSP技術(shù)為技術(shù)所需要的部件,還有所需要的基本技術(shù)實(shí)施了分析。其中,JDBC技術(shù)可以便捷的將已有的數(shù)據(jù)庫(kù)作為基礎(chǔ),從而創(chuàng)建Web接口,JDBC技術(shù)等,可以將一個(gè)方便交互擁有各種信息含量的大型Web應(yīng)用體系進(jìn)行較好的構(gòu)建。經(jīng)過(guò)實(shí)踐證明,此Web應(yīng)用軟件體系,擁有著較好的使用效果,基于此,不管是在推廣還是應(yīng)用方面,都有著重要的現(xiàn)實(shí)意義。
總結(jié)
實(shí)際在開(kāi)發(fā)Web應(yīng)用軟件的過(guò)程中,應(yīng)該將現(xiàn)實(shí)的需求作為主要的參考依據(jù),通過(guò)和系統(tǒng)開(kāi)發(fā)的具體情況相結(jié)合,系統(tǒng)的設(shè)計(jì)和建模Web應(yīng)用軟件。實(shí)施Java編程語(yǔ)言,和JSP開(kāi)發(fā)技術(shù),所構(gòu)建的三層Web應(yīng)用軟件系統(tǒng)進(jìn)行密切的結(jié)合,這已經(jīng)成為未來(lái)WWB軟件應(yīng)用軟件開(kāi)發(fā)的主要方向。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于JSP的Web應(yīng)用軟件開(kāi)發(fā)技術(shù)分析。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
- 返回頂部