前言
最近寫了個Java Web工程demo,使用maven構建;
后端使用spring + spring mvc + mybatis;
前端使用react + react-router+ webpack,使用ES6語法;順帶用了下jquery,echarts等插件,寫了幾個小demo
初版,還需不斷完善。
先來個整體感覺吧
貼幾張圖:
后端,熟悉的人自然熟悉:

前端,網上關於react,reflux很多都是單頁應用,我這個多頁應用的目錄自己設計的,參考后端,一個功能一個目錄~~~
有沒感覺前端的寫法越來越像后端了,對於我這種業余前端選手來說,挺喜歡這種目錄結構和語法的,哈哈哈:

運行效果:


后端說明
后端就是常見的spring+spring mvc+mabatis了,怎么說呢,主要是寫配置文件了,spring的配置、mybatis的配置,spring mvc的配置,web.xml配置,pom.xml配置等等,有興趣的可以把源碼下載下來,挺容易看懂的;
后端的主要功能就是給前端提供請求服務,前端通過ajax向后端發送請求,后端返回json格式的數據給前端,這里也沒用spring mcv的視圖解析器,當然想用的話,可以自己添加,個人覺得好像也沒必要。
后端專門加了個servlet用於處理url請求,很簡單就是forward到指定的html頁面;在這個servlet里可以添加一些權限控制、過濾相關的東西。
前端說明
1、先安裝nodejs,然后打開cmd,cd到\webapp目錄,輸入npm install,安裝一堆的模塊,這里需要安裝的模塊是參考package.json配置文件的,話說package.json配置文件跟pom.xml的功能挺相似的,都會配置各種依賴,工程信息,工程build等一堆東西;
2、然后輸入npm run build,使用webpack打包一下,webpack是什么不清楚的,可以百度一下,反正它是可以加載各種模塊,即使這些模塊是使用JSX語法寫的,它也有對應的loader會處理編譯它們;
反正每次寫完代碼后,輸入npm run build構建一下,然后在html里引入打包好的js即可;
另外,關於react,reflux的說明,感覺要說的太多了,本菜鳥也只是了解各大概,內容都是參考自網絡再加上自己的判斷,會使用,這里就不詳細說了;
簡單說下個人理解:
react主要涉及虛擬dom和React.Component組件,每個React組件都有一個state,state變化后會重新調用組件的 render 方法渲染整個組件的 UI,這里不是直接操作dom,而是通過diff算法對虛擬dom進行一次計算,得到需要更新的dom,然后把需要更新的那部分dom寫入到真正地dom里。另外組件是可以復用的;
reflux是flux思想的一種實現,別的實現還有redux什么的,
網上偷了張圖,大概就是這么個意思:

PS:后端有什么MVC思想,前端也得來個什么類似的吧,當然,flux跟mvc還是有點不一樣的
另外,要使用jquery,bootstrap也很方便,安裝相應的組件,直接import使用即可;
實際項目效果

源碼參考
https://github.com/peterchenhdu/webbf
僅供參考~
