基于bs的java代碼 java bs開發(fā)

java 基于BS架構(gòu)的系統(tǒng)開發(fā)

先從servlet看起,雖然現(xiàn)在各種框架很多,但是了解了servlet的機制,用起框架肯定是得心應(yīng)手。

創(chuàng)新互聯(lián)擁有網(wǎng)站維護技術(shù)和項目管理團隊,建立的售前、實施和售后服務(wù)體系,為客戶提供定制化的成都做網(wǎng)站、成都網(wǎng)站設(shè)計、網(wǎng)站維護、服務(wù)器托管德陽解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護服務(wù)覆蓋集團企業(yè)、上市公司、外企網(wǎng)站、購物商城網(wǎng)站建設(shè)、政府網(wǎng)站等各類型客戶群體,為全球成百上千家企業(yè)提供全方位網(wǎng)站維護、服務(wù)器維護解決方案。

再就是了解MVC思想。

Java程序生成B/S架構(gòu)

豬哥解答:

看來你對BS架構(gòu)不是很了解,樓上幾位說的估計太高深你可能看不懂,我給你一個最簡單的解決方案,很簡單,希望你能由此入門,千萬別被樓上諸位給嚇跑了。

既然你已經(jīng)寫好了java對數(shù)據(jù)操作的程序,假設(shè)你寫了個靜態(tài)插入的方法DBManager.java里的doInsert(String sql),如果你會用Eclipse,那么用Eclipse建一個專案,把你的java類找個地方扔上去,然后找個地方建個jsp頁面,jsp頁面里這樣寫%DBManager.doInsert("insert...............sql語句省略");%,ok啦,最簡單的BS架構(gòu)工程完成了。。。。

等到專案部署到tomcat上,別人輸入網(wǎng)址訪問你提供的那個jsp,就可以訪問到你java調(diào)用的那個數(shù)據(jù)庫了,一個簡單的BS架構(gòu)網(wǎng)站就上線了!

更高深的,入門之后慢慢學(xué),來得及。

Java B/S模式

在Java B/S開發(fā)模式有以下幾種:

一、JSP+JDBC

這是最簡單的一種開發(fā)模式是頁面+邏輯處理,映射到技術(shù)上反應(yīng)出來的有Jsp+Jdbc,在基于這類的實現(xiàn)中在View層也就是jsp頁面上負責(zé)數(shù)據(jù)的顯示、邏輯處理,結(jié)合jdbc完成數(shù)據(jù)的持久化,在小型的項目中,人們確實發(fā)現(xiàn)這種方式是最為方便的,但在復(fù)雜的項目以及需求不斷變化的項目中,人們慢慢的發(fā)現(xiàn)這種方式造成了不少的問題,首先是調(diào)試的問題,想想在一個jsp頁面中進行排錯是多么的困難,其次是修改的問題,為了滿足用戶需求的一個小小的變化,都需要去改不少的頁面,而且很多時候由于寫的時間長了,自己都需要回憶很久才能想起是怎么回事,更不用說如果人員流動了會怎么樣,同時還帶來開發(fā)效率的問題,由于需要缺少足夠的調(diào)試的支持,需要較為熟練的開發(fā)人員才能快速的完成,對于一般的人員來說需要一定的適應(yīng)和學(xué)習(xí)過程,當然伴隨而來的還有諸如修改界面的時候一不小心少copy了點代碼什么造成的錯,最大的問題可能還是重用的問題,通常會造成N多同樣的代碼在頁面上copy來copy去的,總結(jié)下來在這種模式下有幾個比較重大的問題就是:

1、調(diào)試問題。

2、維護問題,顯示和邏輯處理在一起導(dǎo)致了修改顯示的時候較為困難,至于修改代碼則因為之前的調(diào)試問題導(dǎo)致了困難,同時由于邏輯均在頁面上后期接手人員需要一段時間去理解。

3、代碼重用性問題。

但同樣它還是存在優(yōu)點的,那就是可以很快的上手,但由于調(diào)試和維護性問題確實太大了,所以在現(xiàn)在也是基本不再采用這種方式了。

二、JSP+JavaBean

在經(jīng)歷了jsp+jdbc階段后,開始考慮怎么樣去解決上面三個問題,這個時候就誕生了諸JSP+JavaBean這樣的技術(shù)體系,在這個體系中由jsp頁面負責(zé)顯示以及接收頁面請求,并調(diào)用相應(yīng)的JavaBean來完成邏輯處理,在獲取其返回的處理數(shù)據(jù)后轉(zhuǎn)到相應(yīng)的頁面進行顯示。在這樣的技術(shù)體系中,由于邏輯是由JavaBean來完成的,可以對其進行調(diào)試了,代碼的重用性一定程度上也得到了提高。剛開始的時候用這樣的技術(shù)體系確實發(fā)現(xiàn)比以前用jsp+jdbc爽了很多,但隨著用多了,慢慢又發(fā)現(xiàn)了問題,那就是在頁面中需要編寫對于頁面請求數(shù)據(jù)的獲取,還得根據(jù)請求去調(diào)用相應(yīng)的javabean,并根據(jù)javabean的處理結(jié)果轉(zhuǎn)入相應(yīng)的頁面,這同樣造成了修改的麻煩,畢竟是去頁面上修改這些邏輯,總結(jié)下來在這種Java B/S開發(fā)模式下有比較重大的問題就是:

1、代碼重用性以及維護性問題。但這里的代碼重用性問題和jsp+jdbc的就不同,在邏輯處理部分現(xiàn)在已經(jīng)可以重用了,但現(xiàn)在在各個頁面就不得不重復(fù)的寫獲取頁面請求的參數(shù)、相應(yīng)的調(diào)用Model、根據(jù)Model的處理結(jié)果轉(zhuǎn)發(fā)頁面,這樣的話就導(dǎo)致了在改的時候需要到處去找,造成了維護的復(fù)雜。

2、系統(tǒng)結(jié)構(gòu)不清晰。畢竟仍然是在頁面控制整個響應(yīng)頁面事件的處理流程,這個時候就造成了很多頁面中出現(xiàn)完全相同的jsp代碼,而且控制代碼在頁面,仍然是不便操作,例如對于JavaBean的調(diào)用等,而且由于獲取javabean的數(shù)據(jù)需要轉(zhuǎn)發(fā)的緣故,其實通常就是在最終的顯示頁面上加上上面的控制事件處理流程的代碼,并沒有真正的做到顯示和處理的分離。

同樣,它的優(yōu)點在于分離了顯示和業(yè)務(wù)邏輯處理,增強了可調(diào)試以及維護性,而且也是很容易上手的,對于小型項目來說仍然是可選的方案之一。

三、基于MVC Framework

在經(jīng)歷了上面的Jsp+JavaBean的Java B/S開發(fā)模式后,我們發(fā)現(xiàn)其實現(xiàn)在最需要的就是在jsp、javabean之間能有個東西自動完成頁面請求數(shù)據(jù)的封裝、根據(jù)請求調(diào)用相應(yīng)的javabean、同時根據(jù)javabean的處理結(jié)果返回至相應(yīng)的View,有了這樣的思想后,發(fā)現(xiàn)smalltalk中的MVC思想很適合這種場景,于是便在Java B/S開發(fā)中引入了MVC思想,在這里也簡單的介紹下MVC思想,MVC強調(diào)View和Model的分離,View所面對的是Controller,由Controller負責(zé)與Model進行交互,View只負責(zé)顯示頁面以及顯示邏輯的處理,顯示邏輯指的是諸如第一行要顯示藍色、第二行要顯示紅色這樣的顯示方面的處理,Controller負責(zé)接受頁面請求,并將其請求數(shù)據(jù)進行封裝,同時根據(jù)請求調(diào)用相應(yīng)的Model進行邏輯處理,在Model處理后返回結(jié)果數(shù)據(jù)到Controller,Controller將根據(jù)此數(shù)據(jù)調(diào)用相應(yīng)的View,并將此數(shù)據(jù)傳遞給View,由View負責(zé)將數(shù)據(jù)進行融合并最終展現(xiàn)。MVC帶來的優(yōu)點很明顯的體現(xiàn)出來了,基于一個這樣的MVC Framework的話開發(fā)人員可以按照一種固定的模式進行開發(fā),規(guī)范了整個開發(fā)過程,提高了質(zhì)量以及系統(tǒng)結(jié)構(gòu)的清晰性,并由于保證了View/Model的分離,使得一個Model可以對于多種顯示形式的View,需要的僅僅是去改變View和Controller。

按照MVC思想,最容易想到的實現(xiàn)方案莫過于jsp+servlet+javabean,在這里面jsp對應(yīng)著View,servlet對應(yīng)著Controller,javabean對應(yīng)著Model,因為采用servlet可使用servlet container已經(jīng)封裝好的頁面數(shù)據(jù)請求對象HttpServletRequest,這樣就省去了自己封裝頁面請求數(shù)據(jù)的工作,作為Controller同時還需要承擔(dān)根據(jù)請求調(diào)用對應(yīng)的javabean,最簡單的做法無非就是在Servlet中直接根據(jù)某種邏輯(諸如反射或接口)調(diào)用相應(yīng)的bean進行執(zhí)行,之后將HttpServletRequest、HttpServletResponse作為參數(shù)傳入javabean進行處理,javabean從HttpServletRequest中獲取請求數(shù)據(jù),將返回的結(jié)果數(shù)據(jù)放入HttpServletResponse,整個過程結(jié)束后繼續(xù)由Controller接手進行處理,這個時候作為Controller的servlet將根據(jù)處理的結(jié)果返回相應(yīng)的頁面,在這個模型使用時人們慢慢的發(fā)現(xiàn)了一個問題,那就是隨著jsp、javabean的變化造成了controller的不斷修改,需要修改其中調(diào)用相應(yīng)javabean以及轉(zhuǎn)發(fā)相應(yīng)頁面的部分,為了解決這個問題,首先想到的是應(yīng)該分離根據(jù)請求調(diào)用相應(yīng)javabean的步驟,這個時候采用了設(shè)計模式中的front controller+application controller的方法,front controller負責(zé)接受頁面請求并進行封裝,同時將此數(shù)據(jù)對象傳遞至application controller,由application controller來負責(zé)調(diào)用相應(yīng)的bean,這樣的設(shè)計其實都是遵循著一個設(shè)計原則,就是職責(zé)單一,通常實現(xiàn)application controller的模式是Command模式,在這種情況下MVC Framework的結(jié)構(gòu)體系就演變成了view+controller(front+application)+model。

在完成了上述演變后慢慢又發(fā)現(xiàn)了一個問題,就是model依賴于了httpservletrequest,這樣造成的一個問題就是沒法測試,仍然要不斷重啟服務(wù)器來測試,當然與此同時的發(fā)展是model層的細化,細化成用于響應(yīng)頁面請求的action Layer+Domain Model Layer+Persistent Layer,在這里不去討論后面層次的問題,因為作為MVC Framework它并不管你Model層是怎么個處理流程的。

慢慢也發(fā)現(xiàn)了另外一個問題,那就是變化經(jīng)常要影響到controller的修改,于是便引入了采用配置文件的解決方法,編寫action的配置文件,在配置文件中控制根據(jù)action的返回結(jié)果轉(zhuǎn)入相應(yīng)的View,這樣的話在將來需要改變的時候只需要去改變這個配置文件就可以了,保證了Controller的穩(wěn)定,這是典型的設(shè)計中的重點考慮因素,分離變化和不變化的,讓變化造成的影響最小。

但在引入了上面的配置文件后,慢慢又發(fā)現(xiàn)了問題,那就是手寫配置文件總是容易出各種各樣的問題,這個時候采用圖形化的界面來生成配置文件的想法又有了,這也就造就了page flow的誕生,當然,這只是page flow的一小部分功能。

當然,隨著MVC的發(fā)展,也帶動了其他相關(guān)技術(shù)的發(fā)展,如異步請求/響應(yīng)模式(ajax、amowa)等。

當前文章:基于bs的java代碼 java bs開發(fā)
文章來源:http://muchs.cn/article40/dohdsho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計網(wǎng)站建設(shè)、定制開發(fā)面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)