基於SSH框架實現的鮮花訂購系統
阿新 • • 發佈:2021-01-12
專案介紹
- 本系統使用Struts2+Spring+Hibernate架構,資料庫使用MySQL,連線池使用c3p0。
- 模仿花禮網進行前端設計與開發,實現網站導航、商品分類展示,商品詳情、商品檢索、購物車等功能。
- 使用EasyUI實現後臺對商品分類、商品資訊、使用者資訊、訂單資訊的管理,包括增刪改查,檔案上傳等。
專案適用人群
正在做畢設的學生,或者需要專案實戰練習的Java學習者
開發環境
- jdk 8
- intellij idea
- tomcat 8.5.40
- mysql 5.7
所用技術
- Struts2+Spring+Hibernate
- js+ajax
- easyUI
專案架構
專案截圖
-
註冊
-
首頁
-
商品詳情
-
購物車
-
管理端-類別管理
-
管理端-商品管理
-
管理端-訂單管理
資料庫配置
<!-- c3p0 資料來源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_flower?useUnicode=true&characterEncoding=utf8" /> <property name="user" value="root" /> <property name="password" value="root123" /> <!--初始化時獲取的連線數,取值應在minPoolSize與maxPoolSize之間。Default: 3 --> <property name="initialPoolSize" value="1" /> <!--連線池中保留的最小連線數。 --> <property name="minPoolSize" value="1" /> <!--連線池中保留的最大連線數。Default: 15 --> <property name="maxPoolSize" value="300" /> <!--最大空閒時間,60秒內未使用則連線被丟棄。若為0則永不丟棄。Default: 0 --> <property name="maxIdleTime" value="60" /> <!--當連線池中的連線耗盡的時候c3p0一次同時獲取的連線數。Default: 3 --> <property name="acquireIncrement" value="5" /> <!--每60秒檢查所有連線池中的空閒連線。Default: 0 --> <property name="idleConnectionTestPeriod" value="60" /> </bean>
關鍵程式碼
- 分頁物件
public class PageModel<T> {
// 當前頁號
private int pageNo = 1;
// 每頁記錄數
private int pageSize = 10;
// 總記錄數
private int recordCount;
// 總頁數
private int pageCount;
// 存放分頁資料的集合
private List<T> datas;
}
- struts.xml
<struts> <!--使用spring建立管理struts2的action操作 --> <constant name="struts.objectFactory" value="spring" /> <!-- 設定struts2的編碼為UTF8 --> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 不使用瀏覽器快取 --> <constant name="struts.serve.static.browserCache" value="false"></constant> <!-- 每次重新載入xml配置檔案 --> <constant name="struts.configuration.xml.reload" value="true"></constant> <!-- 啟用開發者模式 --> <constant name="struts.devMode" value="true"></constant> <!-- 不使用struts2提供的主題ui --> <constant name="struts.ui.theme" value="simple"></constant> <!-- 提供對萬用字元的支援 --> <constant name="strutsenableDynamicMethodInvocation" value="true" /> <!-- 需要攔截未登入使用者的包 --> <package name="login" namespace="/" extends="struts-default"> <!-- 配置攔截未登入使用者的攔截器 --> <interceptors> <interceptor name="userInter" class="com.flowershopping.tool.UserInterceptor"></interceptor> <interceptor-stack name="userStack"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="userInter"></interceptor-ref> </interceptor-stack> </interceptors> <!-- 需要攔截的action 登出 和 提交訂單 --> <!-- 設定預設攔截器 --> <default-interceptor-ref name="userStack"></default-interceptor-ref> <!-- 攔截結果處理 --> <global-results> <result name="login" type="redirect">/jsp/login/login.jsp</result> </global-results> <!-- 登出 --> <action name="logout" class="userAction" method="logout"> <result name="success">/jsp/index/index.jsp</result> </action> <!-- 提交訂單 --> <action name="addOrder" class="ordersAction" method="addOrder"> <result name="success">/jsp/shopping/orderAdded.jsp</result> </action> </package> <!-- 需要進行未登入管理員攔截的包 --> <package name="admin" namespace="/" extends="struts-default"> <!-- 配置攔截未登入管理員的攔截器 --> <interceptors> <interceptor name="adminInter" class="com.flowershopping.tool.AdminInterceptor"></interceptor> <interceptor-stack name="adminStack"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="adminInter"></interceptor-ref> </interceptor-stack> </interceptors> <!-- 需要攔截的action 檢視所有使用者 檢視訂單 新增商品 --> <!-- 設定預設攔截器 --> <default-interceptor-ref name="adminStack"></default-interceptor-ref> <!-- 攔截結果處理 --> <global-results> <result name="login" type="redirect">/jsp/login/admin.jsp</result> </global-results> <!-- 檢視所有使用者 --> <action name="findAllUsers" class="userAction" method="findAllUsers"> <result name="success">/jsp/admin/manageUsers.jsp</result> </action> <!-- 檢視訂單 --> <action name="findAllOrders" class="ordersAction" method="findAllOrders"> <result name="success">/jsp/admin/manageOrders.jsp</result> </action> <!-- 新增商品 --> <action name="addGoods" class="goodsAction" method="addGoods"> </action> </package> <!-- 其餘包 --> <package name="default" namespace="/" extends="struts-default,json-default" strict-method-invocation="false"> <global-results> <result name="jsonMap" type="json"> <param name="root">pageMap</param> </result> <result name="stream" type="stream"> <param name="inputName">inputStream</param> </result> </global-results> <!-- 商品分類 --> <action name="category_*" class="categoryAction" method="{1}"> <result name="findCategories_success">/jsp/index/header.jsp</result> </action> <!-- 商品資訊 --> <action name="goods_*" class="goodsAction" method="{1}"> <result name="findGoodsByCategory_success">/jsp/index/contentByCategory.jsp</result> <result name="findAllGoods_success">/jsp/index/content.jsp</result> <result name="findOne_success">/jsp/shopping/product.jsp</result> <result name="findGoodsByKey_success">/jsp/shopping/searchResult.jsp</result> <result name="findGoodsByKeys_success">/jsp/shopping/searchResult.jsp</result> </action> <!-- 使用者 --> <action name="user_*" class="userAction" method="{1}"> <result name="checkUser_success">/jsp/index/index.jsp</result> <result name="checkUser_error">/jsp/login/login.jsp</result> <result name="checkAdmin_success">/jsp/admin/main.jsp</result> <result name="checkAdmin_error">/jsp/login/admin.jsp</result> <result name="addUser_success">/jsp/index/index.jsp</result> <result name="updateUser_success">/jsp/login/userinfocenter.jsp</result> </action> <!-- 訂單 --> <action name="orders_*" class="ordersAction" method="{1}"> <result name="addToCart_success">/jsp/shopping/showCart.jsp</result> <result name="myOrder">/jsp/shopping/myOrder.jsp</result> <result name="updateCart_error">/jsp/shopping/showCartErro.jsp</result> <result name="login" type="redirect">/jsp/login/login.jsp</result> </action> </package> </struts>
資源下載地址:https://download.csdn.net/download/code_200/14122933
程式有問題聯絡程式幫
專案後續
其他ssh,ssm,springboot版本後續迭代更新,持續關注