Bài báo cáo môn học Lập trình Web đề tài "Website bán rau củ" | Học viện Công nghệ Bưu chính Viễn thông
Bài báo cáo môn học Lập trình Web đề tài "Website bán rau củ" của Học viện Công nghệ Bưu chính Viễn thông với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!
Preview text:
lOMoARcPSD| 10435767
BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH LẬP TRÌNH WEB
ĐỀ TÀI: WEBSITE BÁN RAU CỦ : : : lOMoARcPSD| 10435767 Mục lục I.
KHẢO SÁT VÀ PHÂN TÍCH HỆ
THỐNG.....................................................................................2 1.
Tên đề tài: Xây dựng website bán rau củ.........................................................................................2 2.
Sử dụng...........................................................................................................................................2 3.
Công cụ sử dụng.............................................................................................................................2 4.
Phân quyền và chức năng..............................................................................................................2 -
Người dùng chưa có tài khoản...................................................................................................2 -
Người dùng có tài khoản............................................................................................................2 -
Admin..........................................................................................................................................2 5.
Phân tích hệ thống..........................................................................................................................2 II.
GIAO DIỆN....................................................................................................................................4 1.
Trang chủ........................................................................................................................................4 2.
Trang đăng kí và đăng nhập..........................................................................................................6 3.
Trang xem sản phẩm......................................................................................................................7 4.
Trang đặt hàng...............................................................................................................................8 5.
Trang thông tin liên hệ...................................................................................................................9 6.
Trang xem đơn đặt hàng của người dùng...................................................................................10 7.
Trang Admin quản lý sản phẩm..................................................................................................11 8.
Trang Admin quản lý người dùng...............................................................................................11 9.
Trang Admin quản lí order.........................................................................................................12 III.
TÍNH NĂNG.................................................................................................................................13 1.
Tìm kiếm.......................................................................................................................................13 2.
Đăng kí – đăng nhập.....................................................................................................................13 3.
Sửa thông tin người dùng.............................................................................................................18 4.
Xem danh sách đơn đặt hàng......................................................................................................18 5.
Thêm vào giỏ hàng, xóa khỏi giỏ hàng, đặt hàng.......................................................................18
a. Thêm giỏ hàng..........................................................................................................................18 b.
Xóa sản phẩm khỏi giỏ hàng....................................................................................................20 c.
Tiến hàng đặt hàng...................................................................................................................21 6.
Liên lạc..........................................................................................................................................23 7.
Tính năng quản lý (Admin).........................................................................................................25
a. Quản lý sản phẩm.....................................................................................................................25 b.
Thêm sản phẩm.........................................................................................................................25 c.
Sửa sản phẩm............................................................................................................................26 d.
Thêm người dùng......................................................................................................................28 lOMoARcPSD| 10435767 e.
Quản lý giao hàng.....................................................................................................................28 I.
KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG
1. Tên đề tài: Xây dựng website bán rau củ 2. Sử dụng - Spring MVC, SQL Server
- Hibernate, Validation, Bean, Email
- HTML, CSS, Bootstrap, Jquery và một vài thư viện được thiết kế sẵn.
3. Công cụ sử dụng - Microsoft SQL Server 2019 - Eclispe IDE.
4. Phân quyền và chức năng
- Có 3 nhóm phân quyền: Người dùng chưa có tài khoản, Người dùng có tài khoản, Admin
- Người dùng chưa có tài khoản Tìm kiếm sản phẩm Xem thông tin sản phẩm Đăng kí tài khoản Gửi phản hồi
- Người dùng có tài khoản
Có các quyền như người dùng chưa có tài khoản
Xem đơn hàng và trạng thái đặt hàng Sửa thông tin cá nhân Đặt hàng - Admin
Quản lí sản phẩm (thêm, sửa) Quản lí người dùng
Quản lí đơn đặt hàng 5. Phân tích hệ thống Gồm 5 bảng: - Users - Products - Orders - OrderDetails - Categories
Mô hình Diagram: lOMoARcPSD| 10435767
Chi tiết bảng: a. Users: c. Orders b. Products d. OrderDetails e. Categories II. GIAO DIỆN 1. Trang chủ lOMoARcPSD| 10435767 lOMoARcPSD| 10435767 lOMoARcPSD| 10435767
2. Trang đăng kí và đăng nhập lOMoARcPSD| 10435767
3. Trang xem sản phẩm lOMoARcPSD| 10435767 4. Trang đặt hàng lOMoARcPSD| 10435767
5. Trang thông tin liên hệ lOMoARcPSD| 10435767
6. Trang xem đơn đặt hàng của người dùng
7. Trang Admin quản lý sản phẩm lOMoARcPSD| 10435767
8. Trang Admin quản lý người dùng
- Quản lí người dùng - Thêm người dùng lOMoARcPSD| 10435767
9. Trang Admin quản lí order III. TÍNH NĂNG 1. Tìm kiếm
- Tìm kiếm trong cơ sở dữ liệu theo từ khóa được nhập vào sau đó trả về danh sách các sản phẩm lOMoARcPSD| 10435767
2. Đăng kí – đăng nhập
- Đăng kí, đăng nhập: Sử dụng validation để kiểm tra lOMoARcPSD| 10435767
- Trước tiên, nó sử dụng phương thức authenticateUser của đối tượng userDao
đểxác thực người dùng. Nếu xác thực thành công, nó tạo một đối tượng
HttpSession để lưu trữ thông tin đăng nhập và chuyển hướng người dùng đến các trang tương ứng.
- Nếu xác thực không thành công, phương thức kiểm tra xem tài khoản và mật
khẩucó được nhập không và thêm thông báo tương ứng vào mô hình model. Sau
đó, nó trả về trang Login/login để hiển thị lại form đăng nhập với thông báo lỗi.
- Phương thức logout được sử dụng để đăng xuất người dùng. Nó nhận đối
tượngHttpServletRequest và HttpSession. Phương thức sử dụng phương thức
removeAttribute của đối tượng HttpSession để xóa thuộc tính loggedInUser. Sau
đó, nó chuyển hướng đến trang được chỉ định trong request.getHeader("Referer"),
để quay lại trang trước đó. lOMoARcPSD| 10435767 lOMoARcPSD| 10435767
- Sau khi đăng ký thông tin đăng ký sẽ được lưu vào cơ sở dữ liệu bằng cách sửdụng
Session và Transaction để bắt đầu một giao dịch và thực hiện việc thêm mới sản
phẩm. Nếu tên người dùng đã tồn tại thì sẽ trả về trang Login/SignUp và thông báo lỗi. lOMoARcPSD| 10435767 lOMoARcPSD| 10435767
3. Sửa thông tin người dùng
- Người dùng có thể tự sửa thông tin của mình.
4. Xem danh sách đơn đặt hàng
- Khách hàng có thể xem danh sách các đơn hàng và trạng thái của đơn
5. Thêm vào giỏ hàng, xóa khỏi giỏ hàng, đặt hàng. a. Thêm giỏ hàng
- Sử dụng session để lưu thông tin giỏ hàng
- Phương thức addCart nhận vào HttpServletRequest, HttpSession và id
củasản phẩm được chọn. Đầu tiên, nó kiểm tra xem giỏ hàng có tồn tại trong
session hay không. Nếu không tồn tại, nó tạo một đối tượng HashMap mới. lOMoARcPSD| 10435767
- Sau đó, phương thức gọi addCart để thêm sản phẩm vào giỏ hàng.
Phươngthức này truyền id của sản phẩm và giỏ hàng hiện tại vào để thực
hiện việc thêm. Kết quả trả về là một giỏ hàng đã được cập nhật.
- Sau khi cập nhật giỏ hàng, phương thức lưu giỏ hàng vào session bằngcách
gán giỏ hàng vào thuộc tính Cart của session. Đồng thời, nó cũng lưu tổng
giá trị của giỏ hàng bằng cách gọi phương thức totalPrice của cartDao và lưu
vào thuộc tính TotalPrice của session.
- Cuối cùng, phương thức chuyển hướng đến trang được chỉ định
trongrequest.getHeader("Referer") để quay lại trang trước đó sau khi thêm
sản phẩm vào giỏ hàng.
- Tuy nhiên, nếu người dùng đăng xuất thì giỏ hàng sẽ biến mất. lOMoARcPSD| 10435767
b. Xóa sản phẩm khỏi giỏ hàng
- Tương tự như chức năng thêm giỏ hàng lOMoARcPSD| 10435767
c. Tiến hàng đặt hàng
- Chức năng này người dùng cần phải đăng nhập để có thể đặt hàng.
- Người dùng cần phải điền đầy đủ thông tin để có thể hoàn thành việc đặt hàng.
- Sau khi đặt hàng thì toàn bộ sản phẩm trong giỏ hàng sẽ được httpSession xóakhỏi giỏ hàng. lOMoARcPSD| 10435767 lOMoARcPSD| 10435767 lOMoARcPSD| 10435767 6. Liên lạc
7. Tính năng quản lý (Admin)
a. Quản lý sản phẩm lOMoARcPSD| 10435767
- Người quản lý có thể bật/tắt sản phẩm để hiển thị hoặc không hiển thị lên trang giao
diện người dùng bằng cách thay đổi trạng thái của sản phẩm. b. Thêm sản phẩm
- Người quản lý sẽ nhập đầy đủ các thông tin của sản phẩm mới để có thể lưu vào cơ sở dữ liệu. lOMoARcPSD| 10435767 c. Sửa sản phẩm
Phương thức editProduct nhận các tham số là ModelMap và
@ModelAttribute("editProduct") Products editProduct. Trong đó: lOMoARcPSD| 10435767
ModelMap được sử dụng để truyền dữ liệu giữa Controller và View.
@ModelAttribute("editProduct") sử dụng để gắn kết đối tượng Products được
truyền từ form với biến editProduct trong phương thức.
Sau đó, phương thức mở một phiên làm việc với cơ sở dữ liệu, bắt đầu một
giao dịch và thực hiện việc cập nhật thông tin sản phẩm.
d. Thêm người dùng
- Giống với thêm sản phẩm.
e. Quản lý giao hàng
- Giống với quản lý sản phẩm