用jsp做web多嗎(jsp和web的區別)

  • 1、為什麼現在大型的網站都採用jsp?
  • 2、為什麼企業級web開發,很少用jsp+java呢?
  • 3、java web開發都用jsp嗎?
  • 4、現在的JavaWeb項目中,還有必要用JSP嗎
  • 5、做個調查,現在企業一般用JSP做WEB的多不多
  • 6、我們還需要JSP嗎?

ASP全名Active Server Pages,是一個WEB服務器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的WEB服務應用程序。ASP採用腳本語言VBScript(Java script)作為自己的開發語言。

PHP是一種跨平台的服務器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態產生頁面。它支持目前絕大多數數據庫。還有一點,PHP是完全免費的,不用花錢,你可以從PHP官方站點(http: //)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。

JSP是Sun公司推出的新一代網站開發語言,Sun公司藉助自己在Java上的不凡造詣,將Java從Java應用程序和Java Applet之外,又有新的碩果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。

ASP,PHP,JSP 三中語言執行速度JSP最快

PHP和JSP是跨平台語言,移植性比較好

ASP和PHP都是解釋性語言,服務器讀一句,執行一句,而JSP是編譯性語言,第一次編譯速度慢一點,以後再訪問速度就快很多了

JSP是面向對象編程語言,代碼的重用率高,維護方便

PHP缺乏規模支持。其次,缺乏多層結構支持。對於大負荷站點,解決方法只有一個:分布計算。數據庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據流量分開,群組成二維數組。而PHP則缺乏這種支持。還有上面提到過的一點,PHP提供的數據庫接口支持不統一,這就使得它不適合運用在電子商務中

ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規模支持,通過DCOM和Transcation Server獲得結構支持;JSP可以通過SUN Java的Java Class和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結構支持。三者中,JSP應該是未來發展的趨勢。世界上一些大的電子商務解決方案提供商都採用JSP/Servlet。比較出名的如IBM的E-business,它的核心是採用JSP/Servlet的Web Sphere。它們都是通過CGI來提供支持的。但去年10月後它推出了Enfinity,一個採用JSP/Servlet的電子商務Application Server,而且聲言不再開發傳統軟件。

========================================

雪鹿中國

專業提供各類域名註冊、網站推廣、各種虛擬主機租用、服務器整機租用、 服務器託管、網頁製作以及網站開發等服務!

域名,虛擬主機擁有獨立的WEB管理程序,使用管理方便。

國際英文域名 65元/年

國內英文域名 80元/年

HTML空間100M 120元/年

ASP空間100M 180元/年

QQ:8317158

應該是jsp/servlet吧,因為java技術做的網站占空間較大,所以一般的小網站都用.net,php開發,只有像銀行,購物網站等大項目才用java,因為更安全

在jsp剛剛興起的時候,一些比較優秀的J2EE框架還沒有出現的時候,開發都是用只jsp來做,這樣會造成前台的UI和業務邏輯還有db的交互全部在jsp中完成,這樣做會造成代碼的耦合性過高,不易於維護。

後來有了MVC類型的架構–jsp+servlet+javabean,這樣一來的話,jsp只承擔了views的作用。所以我覺得“不用jsp開發”應該是指“不只是用jsp開發”。

還有你很多網站的頁面後綴是HTM的問題,我覺得應該是開發者考慮到了SEO,搜索引擎對動態的頁面的敏感性不高,所以開發者選擇了用html作為視圖,還有一種可能是開發者用了“偽靜態”方式把原本不是動態頁面偽裝成了靜態頁面,來讓搜索引擎對網站敏感。

延展閱讀:

jsp 可以說是一種展示界面的技術,但是展示界面不僅僅只有 jsp 這一種技術。

實際項目中,用什麼技術展示界面,要視公司情況和項目本身的情況而定。

jsp 既然存在,就有它的意義,也有它的用武之地,有它的優勢,也有它的劣勢。那麼多 IT 公司,那麼多的技術,不可能所有的公司都用同一種技術吧。百花齊放,百家爭鳴,有摩擦,有碰撞,才能促進技術的飛速發展嘛。

如果是動靜分離,肯定是不能用,如果要求不是很高,jsp還是可以用的,現在jsp也還算是主流的頁面開發方式

JSP不止要編譯,它還得要轉譯,首先把JSP轉譯成一個Servlet文件,然後在編譯成class文件。當用戶訪問JSP時就執行了class文件,HTML頁面是靜態頁面可以直接運行。

是不是這樣看網址,隨意打開幾個看看是html的多還是jsp的多。

jsp還是需要的,現在很多大型的電商網站都是採用jsp做的,jsp就有以下特點:

1 跨平台

既然JSP是基於Java語言的,那麼它就可以使用Java API,所以它也是跨平台的,可以應用在不同的系統中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可以使用的Web服務器的範圍。另外,應用於不同操作系統的數據庫也可以為JSP服務,JSP使用JDBC技術操作數據庫,從而避免了代碼移植導致更換數據庫時的代碼修改問題。

正是因為跨平台的特性,使得採用JSP技術開發的項目可以不加修改地應用到任何不同的平台上,這也應驗了Java語言的”一次編寫,到處運行”的特點。

2 業務代碼分離

採用JSP技術開發的項目,通常使用HTML語言來設計和格式化靜態頁面的內容,而使用JSP標籤和Java代碼片段來實現動態部分。程序開發人員可以將業務處理代碼全部放到JavaBean中,或者把業務處理代碼交給Servlet、Struts等其他業務控制層來處理,從而實現業務代碼從視圖層分離。這樣JSP頁面只負責顯示數據即可,當需要修改業務代碼時,不會影響JSP頁面的代碼。

3 組件重用

JSP中可以使用JavaBean編寫業務組件,也就是使用一個JavaBean類封裝業務處理代碼或者作為一個數據存儲模型,在JSP頁面甚至整個項目中都可以重複使用這個JavaBean。JavaBean也可以應用到其他Java應用程序中,包括桌面應用程序。

4 繼承Java Servlet功能

Servlet是JSP出現之前的主要Java Web處理技術。它接受用戶請求,在Servlet類中編寫所有Java和HTML代碼,然後通過輸出流把結果頁面返回給瀏覽器。其缺點是:在類中編寫HTML代碼非常不便,也不利於閱讀。使用JSP技術之後,開發Web應用便變得相對簡單快捷多了,並且JSP最終要編譯成Servlet才能處理用戶請求,因此我們說JSP擁有Servlet的所有功能和特性。

5 預編譯

預編譯就是在用戶第一次通過瀏覽器訪問JSP頁面時,服務器將對JSP頁面代碼進行編譯,並且僅執行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執行編譯好的代碼。這樣不僅節約了服務器的CPU資源,還大大提升了客戶端的訪問速度。

原創文章,作者:CT0AR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126659.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CT0AR的頭像CT0AR
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相關推薦

  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • Python Web開發第三方庫

    本文將介紹Python Web開發中的第三方庫,包括但不限於Flask、Django、Bottle等,並討論它們的優缺點和應用場景。 一、Flask Flask是一款輕量級的Web…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字符命令行的語言…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟件開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • TensorFlow和Python的區別

    TensorFlow和Python是現如今最受歡迎的機器學習平台和編程語言。雖然兩者都處於機器學習領域的主流陣營,但它們有很多區別。本文將從多個方面對TensorFlow和Pyth…

    編程 2025-04-28
  • 麥語言與Python的區別

    麥語言和Python都是非常受歡迎的編程語言。它們各自有自己的優缺點和適合的應用場景。本文將從語言特性、語法、生態系統等多個方面,對麥語言和Python進行詳細比較和闡述。 一、語…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python與C語言的區別和聯繫

    Python與C語言是兩種常用的編程語言,雖然兩者都可以用於編寫軟件程序,但是它們之間有很多不同之處。本文將從多個方面對Python與C語言的區別和聯繫進行詳細的闡述。 一、語法特…

    編程 2025-04-28

發表回復

登錄後才能評論