JSP有很多值得學習的地方
這裡我們主要介紹JSP和BEAN
包括介紹Servlet用來寫business layer是很強大的等方面
簡單的說
SUN首先發展出Servlet
其功能比較強勁
體系設計也很先進
只是
它輸出HTML語句還是采用了老的CGI方式
是一句一句輸出
所以
編寫和修改HTML非常不方便
後來SUN推出了類似於ASP的鑲嵌型的JSP
把JSP TAG鑲嵌到HTML語句中
這樣
就大大簡化和方便了網頁的設計和修改
新型的網絡語言如ASP
PHP
JSP都是鑲嵌型的SCRIPT語言
從網絡三層結構的角度看
一個網絡項目最少分三層
data layer
business layer
presentation layer
當然也可以更復雜
Servlet用來寫business layer是很強大的
但是對於寫presentation layer就很不方便
JSP則主要是為了方便寫presentation layer而設計的
當然也可以寫business layer
寫慣了ASP
PHP
CGI的朋友
經常會不自覺的把presentation layer和business layer混在一起
就象前面那個朋友
把數據庫處理信息放到JSP中
其實
它應該放在business layer中
根據SUN自己的推薦
JSP中應該僅僅存放與presentation layer有關的東東
也就是說
只放輸出HTML網頁的部份
而所有的數據計算
數據分析
數據庫聯結處理
統統是屬於business layer
應該放在JAVA BEANS中
通過JSP調用JAVA BEANS
實現兩層的整合
實際上
微軟前不久推出的DNA技術
簡單說
就是ASP+COM/DCOM技術
與JSP和BEANS完全類似
所有的presentation layer由ASP完成
所有的business layer由COM/DCOM完成
通過調用
實現整合
為什麼要采用這些組件技術呢?因為單純的ASP/JSP語言是非常低效率執行的
如果出現大量用戶點擊
純SCRIPT語言很快就到達了他的功能上限
而組件技術就能大幅度提高功能上限
加快執行速度
另外一方面
純SCRIPT語言將presentation layer和business layer混在一起
造成修改不方便
並且代碼不能重復利用
如果想修改一個地方
經常會牽涉到十幾頁CODE
采用組件技術就只改組件就可以了
綜上所述
Servlet是一個早期的不完善的產品
寫business layer很好
寫presentation layer就很臭
並且兩層混雜
所以
推出JSP和BAEN
用JSP寫presentation layer
用BAEN寫business layer
SUN自己的意思也是將來用JSP替代Servlet
可是
這不是說
學了Servlet沒用
實際上
你還是應該從Servlet入門
再上JSP
再上JSP和BEAN
強調的是
學了JSP
不會用JAVA BEAN並進行整合
等於沒學
大家多花點力氣在JSP和BEAN上
再補充幾句
我們可以看到
當ASP+COM和JSP和BEAN都采用組件技術後
所有的組件都是先進行編譯
並駐留內存
然後快速執行
所以
大家經常吹的Servlet/JSP先編譯駐內存後執行的速度優勢就沒有了
反之
ASP+COM+IIS+NT緊密整合
應該會有較大的速度優勢呈現
而且
ASP+COM+IIS+NT開發效率非常高
雖然BUG很多
那麼
為什麼還用JSP和BEAN?因為JAVA實在前途遠大
微軟分拆後
操作系統將群雄並起
應用軟件的開發商必定要找一個通用開發語言進行開發
JAVA一統天下的時機就到了
如果微軟分拆順利
從中分出的應用軟件公司將成為JAVA的新領導者
目前的JAVA大頭SUN和IBM都死氣沉沉
令人失望
希望新公司能注入新活力
不過
新公司很有可能和舊SUN展開JAVA標准大戰
雙方各自制定標准
影響JAVA誇平台
另外
現在的機器速度越來越快
JAVA的速度劣勢很快就可以被克服
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25969.html