知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
Java與PHPweb開發(fā)比較
發(fā)表時(shí)間:2018-11-1
發(fā)布人:葵宇科技
瀏覽次數(shù):39
一直很想寫一篇這樣的文章。Java和PHP作為web開發(fā)的2個(gè)主流語言,他們之間有什么不同呢?在項(xiàng)目開發(fā)時(shí),我們應(yīng)該怎么去做選擇。
1.運(yùn)行方式
1.1 PHP的運(yùn)行方式
客戶端發(fā)送http請求到nginx,nginx通過fastcgi與php-fpm進(jìn)程通信。php-fpm執(zhí)行完成后把結(jié)果返回給nginx,最終輸出到客戶端瀏覽器。
參考fastcgi:https://baike.baidu.com/item/fastcgi/10880685?fr=aladdin
1.2 Java的運(yùn)行方式
Servlet容器,比如Tomcat和Jetty等。一個(gè)Servlet容器可以運(yùn)行多個(gè)Servlet實(shí)例。
當(dāng)客戶端第一次請求某個(gè)Servlet時(shí),Servlet容器將會(huì)根據(jù)web.xml配置文件實(shí)例化這個(gè)Servlet類,此時(shí)它貯存于內(nèi)存中。當(dāng)有新的客戶端請求該Servlet時(shí),一般不會(huì)再實(shí)例化該Servlet類,也就是有多個(gè)線程在使用這個(gè)實(shí)例。每一個(gè)請求都是一個(gè)線程,而不是進(jìn)程,因此,Servlet對請求的處理的性能非常高。
參考:https://www.ibm.com/developerworks/cn/java/j-lo-servlet/
總結(jié):PHP是以多進(jìn)程的方式運(yùn)行,并且使用fastcgi與web通訊;Java需要依賴Tomcat等Servlet容器,以多線程的方式運(yùn)行。
2.接受請求,GET/POST參數(shù)處理
JAVAPHPGET均是通過HttpServletRequest.getParameter方法獲取
GET/POST根據(jù)方法名定義doGet/doPost,如果是spring,使用RequestMapping定義
使用$_GET全局變量獲取POST使用$_POST全局變量獲取原始請求體BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));String body = reader.readLine();file_get_contents("php://input");請求來源IPHttpServletRequest.getRemoteAddr方法$_SERVER["REMOTE_ADDR"]
3.響應(yīng)請求
JAVAPHP自定義狀態(tài)碼HttpServletResponse.setStatus(404);header("HTTP/1.1 404 Not Found"); 重定向response.sendRedirect("/hello");header("location: [url]");4.Cookies & Session
JAVAPHPSession存儲(chǔ)默認(rèn)存儲(chǔ)在heap中,創(chuàng)建的cookies默認(rèn)名稱是JSESSIOINID。servlet.destory()方法會(huì)導(dǎo)致session丟失。
默認(rèn)使用文件方式,存儲(chǔ)在/tmp目錄下,創(chuàng)建的cookies默認(rèn)名稱是PHPSESSID。
重啟php-fpm并不會(huì)丟失數(shù)據(jù)。
調(diào)用方式讀取:HttpServletRequest.getSession().getValue(name);
寫入:
HttpServletRequest.getSession().setAttribute(name, value);
讀取:$_SESSION['key']
寫入:$_SESSION['key'] = mixed
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站建設(shè)特性
- 云南網(wǎng)站制作哪家好
- 云南網(wǎng)站維護(hù)
- 小程序分銷商城
- 企業(yè)網(wǎng)站
- php網(wǎng)站
- 小程序開發(fā)公司
- 云南小程序開發(fā)公司
- 昆明小程序設(shè)計(jì)
- 網(wǎng)站收錄
- APP
- 高端網(wǎng)站建設(shè)公司
- 云南網(wǎng)站建設(shè)專業(yè)品牌
- 云南網(wǎng)絡(luò)營銷顧問
- 云南軟件定制公司
- 手機(jī)網(wǎng)站建設(shè)
- 云南花農(nóng)小程序
- 網(wǎng)站建設(shè)首選公司
- 小程序的開發(fā)公司
- 模版消息
- 云南網(wǎng)站建設(shè)費(fèi)用
- 網(wǎng)頁制作
- 云南網(wǎng)絡(luò)營銷
- 網(wǎng)站排名
- 前端技術(shù)
- 網(wǎng)站建設(shè)制作
- 汽車拆解系統(tǒng)
- 海報(bào)插件
- 小程序被攻擊
- 云南網(wǎng)站建設(shè)電話