1. 程式人生 > >【spring boot為例】如何徹底實現前後端徹底分離

【spring boot為例】如何徹底實現前後端徹底分離

問題描述:為了實現前後端的徹底分離,我們徹底放棄使用.jsp的方式在前端顯示頁面中穿插java程式碼,但是帶來的問題也比較明顯,就是前端向後臺發出請求的時候可能會出現跨域的問題,瀏覽器為了安全會阻止跨域請求。

目前有一種很好的方法是使用node.js來解決這個問題,現在我提出另外幾種解決方案,雖說也同樣會帶來一些安全等方面的問題,但也不失是一種方法,可以參考一下的。

一、前後端釋出專案的埠不同。

這樣帶來的問題很明顯,訪問某個路徑的時候還要加上埠。

如果前端使用80埠的話,那麼後臺使用其他埠會導致類似於微信授權這種要求在80埠進行資料互動的過程會失敗的。

總而言之可以同時使用兩個tomcat這樣的伺服器在不同的埠提供服務,從而實現前後端的分離。

二、使用兩個伺服器

為了解決上面那個訪問時需要新增埠的問題,可以考慮使用兩臺伺服器,一臺專門用於後臺,一臺專門用於前端。

帶來的主要問題我認為是成本加大了。事實上我覺得前後端協議明確,約定明確的情況下,這樣做各自的維護更加方便一些,但是成功卻大大增加了。

三、tomcat兩個路徑分別存放前後端

這樣會帶來跨域問題,當然前面兩種方法同樣也會。

這樣的好處就是既解決了需要填寫訪問路徑的埠問題,也解決了新增一臺伺服器的成本問題。

總而言之就是在tomcat的webapp資料夾下的兩個不同資料夾來分別儲存前後端程式碼。

當然,事實上最應該被提倡的應該是使用node.js來解決這些問題。但是不得不說引用一個新的中介軟體,新的技術自然也會帶來一些麻煩。