001_iBase4J学习之环境搭建
文章目錄
- 序言
- 正文
- 第一關、拉取項目
- 第二關、導入數據庫
- 第三關、修改 JDBC 配置文件
- 第四關、環境搭建,修改 nginx 設置
- 第五關、添加地址白名單
- 尾聲
序言
大家好,我是白墨!
本次的目標是學習 iBase4J 這個框架,先貼一個官方的介紹:
- iBase4J是Java語言的分布式系統架構。 使用Spring整合開源框架。
- 使用Maven對項目進行模塊化管理,提高項目的易開發性、擴展性。
- 系統包括4個子系統:系統管理Service、系統管理Web、業務Service、業務Web。
- 系統管理:包括用戶管理、權限管理、數據字典、系統參數管理等等。
- 業務相關:您的業務開發。
- 可以無限的擴展子系統,子系統之間使用Dubbo或MQ進行通信。
我先跟著網上找的一篇教程 1 走了一遍。
但教程過時,有些地方走不通,然后再自行研究修改,所以有了本文,建議讀本文前先看看原教程,錯了也沒關系。
原教程地址: https://blog.csdn.net/u011781521/article/details/79022363
主要是這個項目沒有官方的文檔,據說官方文檔是付費進Q群才能獲取,而且現在群又是滿的,難受。
來人,給作者續費個年費超會!
正文
第一關、拉取項目
項目源碼地址:https://gitee.com/iBase4J/iBase4J ,直接用 Git 拉取就行了。
不會的話進入頁面手動下載吧……
當然,我這也有一條龍服務,保您滿意: 手把手教你IDEA連接碼云(Gitee)。
第二關、導入數據庫
使用的數據庫版本為 MySQL8.0+。
導入以后結果如下圖所示。
那個 ibase4j_biz 的數據庫也是 sql 語句生成的,里面啥也沒有,也不知道有沒有用,暫時沒去管它。
第三關、修改 JDBC 配置文件
修改 兩個 Service 模塊 下的 jdbc.properties 配置文件,開發、生產、測試環境加起來一共有 6 個,一股腦全改了。
其中密碼是通過調用方法獲得 top.ibase4j.core.util.SecurityUtil.encryptDes(String password,byty[] key) ,
隨便找個 main 方法調用后在控制臺輸出即可獲得。
此處與網絡上的教程不同,卡了我半天。
具體調用方法如下:
System.err.println(SecurityUtil.encryptDes("root",new byte[]{57,48,49,51,57,49,49,57}));其中數組 key 是我通過 debug 時觀察解密方法傳入的參獲得的。
我的密碼是 root ,加密后為 M1XaoOiy+J7= ,
如果你的也是,可以先試試能不能直接用…
第四關、環境搭建,修改 nginx 設置
環境有一堆,全是 Windows 的,我的版本如下:
apache-activemq-5.13.2 apache-zookeeper-3.6.2-bin nginx-1.9.12 Redis-x64-3.0.504打了個包,我這套環境的地址: https://baimoo.lanzouh.com/isNdG036arwj 密碼: baimo
開頭提到的【原教程】里面也分享了一套環境,在這: https://baimoo.lanzouh.com/iF3cS036atuj 密碼: baimo
接下來修改 nginx 設置,配置路徑在 nginx-1.9.12\conf\nginx.conf ,如下圖,root 后面填靜態頁面的路徑,
網上公開的教程都沒有寫到 src 這一級目錄,應該是當時作者還沒有修改文件位置吧。
此處與網絡上的教程不同,卡了我一天,一直在報 403!
沒學過 nginx ,姑且猜測端口號就是服務器端的端口吧,所以我填了 127.0.0.1:8088 。
其他沒什么改動,分別啟動即可(最好用管理員模式),路徑如下:
apache-activemq-5.13.2\bin\win64\activemq.bat apache-zookeeper-3.6.2-bin\bin\zkServer.cmd Redis-x64-3.0.504\redis-server.exe nginx-1.9.12\nginx.bat(<---需要改一下里面的啟動路徑)第五關、添加地址白名單
一切搞好以后,分別啟動模塊 iBase4J-SYS-Service 和 iBase4J-SYS-Web ,
然后進入 http://127.0.0.1 終于打開了登錄頁面。
可是登錄時又返回了 308 錯誤,后臺報了個跨站請求,可我所有環境都在本機。
賬密: admin/111111
通過搜索 2 、 debug 排查發現有個地址白名單。
在類 top.ibase4j.core.filter.CsrfFilter 里面有個 whiteUrls 數組,
值是通過讀取文件 white/csrfWhite.txt 獲取的。
那么,找到文件,在 iBase4J-SYS-Web 模塊下, iBase4J-SYS-Web/src/main/resources/white/csrfWhite.txt 。
好家伙,一個都沒有,難怪 size 為 0,永遠也登錄不了。
把本機地址加進去,然后重啟模塊 iBase4J-SYS-Web 。
http://127.0.0.1 http://localhost/再次進入登錄頁面 http://127.0.0.1 ,輸入 admin/111111 ,登錄成功。
一開始沒有登錄成功,以為是密碼錯了, debug 找了十幾分鐘的認證方法,結果啥也沒改,突然又登錄成功了,莫名其妙的。同事說可能是 Redis 緩存的問題。
圖片顯示有點 bug,不在本文討論范圍!
尾聲
如果用的 UI 是 iBase4J-UI-DataTables ,登錄時還會遇到傳不了參的問題。
可以先在后臺把密碼寫死,湊合著用😗以后再去修復 Bug。方法如下:
模塊 iBase4J-SYS-Web ,
類 org.ibase4j.web.LoginController ,
方法 login ,在方法內第一行加入以下代碼。
user.setAccount("admin"); user.setPassword("96e79218965eb72c92a549dd5a330112");簡單粗暴!
好了,本文到此結束,鼓掌!
我是白墨,一個熱愛學習與劃水的矛盾體。一個才開始寫博客的新人,以后的質量會越來越高,歡迎共同見證!點個關注吧?點個關注吧?點個關注吧~
ヽ(?゚▽゚)ノ公眾號「白墨是個程序猿」,進來逛逛唄
最后再吃點瓜: 警惕掛著開源的招牌到處坑蒙拐騙的垃圾項目,比如iBase4J
碼農致富. 開源項目學習之(二)------iBase4J環境搭建 [Z].CSDN,2018-01-10 ??
易水. 如何解決iBase4J登錄沒有反應的問題 [Z].知乎,2021-06-01 ??
總結
以上是生活随笔為你收集整理的001_iBase4J学习之环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序-音频播放-wx.create
- 下一篇: SPSS详细图文教程:手把手教你配对样本