知識
不管是網(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 Web開發(fā)技術(shù)方案
發(fā)表時(shí)間:2017-7-14
發(fā)布人:葵宇科技
瀏覽次數(shù):48
Java Web開發(fā)技術(shù)方案
Java Web開發(fā)分前端、后端:
Java Web前端:
—就是在Web應(yīng)用中用戶可以看得見碰得著的東西。包括Web頁面的結(jié)構(gòu)、Web的外觀視覺表現(xiàn)以及Web層面的交互實(shí)現(xiàn)。
—前端開發(fā)主要使用ajax/jQuery/js/html/css等, 使用JS,應(yīng)用JQuery/html/CSS等,進(jìn)行交互效果的開發(fā)
Java Web后端:
—后端更多的是與數(shù)據(jù)庫進(jìn)行交互以處理相應(yīng)的業(yè)務(wù)邏輯。需要考慮的是如何實(shí)現(xiàn)功能、數(shù)據(jù)的存取、平臺的穩(wěn)定性與性能等
—后端開發(fā)主要使用java/MySQL/Oracle等, 使用Java、SQL語句開發(fā).
Java web前端開發(fā)框架:
前端工程化的框架nodejs,React,router,react,redux,webpack
Java web后端開發(fā)框架:
SSM & SSH: spring + springmvc/struts + spring jdbc/hibernate/mybatis等
大多數(shù)項(xiàng)目在java后端都是分了三層:
控制層(controller/action),業(yè)務(wù)層(service/manage),持久層(dao)。
控制層
負(fù)責(zé)接收參數(shù),調(diào)用相關(guān)業(yè)務(wù)層,封裝數(shù)據(jù),以及路由到j(luò)sp頁面。然后jsp頁面上使用各種標(biāo)簽(jstl/el)或者手寫java(<%=%>)將后臺的數(shù)據(jù)展現(xiàn)出來
業(yè)務(wù)層
負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯
持久層
數(shù)據(jù)訪問、存儲
Java web應(yīng)用運(yùn)行機(jī)制:
使用maven或者eclipse等工具把你的代碼打成一個(gè)war包,把這個(gè)war包發(fā)布到你的生產(chǎn)環(huán)境下的web容器(tomcat/jboss/weblogic/websphere/jetty/resin)里。
發(fā)布完了之后,啟動你web容器,開始提供服務(wù),然后通過配置域名,dns等,設(shè)計(jì)的網(wǎng)站就可以訪問了
1、在瀏覽器中輸入你的網(wǎng)站域名(www.xxx.com),之后發(fā)生了什么?
瀏覽器在通過ip路由到你的服務(wù),在tcp3次握手之后,通過tcp協(xié)議開始訪問你的web服務(wù)器,
你的web服務(wù)器得到請求后,開始提供服務(wù),接收請求,之后通過response返回你的應(yīng)答給瀏覽器
2、上面的執(zhí)行過程在實(shí)現(xiàn)上分為兩種:
傳統(tǒng)的Java web項(xiàng)目開發(fā):
1、客戶端發(fā)送請求
2、服務(wù)端的servlet或controller接收請求(路由規(guī)則由后端制定,項(xiàng)目開發(fā)的重心在后端,web后端的權(quán)重很大,UI,前端只是附屬)
3、調(diào)用service,dao代碼完成業(yè)務(wù)邏輯
4、返回jsp
5、jsp展現(xiàn)一些動態(tài)的代碼
新的Java web項(xiàng)目開發(fā)方式
1、瀏覽器發(fā)送請求
2、直接到達(dá)html頁面(路由規(guī)則由前端制定,項(xiàng)目開發(fā)重心在前移)
3、html頁面負(fù)責(zé)調(diào)用服務(wù)端接口產(chǎn)生數(shù)據(jù)(通過ajax等等,后臺返回json格式數(shù)據(jù))
4、填充html,展現(xiàn)動態(tài)效果,在頁面上進(jìn)行解析并操作DOM
前端不僅僅是css,js那么簡單,前端在使用了一些框架和工具形成前端項(xiàng)目,在項(xiàng)目層面拆開,前端也需要有MVC框架,也需要編譯,打包,部署,是很復(fù)雜的,
越是大型互聯(lián)網(wǎng)公司,前端項(xiàng)目越是工程化的項(xiàng)目,包括前端項(xiàng)目的版本管理,運(yùn)維等。
java web項(xiàng)目都盡量要避免使用jsp,越是大中型的web應(yīng)用,越是要搞前后臺解耦,玩分布式架構(gòu),這樣的web應(yīng)用架構(gòu)才更強(qiáng):
正常的分布式架構(gòu),是都要拆開的:
web服務(wù)器集群(nginx) + 應(yīng)用服務(wù)器集群(tomcat) + 文件服務(wù)器集群 + 數(shù)據(jù)庫服務(wù)器集群 + 消息隊(duì)列集群 + 緩存集群等等
新的Java web項(xiàng)目開發(fā)方式的請求步驟:
大量并發(fā)瀏覽器請求—>web服務(wù)器集群(nginx)—>應(yīng)用服務(wù)器集群(tomcat)—>文件/數(shù)據(jù)庫/緩存/消息隊(duì)列服務(wù)器集群
同時(shí)又可以玩分模塊,還可以按業(yè)務(wù)拆成一個(gè)個(gè)的小集群,把核心的業(yè)務(wù)封裝成一個(gè)業(yè)務(wù)中心,玩遠(yuǎn)程業(yè)務(wù)調(diào)用,玩rpc,玩soa,使用springboot+Docker玩微服務(wù),這樣才是一個(gè)彈性的分布式架構(gòu)
特點(diǎn):
1、實(shí)現(xiàn)真正的前后端解耦,前端服務(wù)器使用nginx。
前端服務(wù)器放的是css、js、圖片等等一系列靜態(tài)資源(甚至還可以把css、js、圖片等資源放到特定的文件服務(wù)器,例如阿里云的oss,并使用cdn加速),
前端服務(wù)器負(fù)責(zé)控制頁面引用、跳轉(zhuǎn)、調(diào)用后端的接口
后端服務(wù)器使用tomcat(把應(yīng)用服務(wù)器tomcat想象成一個(gè)數(shù)據(jù)提供者),加快整體響應(yīng)速度,后端服務(wù)暫時(shí)超時(shí)或者機(jī),前端頁面也會正常訪問,只不過數(shù)據(jù)刷不出來而已
2、Java web項(xiàng)目開發(fā)分工明確:
前端工程師:負(fù)責(zé)頁面邏輯,跳轉(zhuǎn)錯(cuò)誤,瀏覽器兼容性問題,腳本錯(cuò)誤,頁面樣式等問題。
后端工程師:負(fù)責(zé)接口數(shù)據(jù)出錯(cuò),數(shù)據(jù)沒有提交成功,應(yīng)答超時(shí)等問題的處理。
3、大并發(fā)情況下,可以同時(shí)水平擴(kuò)展前后端服務(wù)器,通過部署服務(wù)器集群。減少后端服務(wù)器的并發(fā)壓力,除了接口以外的其他所有http請求全部轉(zhuǎn)移到前端nginx上。
前端框架解決類似于頁面嵌套,分頁,頁面跳轉(zhuǎn)控制等功能,而調(diào)用接口就是調(diào)用controler里的方法,如果頁面上有一些權(quán)限等等相關(guān)的校驗(yàn),那么這些相關(guān)的數(shù)據(jù)也可以通過ajax從接口里拿
4、也許你也需要有微信相關(guān)的輕應(yīng)用,那樣你的接口完全可以共用,如果也有app相關(guān)的服務(wù),那么只要通過一些代碼重構(gòu),也可以大量復(fù)用接口,提升效率。
5、頁面顯示的東西再多也不怕,因?yàn)槭钱惒郊虞d
Java Web開發(fā)中前后端分離的技術(shù)方案:
1、前端使用AngularJS編寫SPA(Single Page Application)應(yīng)用,后端服務(wù)器只提供RESTful接口且完全無狀態(tài)化。
特點(diǎn):
前后完全分離,前端開發(fā)者完全不需要關(guān)心服務(wù)端用了什么技術(shù),只需要一份接口說明文檔即可。
移動端app與PC端網(wǎng)站可以共用同一套接口。
如果”頁面”過多,SPA應(yīng)用第一次加載速度會稍慢。
2、使用NodeJS渲染W(wǎng)eb頁面,然后調(diào)用后端RESTful接口。
特點(diǎn):
前后完全分離, 后端開發(fā)者可以專注于業(yè)務(wù)邏輯開發(fā)。
NodeJS代碼如果異常處理不好容易直接掛掉進(jìn)程。
增加了一層NodeJS,提高了網(wǎng)絡(luò)傳輸?shù)拈_銷,增加了部署和維護(hù)成本
相關(guān)案例查看更多
相關(guān)閱讀
- 汽車報(bào)廢管理系統(tǒng)
- 小程序制作
- 報(bào)廢車拆解管理系統(tǒng)
- 網(wǎng)站建設(shè)專業(yè)品牌
- 云南小程序開發(fā)首選品牌
- 前端開發(fā)
- web學(xué)習(xí)路線
- 網(wǎng)站制作哪家好
- 生成海報(bào)
- 云南花農(nóng)小程序
- 云南網(wǎng)站建設(shè)首選
- 云南旅游網(wǎng)站建設(shè)
- APP
- 云南小程序開發(fā)課程
- 小程序開發(fā)費(fèi)用
- 高端網(wǎng)站建設(shè)公司
- 電商網(wǎng)站建設(shè)
- 海南小程序制作公司
- 云南軟件開發(fā)
- 小程序設(shè)計(jì)
- web服務(wù)
- 云南網(wǎng)站開發(fā)哪家好
- 報(bào)廢車回收
- 百度推廣
- 報(bào)廢車
- 網(wǎng)站建設(shè)首頁
- 網(wǎng)站建設(shè)列表網(wǎng)
- 云南網(wǎng)站建設(shè)服務(wù)
- 商標(biāo)
- 云南網(wǎng)站建設(shè)招商