BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
XÂY DỰNG WEBSITE HOCWEB.VN
HƯỚNG DẪN THIẾT KẾ VÀ TRIỂN KHAI
ỨNG DỤNG WEB TRÊN NỀN TẢNG MÃ
NGUỒN MỞ JAVA
Ngành
: Hệ thống thông tin
Niên khoá
: 2007-2011
Lớp
: DH07DTH
Sinh viên thực hiện
: Hoàng Anh Hòa
Nguyễn Thị Thúy Lữ
Nguyễn Hoàng Sơn
Lê Nhật Tùng
TP.HỒ CHÍ MINH, 15 tháng 8 năm 2011
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
XÂY DỰNG WEBSITE HOCWEB.VN
HƯỚNG DẪN THIẾT KẾ VÀ TRIỂN KHAI
ỨNG DỤNG WEB TRÊN NỀN TẢNG MÃ
NGUỒN MỞ JAVA
Giáo viên hướng dẫn:
Sinh viên thực hiện:
ThS. Mai Anh Thơ
Hoàng Anh Hòa
07130040
Nguyễn Thị Thúy Lữ
07130073
Nguyễn Hoàng Sơn
07130108
Lê Nhật Tùng
07130142
TP.HỒ CHÍ MINH, 15 tháng 8 năm 2011
CÔNG TRÌNH HOÀN TẤT TẠI
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
Cán bộ hướng dẫn: ThS. Mai Anh Thơ
Cán bộ phản biện: ThS. Nguyễn Thanh Phước
Luận văn cử nhân được bảo vệ tại HỘI ĐỒNG CHẤM LUẬN VĂN CỬ
NHÂN TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM ngày 31 tháng 8 năm 2011.
Bộ Giáo Dục và Đào Tạo
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Trường ĐH NÔNG LÂM TpHCM
Độc Lập-Tự Do-Hạnh Phúc
NHIỆM VỤ LUẬN VĂN CỬ NHÂN
Họ tên sinh viên: HOÀNG ANH HÒA
Phái: Nam
Ngày tháng năm sinh: 12/09/1989
Nơi sinh: Bắc Giang
Chuyên ngành: Mạng máy tính
Ngành: Công nghệ thông tin
Họ tên sinh viên: NGUYỄN THỊ THÚY LỮ
Phái: Nữ
Ngày tháng năm sinh: 12/10/1988
Nơi sinh: Bình Phước
Chuyên ngành: Mạng máy tính
Ngành: Công nghệ thông tin
Họ tên sinh viên: NGUYỄN HOÀNG SƠN
Phái: Nam
Ngày tháng năm sinh: 04/12/1989
Nơi sinh: TP Hồ Chí Minh
Chuyên ngành: Hệ thống thông tin
Ngành: Công nghệ thông tin
Họ tên sinh viên: LÊ NHẬT TÙNG
Phái: Nam
Ngày tháng năm sinh: 11/07/1989
Nơi sinh: Trà Vinh
Chuyên ngành: Mạng máy tính
Ngành: Công nghệ thông tin
I. TÊN ĐỀ TÀI: Xây dựng website hocweb.vn hướng dẫn thiết kế và triển khai
ứng dụng web trên nền tảng mã nguồn mở java
II. NHIỆM VỤ VÀ NỘI DUNG:
Nhiệm vụ:
- Tìm hiểu xây dựng website HOCWEB.VN hướng dẫn học thiết kế và triển khai
một ứng dụng web.
- Giới thiệu, hướng dẫn và so sánh một số công nghệ web hiện nay trên nền tảng mã
nguồn mở Java.
Nội dung nghiên cứu:
- Tìm hiểu các ngôn ngữ thiết kế web: HTML, CSS, Javascript…
- Tìm hiểu các công nghệ web trên nền tảng mã nguồn mở Java: JSP/Servlet,
framework ZK…
- Xây dựng website hướng dẫn học thiết kế và triển khai ứng dụng web vào thực tế
HOCWEB.VN.
- Xây dựng bộ bài học hướng dẫn thiết kế, hiện thực và triển khai một ứng dụng web
bằng công nghệ JSP/Servlet.
III. NGÀY GIAO NHIỆM VỤ: 20/04/2011
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 31/08/2011
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Mai Anh Thơ
Ngày
/ /
CÁN BỘ HƯỚNG DẪN
Ngày
/ /
CHỦ NHIỆM CHUYÊN NGÀNH
Ngày
/ /
KHOA CNTT
LỜI CẢM ƠN
Trong suốt quá trình học tập và hoàn thành luận văn, chúng
em đã nhận được sự hướng dẫn, giúp đỡ quý báu của Cha Mẹ,
Thầy Cô và các bạn.
Trước hết, chúng con xin nói lên lòng biết ơn sâu sắc đối với
Cha Mẹ đã chăm sóc, nuôi dạy chúng con nên người.
Với lòng kính trọng và biết ơn sâu sắc, chúng em xin được bày
tỏ lời cảm ơn chân thành tới Ban Giám Hiệu cùng toàn thể Thầy Cô
Khoa Công nghệ thông tin trường Đại Học Nông Lâm đã truyền đạt
cho chúng em những kiến thức quý báu, đồng thời tạo điều kiện
thuận lợi giúp chúng em hòan thành tốt luận văn tốt nghiệp.
Đặc biệt, chúng em xin gửi lời tri ân chân thành nhất đến Cô
Mai Anh Thơ, người đã luôn quan tâm giúp đỡ, chỉ bảo và động
viên chúng em trong suốt quá trình thực hiện luận văn.
Bên cạnh đó, chúng em xin gửi lời cám ơn đến các bạn đã hợp
tác, cung cấp tư liệu, giúp chúng em hoàn thành các bài học, ứng
dụng, ví dụ góp phần làm cho luận văn thêm giá trị.
Chúng em đồng gửi lời cám ơn đến các anh chị, bạn bè sinh
viên cùng khoa đã luôn bên cạnh động viên tinh thần, chia sẻ kinh
nghiệm quý báu góp phần cho thành công của luận văn.
Mặc dù chúng em đã cố gắng hoàn thành đồ án trong phạm vi
và khả năng cho phép, nhưng chắc chắn không tránh khỏi những
thiếu sót nhất định. Chúng em kính mong nhận được sự chỉ bảo của
quý Thầy Cô và sự góp ý chân thành của các bạn.
Chúng em kính chúc Cha Mẹ luôn dồi dào sức khỏe, kính chúc
quý Thầy Cô luôn khỏe mạnh, và thành công trong công tác trồng
người, mến chúc các bạn luôn vững vàng trên con đường học vấn
và sự nghiệp.
Xin chân thành cám ơn!
DANH SÁCH CHỮ VIẾT TẮT
CNTT
Công Nghệ Thông Tin
CSDL
Cơ Sở Dữ Liệu
CPU
Central Processing Unit
URL
Uniform Resource Locator
HTTP
Hyper Text Transfer Protocol
HTTPS
Hypertext Transfer Protocol Secure
FTP
File Transfer Protocol
SDK
Software Development Kit
JDK
Java Development Kit
I
DANH MỤC CÁC HÌNH
Trang
Hình 1: Website w3schools.com ......................................................................4
Hình 2: Website www.javapassion.com ...........................................................6
Hình 3: Các khóa học của javapassion .............................................................7
Hình 4: Sơ đồ kiến trúc hệ thống ....................................................................18
Hình 5: Sơ đồ kiến trúc phần mềm .................................................................18
Hình 6: Mô hình Usecase tổng quát................................................................19
Hình 7: Sơ đồ Usecase cho người dùng Khách ..............................................20
Hình 8: Sơ đồ Activity của Usecase đăng nhập ..............................................21
Hình 9: Sơ đồ Activity của Usecase đăng ký .................................................22
Hình 10: Sơ đồ Activity của Usecase quên mật khẩu.....................................24
Hình 11: Sơ đồ Activity của Usecase xem Công cụ .......................................25
Hình 12: Sơ đồ Activity của Usecase tìm kiếm Tài liệu ................................26
Hình 13: Sơ đồ Activity của Usecase vào Diễn đàn .......................................27
Hình 14: Sơ đồ Activity của Usecase xem Liên kết .......................................28
Hình 15: Sơ đồ Activity của Usecase xem Bài học và Ứng dụng ..................29
Hình 16: Sơ đồ Usecase cho người dùng Thành viên.....................................30
Hình 17: Sơ đồ Activity của Usecase đăng xuất.............................................31
Hình 18: Sơ đồ Activity của Usecase chỉnh sửa thông tin Tài khoản ............32
Hình 19: Sơ đồ Activity của Usecase tìm kiếm Câu hỏi đã đặt......................33
Hình 20: Sơ đồ Activity của Usecase tải Công cụ ..........................................34
Hình 21: Sơ đồ Activity của Usecase tải Mã nguồn .......................................35
Hình 22: Sơ đồ Activity của Usecase đặt Câu hỏi ..........................................36
Hình 23: Sơ đồ Activity của Usecase tải Tài liệu ...........................................37
Hình 24: Sơ đồ Usecase cho người dùng Quản trị .........................................38
Hình 25: Sơ đồ Usecase Quản lý Người dùng ................................................39
Hình 26: Sơ đồ Activity của Usecase xóa Người dùng ..................................40
Hình 27: Sơ đồ Activity của Usecase chỉnh sửa thông tin Người dùng .........41
II
Hình 28: Sơ đồ Activity của Usecase tìm kiếm Người dùng..........................42
Hình 29: Sơ đồ Usecase Quản lý Tài liệu .......................................................42
Hình 30: Sơ đồ Activity của Usecase thêm Tài liệu mới ...............................43
Hình 31: Sơ đồ Activity của Usecase cập nhật Tài liệu .................................44
Hình 32: Sơ đồ Usecase Quản lý Công cụ ......................................................45
Hình 33: Sơ đồ Activity của Usecase thêm Công cụ mới ..............................46
Hình 34: Sơ đồ Activity của Usecase cập nhật Công cụ ................................47
Hình 35: Sơ đồ Activity của Usecase tìm kiếm Công cụ ...............................48
Hình 36: Sơ đồ Usecase Quản lý Câu hỏi.......................................................48
Hình 37: Sơ đồ Activity của Usecase trả lời Câu hỏi mới nhanh ...................49
Hình 38: Sơ đồ Activity của Usecase trả lời Câu hỏi mới ..............................51
Hình 39: Sơ đồ Usecase Quản lý Mã tải về ....................................................51
Hình 40: Sơ đồ Usecase Quản lý Mã nguồn ...................................................53
Hình 41: Sơ đồ Activity của Usecase thêm Mã nguồn mới ...........................54
Hình 42: Sơ đồ Activity của Usecase cập nhật Mã nguồn .............................55
Hình 43: Sơ đồ Activity của Usecase tìm kiếm Mã nguồn ............................56
Hình 44: Sơ đồ Usecase Quản lý Bài học và Quản lý Ứng dụng ...................57
Hình 45: Sơ đồ Activity của Usecase thêm Bài học mới ...............................58
Hình 46: Sơ đồ Activity của Usecase cập nhật Bài học .................................60
Hình 47: Sơ đồ Activity của Usecase xóa Bài học .........................................61
Hình 48: Sơ đồ Activity của Usecase thêm Công cụ liên quan ......................62
Hình 49: Sơ đồ Activity của Usecase thêm Ứng dụng liên quan ...................63
Hình 50: Sơ đồ Activity của Usecase thêm Bài học liên quan .......................64
Hình 51: Sơ đồ Activity của Usecase thêm Ứng dụng mới ............................65
Hình 52: Sơ đồ Activity của Usecase cập nhật Ứng dụng..............................66
Hình 53: Sơ đồ Activity của Usecase xóa Ứng dụng .....................................67
Hình 54: Sơ đồ Activity của Usecase thêm Mã nguồn liên quan ...................68
Hình 55: Sơ đồ Usecase Quản lý nội dung Bài học hoặc Ứng dụng ..............69
Hình 56: Sơ đồ Activity của Usecase thêm Danh mục mới ...........................70
III
Hình 57: Sơ đồ Activity của Usecase xóa Danh mục .....................................71
Hình 58: Sơ đồ Activity của Usecase cập nhật Danh mục .............................73
Hình 59: Sơ đồ Usecase Quản lý Trang..........................................................73
Hình 60: Sơ đồ Activity của Usecase thêm Trang mới ..................................74
Hình 61: Sơ đồ Activity của Usecase xóa Trang ............................................75
Hình 62: Sơ đồ Activity của Usecase cập nhật Trang ....................................77
Hình 63: Sơ đồ Usecase Quản lý Bài viết.......................................................77
Hình 64: Sơ đồ Activity của Usecase thêm Bài viết.......................................78
Hình 65: Sơ đồ Activity của Usecase xóa Bài viết .........................................79
Hình 66: Sơ đồ Activity của Usecase cập nhật Bài viết .................................81
Hình 67: Sơ đồ Usecase Quản lý Ví dụ ..........................................................81
Hình 68: Sơ đồ Activity của Usecase thêm Ví dụ mới ...................................82
Hình 69: Sơ đồ Activity của Usecase xóa Ví dụ ............................................83
Hình 70: Sơ đồ Activity của Usecase xóa Ví dụ ............................................84
Hình 71: Sơ đồ lớp của gói vn.hocweb.entity.................................................86
Hình 72: Sơ đồ lớp của gói vn.hocweb.dao.interface .....................................87
Hình 73: Sơ đồ lớp của gói vn.hocweb.dao.implement ..................................88
Hình 74:Sơ đồ lớp của gói vn.hocweb.dao.implement (tiếp theo) .................90
Hình 75: Sơ đồ Cơ sở dữ liệu (tổng quan) ......................................................91
Hình 76: Sơ đồ cơ sở dữ liệu chi tiết cấu trúc của Bài học hoặc Ứng dụng ...92
Hình 77: Sơ đồ cơ sở dữ liệu chi tiết các quan hệ của Bài học ......................93
Hình 78: Sơ đồ cơ sở dữ liệu chi tiết Bài học và Công cụ..............................94
Hình 79: Sơ đồ cơ sở dữ liệu chi tiết Bài học và Ứng dụng liên quan ...........95
Hình 80: Sơ đồ cơ sở dữ liệu chi tiết Bài học và Ứng dụng ...........................95
Hình 81: Sơ đồ cơ sở dữ liệu chi tiết Ứng dụng và Mã nguồn .......................96
Hình 82: Sơ đồ cơ sở dữ liệu chi tiết Bài học, Ứng dụng và Câu hỏi ............97
Hình 83: Sơ đồ các trang quản trị ...................................................................99
Hình 84: Sơ đồ lớp của gói Entity của Shopping Online .............................100
Hình 85: Sơ đồ lớp DAO của gói Entity của Shopping Online ....................101
IV
Hình 86: Sơ đồ quan hệ Cơ sở dữ liệu của Shopping Online .......................101
Hình 94: Sơ đồ Collaboration của chức năng Đăng ký Tài khoản ...............102
Hình 95: Sơ đồ lớp của chức năng Đăng ký Tài khoản ................................103
Hình 96: Giao diện trang signup.jsp .............................................................104
Hình 97: Cấu hình file web.xml bằng Eclipse ..............................................110
Hình 87: Sơ đồ Collaboration chức năng chỉnh sửa thông tin Người dùng .125
Hình 88: Sơ đồ lớp chức năng chỉnh sửa thông tin Người dùng ..................126
Hình 89: Giao diện trang chỉnh sửa thông tin người dùng ...........................126
Hình 90: Sơ đồ Collaboration của chức năng Xóa Người dùng ...................136
Hình 91: Sơ đồ lớp của chức năng Xóa Người dùng ....................................137
Hình 92: Sơ đồ Collaboration của chức năng Tìm Người dùng ...................140
Hình 93: Sơ đồ lớp của chức năng Tìm Người dùng ....................................141
Hình 98: Sơ đồ Collaboration của chức năng Đăng nhập – Đăng xuất ........144
Hình 99: Sơ đồ lớp của chức năng Đăng nhập - Đăng xuất .........................145
Hình 100: Giao diện trang userLogin.jsp......................................................146
Hình 101: Sơ đồ Activity của chức năng Quản lý Thể loại ..........................151
Hình 102: Sơ đồ cấu trúc thư mục của chức năng Quản lý Thể loại ............152
Hình 103: Sơ đồ các trang giao diện của chức năng Quản lý Thể loại ........153
Hình 104: Giao diện trang login.jsp..............................................................154
Hình 105: Giao diện trang list_category.jsp .................................................154
Hình 106: Giao diện trang add_category.jsp ................................................155
Hình 107: Giao diện trang edit_category.jsp ................................................156
Hình 108: Giao diện trang list_category.jsp khi xóa Thể loại ......................157
Hình 109: Giao diện trang list_product.jsp...................................................158
Hình 110: Giao diện trang add_product.jsp ..................................................159
Hình 111: Giao diện trang edit_product.jsp..................................................160
Hình 112: Giao diện trang list_product.jsp khi xóa Sản phẩm .....................160
Hình 113: Giao diện trang list_product_image.jsp .......................................161
Hình 114: Giao diện trang add_product_image.jsp ......................................162
V
Hình 115: Giao diện trang edit_product_image.jsp ......................................163
Hình 116: Giao diện trang list_product_image.jsp khi xóa Hình ảnh ..........164
Hình 117: Sơ đồ lớp của gói shop.data .........................................................175
Hình 118: Sơ đồ Collaboration của chức năng Thêm Thể loại ....................198
Hình 119: Sơ đồ lớp của chức năng Thêm Thể loại .....................................199
Hình 120: Sơ đồ Collaboration của chức năng Sửa Thể loại .......................214
Hình 121: Sơ đồ lớp của chức năng Sửa thể loại ..........................................215
Hình 122: Sơ đồ Collaboration của chức năng Xóa Thể loại .......................228
Hình 123: Sơ đồ lớp của chức năng Xóa Thể loại ........................................229
Hình 124: Sơ đồ lớp của chức năng Xem danh sách Sản phẩm ...................231
Hình 125:Sơ đồ Activity của chức năng Quản lý Sản phẩm ........................238
Hình 126: Sơ đồ lớp của chức năng Quản lý Sản phẩm ...............................239
Hình 127: Sơ đồ các trang giao diện của chức năng Quản lý Sản phẩm ......240
Hình 128: Sơ đồ Collaboration của chức năng Thêm Sản phẩm..................241
Hình 129: Sơ đồ lớp của chức năng Thêm Sản phẩm ..................................242
Hình 130: Sơ đồ Collaboration của chức năng Xóa Sản phẩm ....................272
Hình 131: Sơ đồ lớp của chức năng Xóa Sản phẩm .....................................273
Hình 140: Mô hình Collaboration của chức năng hiển thị sản phẩm ...........276
Hình 141: Sơ đồ lớp của chức năng hiển thị sản phẩm ................................277
Hình 132: Sơ đồ Collaboration của chức năng Quản lý Giỏ hàng ..............284
Hình 133: Sơ đồ lớp của chức năng Quản lý Giỏ hàng ................................285
Hình 134: Giao diện trang danh sách các đơn hàng .....................................286
Hình 135: Giao diện trang chi tiết một đơn đặt hàng ...................................286
Hình 136: Giao diện trang chi tiết một đơn hàng đã duyệt...........................287
Hình 137: Sơ đồ lớp của chức năng Quản lý Đơn hàng ...............................294
Hình 138: Sơ đồ Collaboration của chức năng Quản lý Đơn hàng ..............295
Hình 139: Giao diện các trang mua hàng .....................................................300
VI
DANH MỤC CÁC BẢNG
Trang
Bảng 1: Bảng User ........................................................................................124
Bảng 2: Bảng Category .................................................................................164
Bảng 3: Bảng Product ...................................................................................165
Bảng 4: Bảng ProductImage .........................................................................166
Bảng 5: Bảng Invoice....................................................................................285
Bảng 6: Bảng OrderDetail ............................................................................297
Bảng 7: Bảng OrderTable .............................................................................297
Bảng 8: Bảng Invoice....................................................................................298
VII
TÓM TẮT
Luận văn: “Xây dựng website HOCWEB.VN hướng dẫn học thiết kế và triển
khai ứng dụng web trên nên tảng mã nguồn mở Java”.
Mục tiêu của đề tài là xây dựng website hướng dẫn học thiết kế web dựa trên
nền tảng ngôn ngữ Java. Thông qua website này người dùng sẽ tìm được thông tin
về các công nghệ thiết kế web như HTML, CSS, Javascript… ngoài ra người học sẽ
được hướng dẫn xây dựng một ứng dụng web hoàn chỉnh từng bước bằng một bộ bài
học từ đầu đến cuối.
Với mục tiêu giúp cho những người học có cái nhìn rõ ràng đầu tiên về thiết
kế web, chúng tôi lựa chọn ngôn ngữ JSP/Servlet để xây dựng một bộ bài học giúp
người dùng có thể nắm bắt từ những kiến thức căn bản cho đến nâng cao và hoàn
chỉnh một ứng dụng web.
VIII
MỤC LỤC
Trang
DANH SÁCH CHỮ VIẾT TẮT .................................................................... I
DANH MỤC CÁC HÌNH ............................................................................. II
DANH MỤC CÁC BẢNG ..........................................................................VII
TÓM TẮT .................................................................................................. VIII
CHƯƠNG 1: TổNG QUAN ...........................................................................1
1.1.
LÝ DO CHọN Đề TÀI .................................................................................... 1
1.2.
MụC ĐÍCH Đề TÀI ........................................................................................ 2
1.3.
ĐốI TƯợNG, PHạM VI NGHIÊN CứU ............................................................... 2
1.4.
QUÁ TRÌNH NGHIÊN CứU ............................................................................ 2
1.5.
KếT QUả, MụC TIÊU CầN ĐạT ĐƯợC .............................................................. 3
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG ...................................................4
2.1.
TÌNH HÌNH NGHIÊN CứU NƯớC NGOÀI ......................................................... 4
2.1.1.
Một số website hướng dẫn học web ở nước ngoài ............................... 4
2.1.1.1. Website www.w3schools.com ....................................................... 4
2.1.1.1.1. Các công nghệ hướng dẫn....................................................... 4
2.1.1.1.2. Cách trình bày nội dung .......................................................... 5
2.1.1.2. Website www.javapassion.com ..................................................... 6
2.1.1.2.1. Các công nghệ hướng dẫn....................................................... 6
2.1.1.2.2. Cách trình bày nội dung .......................................................... 7
2.1.1.3. Các website hướng dẫn học web của nhà sản xuất ........................ 7
2.1.1.4. Các diễn đàn ................................................................................... 8
2.1.2.
Ưu điểm................................................................................................ 8
2.1.3.
Hạn chế ................................................................................................ 8
2.2.
TÌNH HÌNH NGHIÊN CứU TRONG NƯớC. ....................................................... 9
2.2.1.
Một số website hướng dẫn học web trong nước .................................. 9
2.2.2.
Ưu điểm................................................................................................ 9
2.2.3.
Hạn chế ................................................................................................ 9
2.2.4.
Kết luận và giải pháp ........................................................................... 9
IX
CHƯƠNG 3: XÂY DỰNG WEBSITE HOCWEB.VN .............................11
3.1.
PHÁT BIểU BÀI TOÁN ................................................................................ 11
3.2.
YÊU CầU Hệ THốNG ................................................................................... 13
3.2.1.
Yêu cầu phần cứng ............................................................................. 13
3.2.2.
Yêu cầu phần mềm ............................................................................. 13
3.3.
YÊU CầU CHứC NĂNG ............................................................................... 14
3.3.1.
Đối với Người dùng Khách ................................................................ 14
3.3.1.1. Đăng nhập .................................................................................... 14
3.3.1.2. Đăng ký ........................................................................................ 14
3.3.1.3. Quên mật khẩu ............................................................................. 14
3.3.1.4. Xem Công cụ tiện ích ................................................................... 14
3.3.1.5. Tìm kiếm và xem Tài liệu hữu ích của Bài học ........................... 14
3.3.1.6. Vào Diễn đàn ............................................................................... 14
3.3.1.7. Xem Liên kết hữu ích khác .......................................................... 15
3.3.1.8. Xem Bài học và Xem Ứng dụng .................................................. 15
3.3.2.
Đối với Nguời dùng Thành viên ........................................................ 15
3.3.2.1. Đăng xuất ..................................................................................... 15
3.3.2.2. Chỉnh sửa thông tin Tài khoản ..................................................... 15
3.3.2.3. Đặt câu hỏi ................................................................................... 15
3.3.2.4. Tìm kiếm câu hỏi đã đặt ở Bài học hoặc Ứng dụng..................... 16
3.3.2.5. Tải Công cụ hữu ích ..................................................................... 16
3.3.2.6. Tải Mã nguồn ............................................................................... 16
3.3.2.7. Tải Tài liệu ................................................................................... 16
3.3.2.8. Tùy chỉnh Ví dụ trực tuyến .......................................................... 16
3.3.3.
Đối với Nguời dùng Nguời quản trị ................................................... 16
3.3.3.1. Quản lý Nguời dùng ..................................................................... 16
3.3.3.2. Quản lý Tài liệu ............................................................................ 16
3.3.3.3. Quản lý Công cụ .......................................................................... 16
3.3.3.4. Quản lý Câu hỏi ........................................................................... 17
3.3.3.5. Quản lý Mã tải về ......................................................................... 17
3.3.3.6. Quản lý Mã nguồn........................................................................ 17
3.3.3.7. Quản lý Bài học và Ứng dụng ...................................................... 17
3.4.
KIẾN TRÚC WEBSITE HOCWEB.VN ....................................................... 18
X
3.4.1.
Sơ đồ kiến trúc hệ thống .................................................................... 18
3.4.2.
Sơ đồ kiến trúc phần mềm ................................................................. 18
3.5.
SƠ Đồ USECASE VÀ SƠ Đồ ACTIVITY ........................................................ 19
3.5.1.
Sơ đồ Usecase cho nguời dùng Khách ............................................... 20
3.5.1.1. Đăng nhập .................................................................................... 20
3.5.1.2. Đăng ký ........................................................................................ 21
3.5.1.3. Quên mật khẩu ............................................................................. 23
3.5.1.4. Xem Công cụ ............................................................................... 24
3.5.1.5. Tìm kiếm Tài liệu ......................................................................... 25
3.5.1.6. Vào Diễn đàn ............................................................................... 26
3.5.1.7. Xem Liên kết ................................................................................ 27
3.5.1.8. Xem Bài học và Ứng dụng ........................................................... 28
3.5.2.
Sơ đồ Usecase cho người dùng Thành viên ....................................... 30
3.5.2.1. Đăng xuất ..................................................................................... 30
3.5.2.2. Chỉnh sửa thông tin tài khoản ...................................................... 31
3.5.2.3. Tìm kiếm câu hỏi đã đặt ............................................................... 32
3.5.2.4. Tải Công cụ .................................................................................. 33
3.5.2.5. Tải Mã nguồn ............................................................................... 34
3.5.2.6. Đặt câu hỏi ................................................................................... 35
3.5.2.7. Tải Tài liệu ................................................................................... 36
3.5.3.
Sơ đồ Usecase cho nguời dùng Nguời quản trị .................................. 38
3.5.3.1. Quản lý Nguời dùng ..................................................................... 38
3.5.3.1.1. Xóa Nguời dùng.................................................................... 39
3.5.3.1.2. Chỉnh sửa thông tin Nguời dùng ........................................... 40
3.5.3.1.3. Tìm kiếm Nguời dùng........................................................... 41
3.5.3.2. Quản lý Tài liệu ............................................................................ 42
3.5.3.2.1. Thêm Tài liệu mới ................................................................ 42
3.5.3.2.2. Cập nhật Tài liệu ................................................................... 43
3.5.3.3. Quản lý Công cụ .......................................................................... 45
3.5.3.3.1. Thêm Công cụ mới ............................................................... 45
3.5.3.3.2. Cập nhật Công cụ.................................................................. 46
3.5.3.3.3. Tìm kiếm Công cụ ................................................................ 47
3.5.3.4. Quản lý Câu hỏi ........................................................................... 48
XI
3.5.3.4.1. Trả lời Câu hỏi mới nhanh .................................................... 48
3.5.3.4.2. Trả lời Câu hỏi theo Bài học hoặc Ứng dụng ....................... 49
3.5.3.5. Quản lý Mã tải về ......................................................................... 51
3.5.3.5.1. Thêm Mã tải về mới.............................................................. 51
3.5.3.5.2. Cập nhật Mã tải về ................................................................ 52
3.5.3.6. Quản lý Mã nguồn........................................................................ 53
3.5.3.6.1. Thêm Mã nguồn mới ............................................................ 53
3.5.3.6.2. Cập nhật Mã nguồn ............................................................... 54
3.5.3.6.3. Tìm kiếm Mã nguồn ............................................................. 55
3.5.3.7. Quản lý Bài học và Ứng dụng ...................................................... 57
3.5.3.7.1. Thêm Bài học mới ................................................................ 57
3.5.3.7.2. Cập nhật Bài học ................................................................... 59
3.5.3.7.3. Xóa Bài học .......................................................................... 60
3.5.3.7.4. Thêm Công cụ liên quan ....................................................... 61
3.5.3.7.5. Thêm Ứng dụng liên quan .................................................... 62
3.5.3.7.6. Thêm Bài học liên quan ........................................................ 63
3.5.3.7.7. Thêm Ứng dụng mới............................................................. 64
3.5.3.7.8. Cập nhật Ứng dụng ............................................................... 65
3.5.3.7.9. Xóa Ứng dụng....................................................................... 66
3.5.3.7.10. Thêm Mã nguồn liên quan .................................................. 67
3.5.3.7.11. Quản lý Nội dung................................................................ 68
3.5.3.7.11.1. Thêm Danh mục mới ....................................................... 69
3.5.3.7.11.2. Xóa Danh mục ................................................................. 70
3.5.3.7.11.3. Cập nhật Danh mục ......................................................... 71
3.5.3.7.11.4. Quản lý Trang .................................................................. 73
3.5.3.7.11.4.1. Thêm Trang mới ....................................................... 73
3.5.3.7.11.4.2. Xóa Trang ................................................................. 75
3.5.3.7.11.4.3. Cập nhật Trang ......................................................... 76
3.5.3.7.11.4.4. Quản lý Bài viết ........................................................ 77
3.5.3.7.11.4.4.1. Thêm Bài viết mới ............................................ 77
3.5.3.7.11.4.4.2. Xóa Bài viết ...................................................... 78
3.5.3.7.11.4.4.3. Cập nhật Bài viết ............................................... 79
3.5.3.7.11.4.4.4. Quản lý Ví dụ .................................................... 81
XII
3.5.3.7.11.4.4.4.1. Thêm Ví dụ mới ......................................... 81
3.5.3.7.11.4.4.4.2. Xóa Ví dụ ................................................... 82
3.5.3.7.11.4.4.4.3. Cập nhật Ví dụ ........................................... 83
3.6.
SƠ Đồ LớP ................................................................................................ 85
3.6.1.
Gói Entity ........................................................................................... 85
3.6.2.
Gói DAO ............................................................................................ 86
3.6.2.1. Gói DAO Interface ....................................................................... 86
3.6.2.2. Gói DAO Implement .................................................................... 87
3.7.
SƠ Đồ CƠ Sở Dữ LIệU................................................................................. 90
CHƯƠNG 4: XÂY DựNG Bộ BÀI HọC THIẾT KẾ VÀ TRIỂN KHAI
MỘT ỨNG DỤNG WEB .........................................................................................98
4.1.
MỤC ĐÍCH................................................................................................ 98
4.2.
PHÁT BIểU BÀI TOÁN ................................................................................ 98
4.3.
YÊU CầU CHứC NĂNG ............................................................................... 98
4.4.
SƠ Đồ THIếT Kế ......................................................................................... 99
4.4.1.
Sơ đồ các trang quản trị...................................................................... 99
4.4.2.
Sơ đồ lớp ............................................................................................ 99
4.4.2.1. Gói Entity ................................................................................... 100
4.4.2.2. Gói DAO .................................................................................... 101
4.4.3.
4.5.
Sơ đồ quan hệ cơ sở dữ liệu ............................................................. 101
Bộ BÀI HọC SHOPPING ONLINE ............................................................... 102
4.5.1.
Bài học 1: Xây dựng chức năng Đăng ký Tài khoản ....................... 102
4.5.1.1. Khái quát .................................................................................... 102
4.5.1.2. Sơ đồ Collaboration ................................................................... 102
4.5.1.3. Sơ đồ lớp .................................................................................... 103
4.5.1.4. Thao tác với CSDL .................................................................... 103
4.5.1.5. Mô tả mã nguồn ......................................................................... 104
4.5.2.
Bài học 2: Xây dựng Chức năng quản lý Người dùng ..................... 123
4.5.2.1. Thao tác với CSDL .................................................................... 124
4.5.2.2. Chức năng sửa thông tin người dùng ......................................... 124
4.5.2.2.1. Sơ đồ Collaboration ............................................................ 124
4.5.2.2.2. Sơ đồ lớp ............................................................................. 125
XIII
4.5.2.2.3. Mô tả mã nguồn .................................................................. 126
4.5.2.3. Chức năng xóa người dùng ........................................................ 136
4.5.2.3.1. Sơ đồ Collaboration ............................................................ 136
4.5.2.3.2. Sơ đồ lớp ............................................................................. 137
4.5.2.3.3. Mô tả mã nguồn .................................................................. 137
4.5.2.4. Chức năng tìm người dùng......................................................... 139
4.5.2.4.1. Sơ đồ Collaboration ............................................................ 139
4.5.2.4.2. Sơ đồ lớp ............................................................................. 140
4.5.2.4.3. Mô tả mã nguồn .................................................................. 141
4.5.3.
Bài học 3: Xây dựng chức năng đăng nhập – đăng xuất .................. 144
4.5.3.1. Khái quát .................................................................................... 144
4.5.3.2. Sơ đồ Collaboration ................................................................... 144
4.5.3.3. Sơ đồ lớp .................................................................................... 145
4.5.3.4. Thao tác với CSDL .................................................................... 145
4.5.3.5. Mô tả mã nguồn ......................................................................... 145
4.5.4.
Bài học 4: Xây dựng chức năng quản lý thể loại ............................. 151
4.5.4.1. Sơ đồ Activity ............................................................................ 151
4.5.4.2. Sơ đồ lớp tổng quát .................................................................... 151
4.5.4.3. Mô hình cấu trúc thư mục .......................................................... 152
4.5.4.4. Sơ đồ các trang giao diện ........................................................... 153
4.5.4.4.1. Đăng nhập ........................................................................... 153
4.5.4.4.2. Trang quản lý thể loại ......................................................... 154
4.5.4.4.3. Trang thêm thể loại ............................................................. 154
4.5.4.4.4. Trang chỉnh sửa thể loại...................................................... 155
4.5.4.4.5. Xóa thể loại ......................................................................... 156
4.5.4.4.6. Trang xem danh sách sản phẩm cùng thể loại .................... 157
4.5.4.4.7. Trang thêm sản phẩm.......................................................... 158
4.5.4.4.8. Trang xem thông tin và chỉnh sửa sản phẩm ...................... 159
4.5.4.4.9. Xóa sản phẩm ..................................................................... 160
4.5.4.4.10. Xem danh sách hình ảnh của một sản phẩm ..................... 160
4.5.4.4.11. Thêm hình ảnh cho sản phẩm ........................................... 161
4.5.4.4.12. Xem thông tin và chỉnh sửa hình ảnh ............................... 162
4.5.4.5. Thao tác với CSDL .................................................................... 164
XIV
4.5.4.6. Mô tả mã nguồn các phần chung................................................ 166
4.5.4.6.1. Các lớp nghiệp vụ (shop.bussiness) .................................... 166
4.5.4.6.2. Các lớp trong gói shop.data ................................................ 174
4.5.4.6.2.1. Sơ đồ lớp cho các lớp truy cập dữ liệu ............................ 175
4.5.4.7. Chức năng thêm thể loại ............................................................ 198
4.5.4.7.1. Sơ đồ Collaboration ............................................................ 198
4.5.4.7.2. Sơ đồ lớp ............................................................................. 199
4.5.4.7.3. Mô tả mã nguồn .................................................................. 199
4.5.4.8. Chức năng sửa thể loại ............................................................... 213
4.5.4.8.1. Sơ đồ Collaboration ............................................................ 213
4.5.4.8.2. Sơ đồ lớp ............................................................................. 215
4.5.4.8.3. Mô tả mã nguồn .................................................................. 215
4.5.4.9. Chức năng xóa thể loại ............................................................... 227
4.5.4.9.1.1 Sơ đồ Collaboration .......................................................... 227
4.5.4.9.1.2 Sơ đồ lớp ........................................................................... 228
4.5.4.9.1.3 Mô tả mã nguồn ................................................................ 229
4.5.4.10. Chức năng xem danh sách sản phẩm ....................................... 231
4.5.4.10.1. Sơ đồ Collaboration .......................................................... 231
4.5.4.10.2. Giao diện người dùng ....................................................... 231
4.5.4.10.3. Mô tả mã nguồn. ............................................................... 232
4.5.5.
Bài học 5: Xây dựng chức năng quản lý Sản phẩm ......................... 238
4.5.5.1. Sơ đồ Activity ............................................................................ 238
4.5.5.2. Sơ đồ lớp .................................................................................... 239
4.5.5.3. Sơ đồ các trang giao diện ........................................................... 240
4.5.5.4. Thao tác với CSDL .................................................................... 240
4.5.5.5. Chức năng thêm sản phẩm ......................................................... 240
4.5.5.5.1. Sơ đồ Collaboration ............................................................ 240
4.5.5.5.2. Sơ đồ lớp ............................................................................. 241
4.5.5.5.3. Giao diện người dùng ......................................................... 242
4.5.5.5.4. Mô tả mã nguồn .................................................................. 245
4.5.5.6. Chức năng sửa sản phẩm............................................................ 255
4.5.5.6.1. Khái quát ............................................................................. 255
4.5.5.6.2. Sơ đồ Collaboration ............................................................ 255
XV
4.5.5.6.3. Sơ đồ lớp ............................................................................. 256
4.5.5.6.4. Giao diện người dùng ......................................................... 257
4.5.5.6.5. Mô tả mã nguồn .................................................................. 259
4.5.5.7. Chức năng xóa sản phẩm ........................................................... 272
4.5.5.7.1. Sơ đồ Collaboration ............................................................ 272
4.5.5.7.2. Sơ đồ lớp ............................................................................. 272
4.5.5.7.3. Giao diện người dùng ......................................................... 273
4.5.5.7.4. Mô tả mã nguồn .................................................................. 274
4.5.6.
Bài học 6: Chức năng hiển thị thể loại và sản phẩm ........................ 275
4.5.6.1. Sơ đồ Collaboration ................................................................... 276
4.5.6.2. Sơ đồ lớp. ................................................................................... 277
4.5.6.3. Tạo CSDL. ................................................................................. 277
4.5.6.4. Tạo giao diện người dùng. ......................................................... 277
4.5.7.
Bài học 7: Xây dựng chức năng quản lý giỏ hàng ........................... 284
4.5.7.1. Sơ đồ Collaboration ................................................................... 284
4.5.7.2. Sơ đồ lớp .................................................................................... 284
4.5.7.3. Thao tác với CSDL .................................................................... 285
4.5.7.4. Mô tả mã nguồn ......................................................................... 285
4.5.8.
Bài học 8: xây dựng chức năng quản lý Đơn hàng .......................... 294
4.5.8.1. Sơ đồ lớp .................................................................................... 294
4.5.8.2. Sơ đồ Collaboration ................................................................... 295
4.5.8.3. Thao tác với CSDL .................................................................... 297
4.5.8.4. Mô tả mã nguồn ......................................................................... 299
CHƯƠNG 5: KếT QUả NGHIÊN CứU ....................................................316
5.1.
KếT QUả TổNG QUÁT............................................................................... 316
5.1.1.
Ưu điểm............................................................................................ 316
5.1.2.
Khuyết điểm ..................................................................................... 317
TÀI LIệU THAM KHảO ............................................................................319
[1] HTTP://WWW.JAVAPASSION.COM .................................................................... 319
[2] HTTP://WWW.W3SCHOOLS.COM ...................................................................... 319
[3] HTTP://EWEBVN.COM...................................................................................... 319
XVI
[4] HEGE REFSNES, STALE REFSNES, KAI JIM REFSNES, JAN EGIL REFSNES WITH C.
MICHAEL WOODWARD, LEARN HTML AND CSS WITH W3SCHOOLS, PUBLISHED BY WILEY
PUBLISHING, INC. 111 RIVER STREET HOBOKEN, NJ 07030-5774 WWW.WILEY.COM, 2010.
........................................................................................................................................ 319
PHụ LụC ......................................................................................................320
PHụ LụC A: HƯớNG DẫN CÀI ĐặT ứNG DụNG HOCWEB.VN....................................... 320
PHụ LụC B: HƯớNG DẫN Sử DụNG ứNG DụNG HOCWEB.VN ...................................... 320
PHụ LụC D: KếT QUả KHảO SÁT Ý KIếN NGƯờI DÙNG .............................................. 320
PHụ LụC C: CÁC BÀI HọC LIÊN QUAN ..................................................................... 320
XVII
CHƯƠNG 1: TổNG QUAN
1.1. LÝ DO CHọN Đề TÀI
Ngày nay, cùng với sự phát triển nhanh chóng của lĩnh vực truyền thông,
Internet đã và đang là một công cụ cực kỳ quan trọng đối với bất kỳ doanh nghiệp,
bất kỳ lĩnh vực hay ngành nghề nào. Website trở thành nơi giới thiệu, truyền đạt
thông tin nhanh chóng và hiệu quả nhất với khách hàng về hình ảnh cũng như sản
phẩm của một doanh nghiệp. Hơn thế nữa, với sự phát triển của ngành ngân hàng,
việc thanh toán một hóa đơn hàng hóa cũng trở nên đơn giản. Từ nhu cầu thuận tiện
và tiết kiệm thời gian trong mua bán hàng hóa dẫn đến việc kinh doanh trực tuyến
trở nên phổ biến, hầu hết các doanh nghiệp đều cần có website riêng và chức năng
mua bán hàng hóa trực tuyến là cấp thiết. Nếu doanh nghiệp có một website tốt, họ
có thể tăng doanh thu, tăng năng suất làm việc của nhân viên, giảm chi phí cho việc
marketing, giảm chi phí bán hàng, mở rộng mối quan hệ… Do đó tầm quan trọng
của website đối với doanh nghiệp là rất lớn.
Để thiết kế được một website tốt, người thiết kế cần có kiến thức nhất định về
các công nghệ và kỹ thuật trong thiết kế web. Ngày càng nhiều sinh viên quan tâm
hơn và mong muốn làm việc trong lĩnh vực này. Việc học web cũng trở nên dễ dàng
hơn trước (học qua sách, cd…) thông qua internet nơi chứa nguồn thông tin khổng
lồ về mọi lĩnh vực.
Xuất phát từ nhu cầu thực tiễn, nhằm giúp đỡ cho các bạn sinh viên có thể tìm
hiểu nhanh chóng về các kỹ thuật, công nghệ và đặc biệt là thiết kế một website có
quy trình ra sao, chúng tôi xây dựng website hocweb.vn với mục đích cung cấp
thông tin về bài học giúp người dùng có thể nắm bắt từ những kiến thức căn bản cho
đến nâng cao và hoàn chỉnh một ứng dụng web.
1
1.2.
MụC ĐÍCH Đề TÀI
- Tìm hiểu xây dựng website HOCWEB.VN hướng dẫn học thiết kế và triển
khai một ứng dụng web.
- Giới thiệu, hướng dẫn và so sánh một số công nghệ web hiện nay trên nền
tảng mã nguồn mở Java.
1.3.
ĐốI TƯợNG, PHạM VI NGHIÊN CứU
- Tìm hiểu các ngôn ngữ thiết kế web: HTML, CSS, Javascript…
- Tìm hiểu các công nghệ web trên nền tảng mã nguồn mở Java: JSP/Servlet,
framework ZK…
- Xây dựng website hướng dẫn học thiết kế và triển khai ứng dụng web vào
thực tế HOCWEB.VN.
- Xây dựng bộ bài học hướng dẫn thiết kế, hiện thực và triển khai một ứng
dụng web bằng công nghệ JSP/Servlet.
1.4.
QUÁ TRÌNH NGHIÊN CứU
Quá trình nghiên cứu được chia thành ba giai đoạn:
Giai đoạn 1: Triển khai trang web dạy học trực tuyến HOCWEB.VN.
+ Khảo sát các trang web của tổ chức và cá nhân, các trang blog, các diễn đàn
dạy học, làm web đưa ra ưu nhược điểm.
+ Từ đó đưa ra những yêu cầu chức năng và phi chức năng cần thiết cho một
trang web hướng dẫn học trực tuyến.
+ Dựa trên các yêu cầu phân tích được, tiến hành phân tích usecase và thiết kế
giao diện.
+ Phân tích và thiết kế kiến trúc hệ thống và kiến trúc phần mềm của trang web
hướng dẫn học trực tuyến HOCWEB.VN.
+ Tìm hiểu framework lập trình web ZK dựa trên ngôn ngữ Java và các ngôn
ngữ thiết kế web: HTML, CSS, JavaScript… để hiện thực trang hướng dẫn học trực
tuyến HOCWEB.VN.
+ Triển khai hệ thống và kiểm tra lỗi.
+ Viết hướng dẫn sử dụng website.
2