-Java和PHP的web開發(fā)技術(shù)比較
比較PHP和jsp這兩個web開發(fā)技術(shù),在目前的情況是其實是比較PHP和Java的Web開發(fā)。以下是我就幾個主要方面進行的比較:
一、 語言比較
Php是解釋執(zhí)行的服務器腳本語言,首先php有簡單輕易上手的特點。語法和c語言比較象,所以學過c語言的程序員可以很快的熟悉php的開發(fā)。而java需要先學好java的語法和熟悉一些核心的類庫,懂得面向?qū)ο蟮某绦蛟O計方法。所以java不如php好學。
Java首先要編譯成字節(jié)碼.class文件,然后在java虛擬機上解釋執(zhí)行。Java的web開發(fā)首先最輕易想到的就是JSP(現(xiàn)在已經(jīng)到JSP2.0),原來的java的web開發(fā)都是用servlet來實現(xiàn)的,用servlet來開發(fā)需要程序員在java的源文件中嵌入大量的Html代碼。所以后來就出現(xiàn)了JSP,JSP可以方便的嵌入到html文件當中,其實jsp文件在服務器上執(zhí)行的時候首先會被應用服務器轉(zhuǎn)換成servlet,然后再編譯執(zhí)行。Jsp可以通過servlet和JavaBean的支持產(chǎn)生強大的功能。JavaBean 是一種可復用的、跨平臺的軟件組件。使用javabean可以方便的實現(xiàn)java代碼和html的分離,能夠增強系統(tǒng)的功能和軟件的復用性。
Java的web開發(fā)屬于SUN公司定義的J2EE其中的規(guī)范。而且在J2EE中包括了java的web開發(fā)的所有方面,如:JSP、Servlet、JDBC、JNDI、JAVABEAN、EJB等等。J2EE就非凡適合于做大型的企業(yè)級的應用。
二、 數(shù)據(jù)庫訪問比較
Java通過JDBC來訪問數(shù)據(jù)庫,通過不同的數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫驅(qū)動方便地訪問數(shù)據(jù)庫。訪問數(shù)據(jù)庫的接口比較統(tǒng)一。
PHP對于不同的數(shù)據(jù)庫采用不同的數(shù)據(jù)庫訪問接口,所以數(shù)據(jù)庫訪問代碼的通用性不強。例如:用Java開發(fā)的web應用從mysql數(shù)據(jù)庫轉(zhuǎn)到Oracle數(shù)據(jù)庫只需要做很少的修改。而PHP則需要做大量的修改工作。
三、 系統(tǒng)設計架構(gòu)比較
采用Java的web開發(fā)技術(shù),需要使用的是面向?qū)ο蟮南到y(tǒng)設計方法,而PHP還是采用面向過程的開發(fā)方法。所以用Java進行開發(fā)前期需要做大量的系統(tǒng)分析和設計的工作。
四、 跨平臺性
Java和PHP都有很好的跨平臺的特性。幾乎都可以在不作任何修改的情況下運行在Linux或者Windows等不同的操作系統(tǒng)上。
五、 開發(fā)成本比較
PHP最經(jīng)典的組合就是:PHP + MySQL + Apache。非常適合開發(fā)中小型的web應用,開發(fā)的速度比較快。而且所有的軟件都是開源免費的,可以減少投入。
Java的web應用服務器有免費Tomcat、JBoss等,假如需要更好的商業(yè)化的服務有:Web Sphere和 Web logic。
六、 分布式多層架構(gòu)比較