# 研究成果展示及應用
SchoolLife 前臺登錄地址:[http://shop.ryanjie.cn/fore/foreIndex](http://shop.ryanjie.cn/fore/foreIndex)

SchoolLife 后臺登錄地址:[http://shop.ryanjie.cn/login](http://shop.ryanjie.cn/login)

SchoolLife APP Download:[https://pic.ryanjie.xyz/SchoolLife.apk](https://pic.ryanjie.xyz/SchoolLife.apk)

SchoolLife Admin APP Download:[https://pic.ryanjie.xyz/SchoolLife%20Admin.apk](https://pic.ryanjie.xyz/SchoolLife%20Admin.apk)

這是一個校園外賣訂餐系統,仿照的是餓了么,項目主要用到的技術有
* `springmvc` 做前端控制和請求轉發
* `spring` 整合 `mybatis` 做數據訪問層# 研究成果展示及應用
SchoolLife 前臺登錄地址:[http://shop.ryanjie.cn/fore/foreIndex](http://shop.ryanjie.cn/fore/foreIndex)
SchoolLife 后臺登錄地址:[http://shop.ryanjie.cn/login](http://shop.ryanjie.cn/login)
SchoolLife APP Download:[https://pic.ryanjie.xyz/SchoolLife.apk](https://pic.ryanjie.xyz/SchoolLife.apk)
SchoolLife Admin APP Download:[https://pic.ryanjie.xyz/SchoolLife%20Admin.apk](https://pic.ryanjie.xyz/SchoolLife%20Admin.apk)




這是一個校園外賣訂餐系統,仿照的是餓了么,項目主要用到的技術:
* 使用 `SpringMVC` 做前端控制和請求轉發
* 使用 `Spring` 整合 `MyBatis` 做數據訪問層
* 使用 `MySQL5.7` 作為系統數據庫
* 使用 `Maven` 對項目進行構建來管理 `jar`包
* 搭建 `Ftp` 服務器存儲圖片和文件靜態資源
* 使用 `Nginx` 做 `Ftp` 上資源的反向代理
* 使用 `Tomcat` 做 `Web` 容器
* 使用 `Shiro` 安全框架分配角色權限
* 使用 `MD5` 加密算法為用戶的密碼進行加密
* 使用騰訊云服務器實現上線調試
* 仿造商業項目實現前后端完全分離
項目目前只要有三種用戶,買家、店鋪管理員和系統管理員;其中買家可以瀏覽商城的商品、添加購物車、下單購買商品;店鋪管理員對店鋪商品分類及商品增刪改查、對用戶的訂單進行處理、發貨等,系統管理員管理整個網站。
目前該服務端主要有 1. 用戶模塊 、2 . 商品分類模塊 、3. 商品模塊 、4. 店鋪模塊、5 購物車模塊 、6.通知模塊 、7. 訂單模塊。
`SpringMVC` 是一個基于 `SunJ2EE` 平臺的 `MVC`(`Model` 一 `View` 一 `Controller`)框架,主要使用的實現技術是 `Servlet` 和 `JSP`. 在本系統中, `Model` 部分由 `ActionForm` 與 `JavaBean` 組成, `ActionForm` 負責封裝用戶的請求參數, `ActionServlet` 負責轉發給 `Action` 進行處理;`JavaBean` 負責封裝底層的業務邏輯,包括數據庫的訪問。 `View` 部分由 `JSP` 實現,是用戶可以看到的視窗。 `Controller` 部分由系統核心控制器和業務邏輯控制器組成,前者負責攔截所有的 `HTTP` 請求,根據用戶請求決定是否轉移給后者,后者本身不具備處理能力,它調用 `Action` 來處理用戶請求。
`Spring` 框架的 `IOC`(控制反轉 `Inversion of Control`)技術使框架之間實現低耦合聚合。 `Spring` 框架的另外一個重要技術就是 `AOP`(面向切面編程 `Aspect Oriented Programming`),它是一種在不修改源碼的情況下,通過預編譯方式給程序統一添加功能的技術,利用它可以將事務或者異常信息的代碼從業務邏輯代碼中提取出來,實現獨立,在改變前者的時候,不會對后者造成任何影響,大大降低了框架內部的耦合性。