當前位置:首頁 » 網頁前端 » web方面java好還是php
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web方面java好還是php

發布時間: 2023-05-05 15:24:15

1. Java和PHP在Web開發方面的比較

比較PHP和JSP這兩個Web開發技術 在目前的情況是其實是比較PHP和Java的Web開發 以下是我就幾個主要方面進行的比較

一 語言比較

PHP是解釋執行的伺服器腳本語言 首先php有簡單容易上手的特點 語法和c語言比較象 所以學過c語言的程序員可以很快的熟悉php的開發 而java需要先學好java的語法和熟悉一些核心的類庫 懂得面向對象的程序設計方法 所以java不如php好學

Java首先要編譯成位元組碼 class文件 然後在java虛擬機上解釋執行 Java的Web開發首先最容易想到的就是JSP(現在已經到JSP ) 原來的java的Web開發都是用servlet來實現的 用servlet來開發需要程序員在java的源文件中嵌入大量的代碼 所以後來就出現了JSP JSP可以方便的嵌入到文件當中 其實jsp文件在伺服器上執行的時候首先會被應用伺服器轉換成servlet 然後再編譯執行 Jsp可以通過servlet和JavaBean的支持產生強大的功能 JavaBean 是一種可復用的 跨平台的軟體組件 使用javabean可以方便的實現java代碼和的分離 能夠增強系統的功能和軟體的復用性

Java的Web開發屬於SUN公司定義的J EE其中的規范 而且在J EE中包括了java的Web開發的所有方面 如 JSP Servlet JDBC JNDI JAVABEAN EJB等等 J EE就特別適合於做大型的企業級的應用

資料庫訪問比較

Java通過JDBC來訪問資料庫 通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫 訪問資料庫的介面比較統一

PHP對於不同的資料庫採用不同的資料庫訪問介面 所以資料庫訪問代碼的通用性不強 例如 用Java開發的Web應用從MySQL資料庫轉到Oracle資料庫只需要做很少的修改 而PHP則需要做大量的修改工作

三 系統設計架構比較

採用Java的Web開發技術 需要使用的是面向對象的系統設計方法 而PHP還是採用面向過程的開發方法 所以用Java進行開發前期需要做大量的系統分析和設計的工作

四 跨平台性

Java和PHP都有很好的跨平台的特性 幾乎都可以在不作任何修改的情況下運行在Linux或者Windows等不同的操作系統上

五 開發成本比較

PHP最經典的組合就是 PHP + MySQL + Apache 非常適合開發中小型的Web應用 開發的速度比較快 而且所有的軟體都是開源免費的 可以減少投入

Java的Web應用伺服器有免費Tomcat JBoss等 如果需要更好的商業化的服務有 Web Sphere和 Web logic

六 分布式多層架構比較

PHP只能實現簡單的分布式兩層或三層的架構 而JAVA在這方面就比較強大 可以實現多層的網路架構 資料庫層(持久化層) 應用(業務)邏輯層 表示邏輯層彼此分開 而且現在不同的層都已經有一些成熟的開發框架的支持 例如Struts就是利用java的Web開發技術實現了MVC的設計模式 而在業務邏輯層也有Spring框架 資料庫持久化層有Hibernate等框架 這些框架可以方便開發者高效 合理 科學得架構多層的商業應用

下面簡要的說一下Struts 它實質上是在JSP Model 的基礎上實現的一個MVC(Model View Controler)框架 JSP Model 體系結構是一種聯合使用JSP 與Servlet 來提供動態內容的方法 在Struts框架中 模型由實現業務邏輯的JavaBean或EJB組件構成 控制器由Servlet實現的 視圖由一組JSP文件組成 採用Struts可以明確角色的定義和開發者與網頁設計者的分工 而且項目越復雜 其優勢越明顯

七 源代碼安全

PHP開發的程序的源代碼都是公開的 他人拿到php開發的程序後都可以進行修改

Java開發的程序 最後用戶拿到的是只是一些編譯好的class類 無法看到完整的源代碼 安全性高

八 性能比較

有人做過試驗 對這兩種種語言分別做迴圈性能測試及存取Oracle資料庫測試

在循環性能測試中 JSP只用了令人吃驚的四秒鍾就結束了 * 的迴圈 而PHP測試的是 * 循環(少一個數量級) 卻分別用了 秒

資料庫測試中 二者分別對 Oracle 進行 次 Insert Update Select和Delete JSP 需要 秒 PHP 需要 秒

項目

PHP

JAVA

可復用性

開發速度

易維護性

可移植性

優- Linux

Windows Unix

安全性

開發費用

多層架構

資料庫訪問

介面不統一

介面統一

可擴展性

面向對象

lishixin/Article/program/PHP/201311/21447

2. 現在開發網站,好像都是流行用php,那java web一般用在哪裡呢它們之間的區別和優劣勢在哪裡呢

現在市場上的oa基本上可歸結為兩大陣營,即php陣營和java陣營。但對接觸oa不久的用戶來說,看到的往往只是它們的表相,只是明顯的價格差異,卻很難看出它們之間的實際差異。其實, PHP + MYSQL 不值錢不僅僅局限於oa軟體,而是整體上PHP + MYSQL開發的軟體都不如java開發的軟體值錢。為什麼PHP + MYSQL 的OA為什麼不值錢呢?首先得明白php和java之間的差異才行。

1、系統的技術架構比較

分層是將系統進行有效組織的方式,分而治之的思想是計算機領域中非常重要的思想。在好的分層思想引導下,便能實現「高內聚、低耦合」,也能將具體的問題割裂開來,易於控制、易於延展,更易於分配資源。PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就十分強大,可以實現多層的網路架構。運用MVC的設計模式,可使oa系統具有更加高效、合理的系統架構。技術架構的落後,使運用php編寫的oa軟體系統先天不足,而後天又無法補足其先天上的劣勢。使得系統在可拓展性、需求應變性上與JAVA編寫的oa軟體系統的差距越來越大。架構的差距,註定了php做的oa充其量是個小家碧玉,始終無法和java這種大家閨秀同台競技。

2、資料庫訪問比較

PHP可編譯成具有與許多資料庫相連接的函數。將自己編寫外圍的函數去間接存取資料庫。通過這樣的途徑當更換使用的資料庫時,可以輕松地修改編碼以適應這樣的變化。但PHP提供的資料庫介面支持彼此不統一,比如對Oracle, MySQL,Sybase的介面,彼此都不一樣。由於PHP對於不同的資料庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。

而Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫,訪問資料庫的介面比較統一。如果同樣是將開發的web應用從MYSQL數據數轉到ORACLE數據,PHP需要做大量的修改工作,而且比較繁瑣。但JAVA開發的便只需要很少的更改便能實現。

資料庫訪問方式的差異,奠定了php開發出的oa和java開發出來的oa是馬車和火車的差距,前者只能亦步亦趨而且額度有限,後者卻是工業化的結晶,不僅能夠包容萬物而且速度上穩步提升。

3、安全性對比

在同是開源和跨平台的java面前,php丟掉了很多的優勢。在代碼的安全性上尤為突出。php的開發程序在別人拿到代碼後,可以很容易的進行修改。而java開發的程序由於無法看到完整的源代碼,只能看到一些編譯好的類文件,所以安全性較高。加之系統架構的優勢,在安全性上php和java是相去甚遠。

如果非要將php和java在安全性上做個比較的話,同一個小偷光顧php那是隨便拿來隨便改,想拿什麼拿什麼,拿的高興還能大筆一輝某某到此一游。而光顧java的時候,便會發現警察把守,內設自動報警裝置,即便突破重重阻擾後進入居室。那值錢的東西都放在加密後的保險櫃中,只能望洋興嘆、鎩羽而歸。

4、前瞻性和拓展性

從整體來說,php適用於中小型系統,而java適用於大型系統。Php能夠將單一的事件做好,但卻不適合完成集成度較高的多項並發事件。為什麼說php適合中小型系統而不適合做大系統呢?

首先, php缺乏多層結構支持。而對於大型的系統負荷站點,只能採用分布計算。將資料庫、應用邏輯層和表示邏輯層彼此分開,並將同層的根據流量分開,組成二維數組。而php恰恰缺乏這種支持。

其次,PHP提供的資料庫介面不統一,要將多個不同的資料庫數據統一需要花費很大的力氣。而JAVA則沒有這種缺陷,可通過SUN Java的Java Class和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結構支持。如IBM的E-business,它的核心是採用JSP/Servlet的Web Sphere,是通過CGI來提供支持的。

如果將Php比作將才,具備獨擋一方的能力。那麼java便是帥才,具有較好的前瞻性和拓展性,整體布局和協同能力強。能夠指揮千軍萬馬,最後逐鹿中原。

5、開發成本比較

既然php在諸多方面都不如java優異,那麼php開發出的oa產品何以與java產品競爭呢?在於Php陣營普遍走的是低端路線,而java陣營走的是中高端路線。兩者之間交*的區域較小。

軟體價格的高低很大程度上和自身成本和功能相掛鉤。php的入門門檻較低,絕大多數學過c的程序員都很容易轉型為php程序員,這使得php程序員的泛濫成災的同時,低成本的php軟體產品也層出不窮。以PHP最經典的組合PHP + MySQL + Apache為例,由於所有軟體都是開源免費的,所以投入並不高。

而java開發需要特定的環境,成長為一個合格的java程序員需要一定的時間,java程序員的成本也是php成本的幾倍。Java的web應用伺服器免費的有Tomcat、JBoss等,而要想具有很好的商業化服務便必須選用Web Sphere和 Web logic。這其中投入的成本無形中便超是php成本的N倍。所以,java開發oa的成本要遠遠高於php開發出來的同類軟體產品。但也正由於java開發的成本較高,很難實現抄襲和短期內逾越的可能,也使得java用開發出的產品門檻更高。

不怕不識貨,就怕貨比貨。Php開發出來的產品也能用,但是和java開出的同類產品是沒法比較的。正因為php開發的產品整體性能和java開發的相去甚遠,所以php運用低成本的低價優勢和同類的java產品抗爭,以價格落差來平衡購買者的心態。所以,PHP + MYSQL 的OA不值錢也就不足為怪了

第二種

比較PHP和JSP這兩個web開發技術,在目前的情況是其實是比較PHP和Java的Web開發。以下是我就幾個主要方面進行的比較:

一、 語言比較

Php是解釋執行的伺服器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程序員可以很快的熟悉php的開發。而java需要先學好java的語法和熟悉一些核心的類庫,懂得面向對象的程序設計方法。所以java不如php好學。

Java首先要編譯成位元組碼.class文件,然後在java虛擬機上解釋執行。Java的web開發首先最容易想到的就是JSP(現在已經到JSP2.0),原來的java的web開發都是用servlet來實現的,用servlet來開發需要程序員在java的源文件中嵌入大量的html代碼。所以後來就出現了JSP,JSP可以方便的嵌入到html文件當中,其實jsp文件在伺服器上執行的時候首先會被應用伺服器轉換成servlet,然後再編譯執行。Jsp可以通過servlet和JavaBean的支持產生強大的功能。JavaBean 是一種可復用的、跨平台的軟體組件。使用javabean可以方便的實現java代碼和html的分離,能夠增強系統的功能和軟體的復用性。

Java的web開發屬於SUN公司定義的J2EE其中的規范。而且在J2EE中包括了java的web開發的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就特別適合於做大型的企業級的應用。

二、 資料庫訪問比較

Java通過JDBC來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動方便地訪問資料庫。訪問資料庫的介面比較統一。

PHP對於不同的資料庫採用不同的資料庫訪問介面,所以資料庫訪問代碼的通用性不強。例如:用Java開發的web應用從MySQL資料庫轉到Oracle資料庫只需要做很少的修改。而PHP則需要做大量的修改工作。

三、 系統設計架構比較

採用Java的web開發技術,需要使用的是面向對象的系統設計方法,而PHP還是採用面向過程的開發方法。所以用Java進行開發前期需要做大量的系統分析和設計的工作。

四、 跨平台性

Java和PHP都有很好的跨平台的特性。幾乎都可以在不作任何修改的情況下運行在Linux或者Windows等不同的操作系統上。

五、 開發成本比較

PHP最經典的組合就是:PHP + MySQL + Apache。非常適合開發中小型的web應用,開發的速度比較快。而且所有的軟體都是開源免費的,可以減少投入。

Java的web應用伺服器有免費Tomcat、JBoss等,如果需要更好的商業化的服務有:Web Sphere和 Web logic。

六、 分布式多層架構比較

PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就比較強大,可以實現多層的網路架構。資料庫層(持久化層)、應用(業務)邏輯層、表示邏輯層彼此分開,而且現在不同的層都已經有一些成熟的開發框架的支持。例如Struts就是利用java的web開發技術實現了MVC的設計模式,而在業務邏輯層也有Spring框架,資料庫持久化層有Hibernate等框架。這些框架可以方便開發者高效、合理、科學得架構多層的商業應用。

下面簡要的說一下Struts,它實質上是在JSP Model2的基礎上實現的一個MVC(Model、View、Controler)框架。JSP Model2體系結構是一種聯合使用JSP 與Servlet 來提供動態內容的方法。在Struts框架中,模型由實現業務邏輯的JavaBean或EJB組件構成,控制器由Servlet實現的,視圖由一組JSP文件組成。採用Struts可以明確角色的定義和開發者與網頁設計者的分工。而且項目越復雜,其優勢越明顯。

七、 源代碼安全

PHP開發的程序的源代碼都是公開的,他人拿到php開發的程序後都可以進行修改。

Java開發的程序,最後用戶拿到的是只是一些編譯好的class類,無法看到完整的源代碼,安全性高。

八、性能比較

有人做過試驗,對這兩種種語言分別做迴圈性能測試及存取Oracle資料庫測試。

在循環性能測試中,JSP只用了令人吃驚的四秒鍾就結束了20000*20000的迴圈。而PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒。

資料庫測試中,二者分別對 Oracle 8 進行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒。

表格 1 PHP 與Java的比較

PHP JAVA

可復用性 低 高

開發速度 快 慢

易維護性 差 優

可移植性 優-Linux、Windows、Unix等

安全性 低 高

開發費用 低 高

多層架構 差 優

資料庫訪問 介面不統一 介面統一

可擴展性 差 優

面向對象 差 優
綜上 PHP適合於快速開發,中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。而Java適合於開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。還有,同樣功能的系統用Java開發的系統要比PHP開發的系統的價格要高