對"易購網上商城"項目開發的總結

来源:https://www.cnblogs.com/superyucong/archive/2020/03/29/12593953.html
-Advertisement-
Play Games

本次項目開發的各模塊靈感來自於市面上已經成熟的各大電商項目(網上商城)、例如淘寶京東。項目開發時間為2020/2/27—2020/3/28。開發工具前期使用Eclipse創建的Dynamic Web項目(動態web項目),到中期使用IDEA開發工具將項目轉為Maven項目繼續開發(期間自學了Mave ...


本次項目開發的各模塊靈感來自於市面上已經成熟的各大電商項目(網上商城)、例如淘寶京東。項目開發時間為2020/2/27—2020/3/28。開發工具前期使用Eclipse創建的Dynamic Web項目(動態web項目),到中期使用IDEA開發工具將項目轉為Maven項目繼續開發(期間自學了Maven的相關生命周期和使用方法後才決定轉為Maven項目)。本項目使用Java語言作為後端開發語言。

此項目所用到的前端相關技術:Html+Css+Js+Layui+JQuery+Ajax+JSTL

後端用到的相關技術與工具:Spring+SpringMVC+MyBatis+MySQL+Tomcat

本項目使用的相關工具與框架版本:IDEA-2019.3  Maven-3.6.0  JDK-1.8  Spring+SpringMVC-5.2.4  MyBatis-3.2.8  MySQL-8.0.19 JSTL-1.2  Tomcat-8.5.41

本項目為大三時期在疫情期間完成,從瞭解電商項目的基本運營方式到需求分析、資料庫關係設計、後端實現、前端設計、前後端交互、上線前準備工作與測試、部署上線等工作均為獨立開發,用時一個月左右(因為開發期間的時間也用於做其它事情,加上此為本人第一個使用SSM開發的項目,所以開發時間略長),開發過程中也遇到了許許多多的大大小小的問題,得益於信息網路的發達還好都解決了,後續會列出開發中遇到的問題及我自己的解決方法。

本項目分為兩大模塊,第一是給客戶使用的網上商城,第二是給商城管理員使用的後臺管理系統。在開發接近尾聲的時候剛好遇上阿裡雲的高校學生“在家實踐”計劃的活動,便免費領取了一臺ECS用於項目部署上線。項目訪問地址:http://39.96.66.218:8080/EasyShopping

本項目擁有網上商城的基本功能,首頁展示最新商品(查詢十件後臺最新添加的商品)、熱賣商品(沒做商品被購買的總次數,就展示上架最久的5件商品吧)、商品分類展示(導航欄、下麵還有各類商品的總數)、商品詳情頁(商品詳細信息、商品的評論)、加入購物車、購買商品(從商品詳情頁購買、從購物車批量購買)、個人訂單列表(可查看詳細訂單商品、繼續支付未支付的訂單、刪除訂單)、個人信息修改(包括頭像上傳)、購物車查看(刪除、購買)、地址管理(增加、刪除)、用戶對已購買商品進行評論、商品的模糊查詢;後臺管理系統可允許管理員查看不同等級的管理員信息、查看商品信息(模糊查詢商品、修改商品、上架商品)、查看客戶信息、查看所有訂單列表(可查看訂單包含的商品信息)。

通過本項目的開發也讓我學習了一些jquery的事件,沒學js之前本人對js代碼有點反感,但其實只要自己親手去做一些js事件會發現很有意思,使用js對用戶的操作反饋更加人性化,特別是對於開發者來說使用js提交數據更加的靈活,以前只會使用按鈕對form表單提交數據,現在可以將提交事件寫在js中,不僅能提交數據,還能對數據的合法性按照自己的要求進行效驗;使用jquery的ajax可以完美配合spring框架提供的@RequestBody來接收json字元串並將json屬性名解析成java類所對應的屬性名,使用@ResponseBody可以按自己需求將字元串、java類、List集合、Map集合等數據結構返回給ajax,form表單提交和ajax提交可按照業務需要進行選擇。

在Controller控制層主要匹配前端各個請求,接收傳來的數據,使用spring管理的業務層bean調用業務層相關方法對數據進行處理,返回給前端相關數據。

在Service服務層主要處理相關業務邏輯,使用spring管理的持久層mapper(或dao)調用持久層相關方法完成相應的業務邏輯,包含與資料庫有關的操作也包含與資料庫無關的操作。

在Mapper持久層是操作資料庫的介面,配合Mapper.xml配置文件對資料庫進行各種操作,可以使用mybatis的逆向工程生成各個表的Mapper配置文件和Mapper介面,也可以根據自己業務需求手寫sql語句,提供相應的查詢結果給服務層。

例(加入購物車實現):

前端判斷session會話中有無用戶對象(判斷用戶是否登錄),如圖:

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 環境準備: 內網IP:192.168.0.36 軟體包版本/下載地址: mysql軟體包: wget https://dev.mysql.com/get/Downloads/mysql-5.6.24.tar.gzapache軟體包: wget https://mirrors.aliyun.com/a ...
  • 前言: 最近辭職找工作,比較有空,所以花了時間學習了一下docker,感覺這是一個有意思的技術。 我把最近的學習心得整理了一下,寫了這篇文章。由於docker我也是初學,沒經過項目實踐,對它理解不夠深刻。雖然文章中的知識點,我都查閱過多篇文章或者親身實踐印證,但儘管如此,還是難免有錯誤的地方,如果有 ...
  • 眼看著i.MXRT1170上市日期越來越近了,恩智浦軟硬體技術支持團隊也正在緊鑼密鼓地開發SDK以及參考設計。因為官方首次在i.MXRT1170 EVK板上(Rev.B)放了一片旺巨集的Raw NAND晶元,而i.MXRT當然是支持從Raw NAND啟動的,因此痞子衡打算為大家測一測Raw NAND的... ...
  • 本文主要對比,VBScript 中 CreateObject("WScript.Shell") 和 CreateObject("Shell.Application") 之間,有什麼不同。 代碼上的不同: 代碼如下: 這裡主要記錄下,兩種看似類似的方法,到底有什麼不同: 1. 首先它倆,來自於完全不同 ...
  • 代碼分享鏈接 https://pan.baidu.com/s/1UM0grvpttHW9idisiqa6rA 提取碼:hx7c 圖示 項目結構 1.SelectAllUser.jsp 1 <%@ page language="java" contentType="text/html; charset ...
  • 問題:scott用戶導入dmp文件,提示沒有DBA許可權。 解決方法: 1.授予dba角色許可權: grant dba to scott; 2.導入數據: imp scott/1234@myDB file=G:\ac43_620.dmp full=y 3.取消dba角色許可權: revoke dba fr ...
  • 在windows 10 64位操作系統中安裝Oracle win64 11g R2資料庫軟體,啟動SQL Developer卻提示缺少快捷方式,具體如下: 網上查閱參考了一些網友的解決方案,記錄如下: 1.在Oracle官方網站下載windows 64位的sqldeveloper安裝包zip文件。 ...
  • 一、下載下載oracle11g安裝文件,一般包括win64_11gR2_database_1of2和win64_11gR2_database_2of2 2個文件,下載完成後解壓到一個文件中: 下載文件: 解壓之後的文件夾: 二、準備1.配置 NET Framework 3.5 當然也可以離線安裝。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...