簡易購物車項目
這是一個用intellij IDEA做的簡易的javaweb項目排宰,開發(fā)環(huán)境使用的jdk1.8和tomcat8以及mysql數(shù)據(jù)庫张吉。
1.項目開發(fā)準備:
- 創(chuàng)建github倉庫
- 項目框架搭建
- 項目構建并同步倉庫
- 編寫所需業(yè)務邏輯
2.開發(fā)項目解決方案:
- github倉庫站上所屬存放的項目倉庫
- mysql數(shù)據(jù)庫中創(chuàng)建項目所需shopCartDB數(shù)據(jù)庫,用于儲存購物車項目所需數(shù)據(jù)
- 采用注解@WebServlet進行http請求響應
- 搭建jsp+servlet架構的技術框架窗看,基于c標簽及el表達式進行jsp頁面數(shù)據(jù)渲染,
c標簽引入方式:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
根據(jù)jdbc直連技術应役,編寫數(shù)據(jù)庫操作工具類诊胞,方便存儲數(shù)據(jù),代碼如下:
public class DBUtils {
String url = null; //連接地址
String username = null; //數(shù)據(jù)庫名
String password = null; //數(shù)據(jù)庫密碼
String driverClass = null; //連接驅動
private static DBUtils db = new DBUtils();
/**構建數(shù)據(jù)庫連接參數(shù)*/
private DBUtils() {
try {
url = "jdbc:mysql://localhost:3306/shopCartDb?useUnicode=true&characterEncoding=utf8";
username = "root";
password = "root123";
driverClass = "com.mysql.jdbc.Driver";
Class.forName(driverClass);
} catch (Exception e) {
e.printStackTrace();
}
}
/**構建數(shù)據(jù)庫連接對象*/
public Connection getConnection(){
Connection conn = null;
try {
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static DBUtils getInstance(){
return db;
}
}
3.項目功能:
- 注冊
- 登錄
- 找回密碼
- 商品列表
- 添加購物車
- 購物車刪除
- 購物車數(shù)量修改
- 購物車結算
4.工作內容:
本項目采用mysql數(shù)據(jù)庫進行儲存數(shù)據(jù)睦授,所以優(yōu)先搭建項目所需數(shù)據(jù)庫結構两芳,此項目有用戶表,商品表去枷,購物車表怖辆,結算表等信息。
利用搭建好的jsp+servlet框架提供http請求及響應視圖能力删顶,展示項目所需各個jsp頁面疗隶。根據(jù)響應顯示注冊頁面進行注冊操作。
根據(jù)注冊所填寫的帳號和密碼進行系統(tǒng)登錄翼闹,如忘記密碼斑鼻,可根據(jù)郵件動態(tài)驗證碼形式進行密碼找回,密碼采用騰訊QQ服務提供的SMTP服務器
進行驗證碼收發(fā)操作猎荠,系統(tǒng)進入后展示商品列表坚弱,利用c標簽將db入庫的數(shù)據(jù)進行動態(tài)渲染,el表達式進行數(shù)據(jù)取值展示关摇,添加購物車利用ajax請求
進行添加購物車荒叶、移除購物車的技術實現(xiàn),根據(jù)所添加的購物車列表數(shù)據(jù)输虱,可更改購物車的數(shù)量進行結算些楣,將購物車頁面數(shù)據(jù)進行復選框勾選模式。
可進行多個商品一起結算,利用js技術篩選出具體哪些商品進行勾選愁茁,根據(jù)勾選商品的數(shù)量及商品單價進行最終價格結算蚕钦。從而完成一系列的購物車技術實現(xiàn)
5.項目總結:
- jsp+servlet組合框架開發(fā),條理清晰的mvc框架
- 了解c標簽進行數(shù)據(jù)渲染及多方面的強大渲染能力鹅很,可以更合理動態(tài)展示復雜的數(shù)據(jù)結構
- 豐富學習了markdown擴充的語法,可以更直觀展示項目介紹文檔
- 合理利用jdbc直連技術嘶居,更加熟悉掌握對數(shù)據(jù)的增刪改查操作
- 鞏固java的基礎知識,并針對不足之處記性額外補充學習促煮,比如list結構及數(shù)組結構體的運用
- 熟悉ajax技術邮屁,能利用ajax技術針對get與post請求進行數(shù)據(jù)的傳遞和響應
6.部分代碼截圖:
-
商品列表代碼商品列表代碼
-
購物車列表代碼購物車列表代碼
-
結算后端代碼結算后端代碼
-
結算列表代碼結算列表代碼
7.項目效果:
-
登錄登錄
-
商品列表商品列表
-
購物車列表購物車列表
-
結算列表結算列表