- JSP程序設(shè)計(jì)與案例教程
- 崔連和
- 972字
- 2020-05-28 17:27:47
1.3 JSP程序開發(fā)模式
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,JSP技術(shù)越來越完善。JSP編程不像ASP那樣,只有一種開發(fā)模式,JSP既可以使用單純JSP技術(shù)實(shí)現(xiàn),還可以采用JSP+JavaBean、JSP+JavaBean+Servlet等技術(shù)來實(shí)現(xiàn),近年來又開始流行Struts框架、Java EE等技術(shù)。初學(xué)者容易被各種宣傳蒙蔽了雙眼,所以在學(xué)習(xí)JSP之前,必須完全了解其開發(fā)模式,然后才能有的放矢,集中精力學(xué)習(xí)知識(shí)。
1.單純JSP模式
類似ASP編程,單純JSP模式就是在需要實(shí)現(xiàn)功能的地方加入JSP代碼,實(shí)現(xiàn)相應(yīng)的功能。網(wǎng)頁的HTML代碼與JSP代碼混合在一起形成整個(gè)網(wǎng)頁。其最大的優(yōu)點(diǎn)是簡(jiǎn)單明了,適合規(guī)模較小的網(wǎng)站,其缺點(diǎn)是代碼較亂,不易調(diào)試。不管使用哪種編程模式,初學(xué)者都必須先采用單純的JSP編程模式作為入門,然后在此基礎(chǔ)上逐漸采用其他編程模式。
2.JSP+JavaBean模式
如上所述,單純使用JSP來進(jìn)行網(wǎng)頁編程,存在著頁面代碼與JSP代碼混合在一起、代碼較亂、不易調(diào)試的缺點(diǎn),為了克服這一缺點(diǎn),JSP+JavaBean模式橫空出世。JSP+JavaBean使JSP與ASP不再同日而語,JSP頁面響應(yīng)請(qǐng)求時(shí),將請(qǐng)求交至JavaBean進(jìn)行處理,處理后將結(jié)果返回給客戶端。所有的數(shù)據(jù)通過JavaBean來處理,實(shí)現(xiàn)了頁面的表示和功能實(shí)現(xiàn)的分離。這種模式特別適合中小型網(wǎng)站建設(shè)的需要。
3.JSP+JavaBean+Servlet實(shí)現(xiàn)
JSP+JavaBean+Servlet實(shí)現(xiàn)即現(xiàn)在廣泛流行的MVC模式,MVC模式中的M代表模型,V代表視圖,C代表控制器。MVC模式強(qiáng)制性地使應(yīng)用程序的輸入、處理和輸出分開。其中JSP頁面部分由MVC中的V來實(shí)現(xiàn),通常采用Servlet技術(shù),即頁面顯示的邏輯部分;服務(wù)器端采用JavaBean來實(shí)現(xiàn)MVC中的M部分,即業(yè)務(wù)邏輯部分。控制即處理用戶請(qǐng)求的部分由Servlet將模型與視圖匹配在一起共同完成用戶的請(qǐng)求。
4.Struts框架實(shí)現(xiàn)
Struts是Apache軟件組織提供的一項(xiàng)開放源代碼項(xiàng)目,它為Java Web應(yīng)用提供了模型、視圖和控制器框架,尤其適用于開發(fā)大型可擴(kuò)展的Web應(yīng)用。Struts為Web應(yīng)用提供了一個(gè)通用的框架,使得開發(fā)人員可以把精力集中在如何解決實(shí)際業(yè)務(wù)問題上。此外,Struts框架提供了許多供擴(kuò)展和定制的地方,應(yīng)用程序可以方便地?cái)U(kuò)展框架,更好地適應(yīng)用戶的實(shí)際需求。
5.Java EE實(shí)現(xiàn)
金融等行業(yè)的安全性要求十分高,一般的編程技術(shù)很難滿足其需要,上述幾種模式都很難滿足其高安全性的要求,Java EE的出現(xiàn)滿足了大型企業(yè)的實(shí)際業(yè)務(wù)需求。Java EE是JSP實(shí)現(xiàn)企業(yè)級(jí)Web開發(fā)的標(biāo)準(zhǔn),是基于Java的解決方案。Java EE平臺(tái)共有三大核心技術(shù):Servlet、JSP和EJB。Java EE的學(xué)習(xí)需要具有一定基礎(chǔ),不像JSP那樣簡(jiǎn)單易學(xué)。
經(jīng)過上述5點(diǎn)的講解,初學(xué)者可以認(rèn)識(shí)到,無論最終采用哪種編程模式,首先必須學(xué)好JSP基礎(chǔ)知識(shí)。
- 自然語言處理實(shí)戰(zhàn):預(yù)訓(xùn)練模型應(yīng)用及其產(chǎn)品化
- 案例式C語言程序設(shè)計(jì)
- OpenCV 3和Qt5計(jì)算機(jī)視覺應(yīng)用開發(fā)
- NumPy Essentials
- Elastic Stack應(yīng)用寶典
- Python程序設(shè)計(jì)案例教程
- Full-Stack Vue.js 2 and Laravel 5
- Drupal 8 Module Development
- Responsive Web Design by Example
- Clojure for Machine Learning
- Test-Driven JavaScript Development
- Python期貨量化交易實(shí)戰(zhàn)
- Python Machine Learning Blueprints:Intuitive data projects you can relate to
- Python高性能編程(第2版)
- 可視化H5頁面設(shè)計(jì)與制作:Mugeda標(biāo)準(zhǔn)教程