1.前段框架Extjsjava
Extjs:mvvm思想: view+controller+model的設計思想;各類控件的使用和函數的編寫;extjs開發中bug的處理。mysql
Ajax通訊,返回json數據sql
2.後端服務框架數據庫
2.1探針收集,記錄前段頁面用戶操做的各類信息。探針收集使用quartz定時任務。json
其中用戶的信息使用bitmap數據模型進行存儲,做爲BI系統的數據源。後端
2.2使用mysql數據庫(主從同步,讀寫分離)數組
使用Druid數據庫鏈接池: 能夠經過讀取多個配置文件 建立多個鏈接對象放入鏈接池內。服務器
getRandomReadConnection()--讀鏈接mybatis
getRandomWriteConnection()--寫鏈接框架
//以寫鏈接對象的獲取爲例
1.獲取DataSource[]數據源數組( 根據DruidDataSourceFactory工廠類 配置文件,能夠獲得數據源數組 )
2.建立隨機數, dataSource[iFeed % writeDataSource.length].getConnection()獲取 writeConnect
2.3查詢數據庫數據
使用DbUtils進行查詢數據庫,在DbUtils的基礎上封裝一層,使用自定義類 ResultInfo<>
ResultInfo屬性:businessCode : 業務代碼;resultSet:數據集;description:描述信息; count:數據集的數目。
返回前臺ResultInfo對象,Extjs經過json轉爲對象,填充view頁面數據
其中sql本身編寫,未使用mybatis進行封裝
2.4Controller層
1.使用Servlet3.0 註解進行 url和servlet的映射 @WebServlet
2.BaseServlet: 每一個servlet統一繼承BaseSevelt, Base 繼承 HttpSevlet ,BaseSerlvet中重寫service()方法,service()經過java反射進行具體的業務實現。同時BaseServlet中進行 權限控制;防XSS; Session信息判斷;操做審計等統一操做。
3.自定義註解@NeedAuthentication 和 @NeedAudit 進行權限控制
4.HttpServlet的生命週期:httpServ;et包含 inti() destroy() 和 service()方法。其中 在服務器裝入Servlet時 執行inti()方法,在Servlet的生命週期中,僅執行一次init()方法,咱們在inti()使用把servlet的class信息放在map中,便於後期使用;service()方法是Servlet的核心,每當一個客戶請求一個HttpServelt對象是,service()方法都須要被調用;當服務器中止或者卸載Servlet時執行 destroy()方法。
2.5Service業務層
每一個具體的Service繼承BaseService
BaseService中主要進行用戶操做記錄
1.這裏主要說下 事物處理:目前都直接在業務層 經過
//開啓事物
connection.setAutoCommit(false); connection.setReadOnly(false);
//事物回滾
connection.rollback();
//提交事物
connection.commit();
來進行事物處理, 目前沒有使用Spring事務管理
3.1idea編輯器
4.1maven項目
5.1Git版本控制
6.1Linxu操做系統
7.1Tomcat
8.1jenkins項目發佈工具