Tải bản đầy đủ (.doc) (93 trang)

xây dựng website bán hàng nhanhmua.vn ứng dụng công nghệ java - jsp-servlet

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.04 MB, 93 trang )

Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
MỤC LỤC
Trang bìa phụ……………………………………………………………………….
Phiếu giao đề tài…………………………………………………………………….
Lời cam đoan………………………………………………………………………
Lời cảm ơn………………………………………………………………………
Mục lục……………………………………………………………………… i
Danh mục các ký hiệu, các từ viết tắt……………………………………………iv
Danh mục các bảng……………………………………………………………….v
Danh mục các hình……………………………………………………………….vi
1
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
DANH MỤC CÁC TỪ VIẾT TẮT
STT Tên viết tắt Mô tả
01 CSS Casscading Style Sheet
02 HTML Hypertext Markup Language
03 HTTP Hypertext Transfer Protocol
04 JSP Java Server Pages
05 MVC Model View Controller
06 JVM Java Virtual Machine
07 DBMS Database Management System
08 XML eXtensible Markup Language
2
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
DANH MỤC CÁC BẢNG
STT SỐ BẢNG TÊN BẢNG TRANG
01 Bảng 4.1.1 Bài viết 31
02 Bảng 4.1.2 Chi tiết đơn hàng 31


03 Bảng 4.1.3 Comment 31
04 Bảng 4.1.4 Danh mục 32
05 Bảng 4.1.5 Đơn đặt hàng 32
06 Bảng 4.1.6 Email 32
07 Bảng 4.1.7 Hình ảnh minh họa 33
08 Bảng 4.1.8 Khách hàng 33
09 Bảng 4.1.9 Liên hệ 33
10 Bảng 4.1.10 Loại bài viết 34
11 Bảng 4.1.11 Mặt hàng khuyến mãi 34
12 Bảng 4.1.12 Tài khoản 34
13 Bảng 4.1.13 Thông tin tài khoản 35
14 Bảng 4.1.14 Tình trạng đơn hàng 35
15 Bảng 4.1.15 Menu 35
3
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
DANH MỤC
CÁC HÌNH
4
STT Hình Tên Hình Trang
01 Hình 5.1 Trang giảm giá hôm nay 37
02 Hình 5.2 Thông tin sản phẩm 38
03 Hình 5.4 Trang giá tốt gần đây 40
04 Hình 5.7 Trang giá tốt đã bán 43
05 Hình 5.10 Trang đăng ký tài khoản 45
06 Hình 5.11 Trang đăng nhập 46
07 Hình 5.14 Trang đăng xuất 48
08 Hình 5.15 Trang quản lý thông tin tài khoản 49
09 Hình 5.19 Giới thiệu chung 53
10 Hình 5.20 Liên hệ 54

11 Hình 5.21 Dành cho doanh nghiệp 56
12 Hình 5.22 Trang hỏi đáp 57
13 Hình 5.23 Thông báo 59
14 Hình 5.24 Hướng dẫn sử dụng 59
15 Hình 5.35 Đăng nhập Admin 75
16 Hình 5.36 Thêm xóa sửa sản phẩm 76
17 Hình 5.39 Quản lý đơn hàng 79
18 Hình 5.41 Quản lý khách hàng 81
19 Hình 5.42 Quản lý danh mục 82
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
CHƯƠNG 1: LỜI MỞ ĐẦU
1.1. Giới thiệu chung:
Trong những năm gần đây, sự phát triển của thương mại điện tử ( E-Commerce)
đã đem lại nhiều lợi ích to lớn cho nền kinh tế toàn cầu. Thông qua thương mại điện
tử, nhiều loại hình thức kinh doanh mới được hình thành, trong đó có mua bán hàng
trên mạng. Với hình thức mới này, người tiêu dùng có thể tiếp cận với hàng hóa một
cách dễ dàng và nhanh chóng hơn rất nhiều so với phương thức mua bán truyền
thống.
Những tưởng với những thế mạnh của mình các trang website bán hàng sẽ dần
thay thế các gian hàng hay các siêu thị truyền thống. Nhưng trên thực tế người mua
vẫn còn rất mặn mà với phương pháp mua bán cũ. Một phần vì phương thức mua
bán cũ dần dần từng bước chuyển từ thói quen thành một nếp văn hóa, văn hóa mua
sắm. Khi đó người ta xem hoạt động mua sắm là một hoạt động không thể thiếu
trong nền văn hóa đó. Vì vậy, với thương mại điện tử, chúng ta không còn phải đến
trực tiếp cửa hàng vừa tốn thời gian, sức khỏe. Giờ đây, chúng ta có thể ngồi tại nhà
mà có thể mua được bất kỳ một món hàng nào mà mình thích. Thật là tuyệt vời!
Chính vì thế, nhóm chúng em chọn đề tài “Xây dựng website bán hàng
Nhanhmua.vn ứng dụng công nghệ Java - JSP/Servlet” nhằm làm quen với
thương mại điện tử và bắt kịp sự phát triển của nước ta như thế giới. Do thời gian

hạn chế, việc tìm hiểu và xây dựng một ứng dụng trên công nghệ Java đối với em
rất khó khăn. Dù vậy, ứng dụng cũng đã triển khai được phần lớn các yêu cầu chính
mà một ứng dụng thương mại điện tử cần đáp ứng.
1.2. Mục tiêu của luận văn:
Trước hết luận văn sẽ giúp chúng ta nhận ra những mặt thiếu sót của các trang
website bán hàng qua mạng như hiện nay. Những tiện ích, dịch vụ mà trang website
này cần cung cấp hoặc nâng cao hơn để có thể nâng cao vị thế của mình trong nền
kinh tế hàng hóa. Bên cạnh đó website nhanhmua.vn còn có những lợi ích sau:
+ Lợi ích đầu tiên và cũng là lợi ích lớn nhất mà website mang lại chính là sự
quảng bá trang website nhanhmua.vn cùng với các sản phẩm giảm giá, đưa ra một
Trang: 5
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
sản phẩm khuyến mãi giảm giá có thời gian mà khách hàng cần phải mua trước
ngày mà website nhanhmua.vn đã đề ra để được giảm giá.
+ Việc kinh doanh sẽ mở cửa 24 tiếng/1 ngày, giảm thiểu chi phí nhân viên
cho tiếp thị, quảng cáo; dễ dàng nhận phản hồi từ phía khách hàng; cơ hội mở rộng
liên kết và hợp tác ở phạm vi quốc tế…
+ Nhờ có website nhanhmua.vn mà khách hàng ở bất kỳ nơi nào nếu có sử
dụng Internet sẽ đều được truy cập đến website để được cung cấp những lựa chọn
linh hoạt, tiện lợi trong việc mua tìm sản phẩm thông qua chức năng giỏ hàng, các
thông tin của sản phẩm được hiển thị chi tiết, rõ ràng với giá niêm yết trên từng sản
phẩm, từ đó khách hàng dễ dàng nhận biết và lựa chọn được thứ mình cần.
1.3. Nhiệm vụ nghiên cứu đề tài:
1.3.1.Về mặt ứng dụng
Xây dựng hệ thống quản lý dịch vụ bán hàng trên mạng, trong đó hệ thống cho
phép dịch vụ đăng ký một không gian để bán những mặt hàng mình có trên mạng.
Dịch vụ sẽ có 1 account riêng trong hệ thống, họ có thể cập nhật các mặt hàng, quản
lý những đơn đặt hàng của khách hàng thông qua hệ thống. Tuy nhiên, dịch vụ hay
mặt hàng của dịch vụ chỉ thực sự hoạt động khi đã thanh toán những chi phí cần

thiết cho hệ thống. Đối với các khách hàng vào hệ thống để mua hàng, hệ thống
phải hỗ trợ sao cho khách hàng có thể tìm kiếm, chọn và đặt hàng một cách dễ
dàng. Khi khách hàng đặt mua sản phẩm, hệ thống sẽ chuyển đơn đặt hàng này đến
dịch vụ bán hàng. Việc giao và nhận diễn ra nội bộ giữa người bán và người mua.
Hệ thống đóng vai trò như một siêu thị ảo, môi giới cho khách mua hàng với dịch
vụ.
1.3.2. Về phía khách hàng
Các khách hàng có thể đăng kí mua hàng, cũng như việc xem và lựa chọn
những sản phẩm qua mạng nếu họ đồng ý với những sản phẩm đó. Khách hàng có
thể dễ dàng xem hàng, hoặc đăng ký mua hàng bất cứ lúc nào thông qua mạng máy
tính khi mà máy chủ đã khởi động.
Trang: 6
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Các khách hàng còn có thể theo dõi được những sản phẩm mới mà
Nhanhmua.vn vừa cập nhật.
Khi cần thiết thì khách hàng có thể hỏi đáp thông qua công ty, hoặc thông qua
diễn đàn nhằm góp ý cũng như việc thắc mắc với công ty. Diễn đàn sẽ giúp khách
hàng giải quyết các vấn đề mà mình không giải quyết được.
1.3.3. Về phía người quản lý
Người quản lý có thể theo dõi đơn hàng của khách hàng đang tham gia mua
hàng của công ty mình ( như số lượng mặt hàng của khách hàng, những phản hồi từ
phía khách hàng về sản phẩm…) và nắm các thông tin của khách hàng như email,
địa chỉ để liên hệ khi cần.
Người quản lý có thể thêm, sửa, xóa tìm kiếm sản phẩm; quản lý thông tin
khách hàng; quản lý thông tin website; quản lý thông báo, hỏi đáp của khách hàng.
1.3.4. Về mặt kỹ thuật
Hệ thống phải có những khả năng về kỹ thuật như sau:
Ứng dụng triển khai trên môi trường JAVA - JSP/SERVLET
Hỗ trợ nhiều trình duyệt như ( IE, Firefox )

Hỗ trợ nhiều người dùng.
Số lượng người tham gia đăng ký mua hàng không giới hạn.
Số lượng các sản phẩm thêm vào không giới hạn.
Một số yêu cầu khác mà ứng dụng có thể:
Dễ dàng cài đặt và dễ dàng sử dụng.
Trang: 7
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
1.4. Kết cấu của luận văn tốt nghiệp:
Luận văn được chia làm 07 chương
Chương I: Mở Đầu
Chương II: Công nghệ sử dụng
Chương III: Mô hình xử lý
Chương IV: Mô hình cơ sở dữ liệu
Chương V: Demo sản phẩm
Chương VI: Kết luận và hướng phát triển
Chương VII: Tài liệu tham khảo
Trang: 8
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG
2.1. Giới thiệu ngôn ngữ lập trình JAVA:
Ông tổ của Java không ai khác chính là James Gosling, một lập trình viên của
công ty Sun Microsystems. Cuối năm 1990 James Golsing được Sun Microsystems
giao nhiệm vụ xây dựng một phần mềm cho các mặt hàng điện dân dụng với mục
tiêu nhỏ gọn và tương thích với nhiều thiết bị phần cứng khác nhau, thế là Java ra
đời. Đầu tiên Java có tên là Oak ( cây sồi) nhưng vì có sự trùng tên nên Oak được
đổi tên thành Java như hiện nay.
Java được thiết kế cho mục đích đa nền ( không phụ thuộc vào bất kỳ hệ điều
hành nào) nên chương trình Java sau khi biên dịch cho ra một file nhị phân khác với

các file nhị phân thực thi của Windows như .exe hay .com hay .java biên dịch ra mã
nhị phân gọi là byte – code có đuôi mở rộng là .class và được triệu gọi thực thi
trong máy ảo Java ( Java Virtual Machine – JVM ). Máy ảo Java thực sự là một
trình thông dịch bình thường có khả năng thực thi các mã byte – code tương tự như
bộ xử lý của máy tính thực thi các mã nhị phân là các chỉ thị mã máy. Nói đúng hơn
máy ảo Java là một kiến trúc của bộ xử lý nhưng thực thi bằng cơ chế phần mềm
thay vì phần cứng. Chính vì lý do đó mà ta chỉ cần viết máy ảo Java cho từng hệ
điều hành thì chương trình Java (.class) có thể chạy như nhau trong mọi hệ điều
hành dưới nền một kiến trúc máy ảo. Cha đẻ của Java là hãng Sun Micosystem chịu
trách nhiệm xây dựng các máy ảo Java cho những hệ điều hành khác nhau. Nhiệm
vụ của lập trình viên là chỉ viết chương trình mã nguồn Java sau đó biên dịch
chương trình ra dạng file thực thi byte – code để chạy trên máy ảo.
Java có thể dùng để viết chương trình ứng dụng tương tự như mọi ngôn ngữ lập
trình khác, Java thiên về lập trình cho các ứng dụng mạng và Internet. Ngoài ra ta
có thể dùng Java để viết các Applet hoặc Servlet hay trang JSP là những thành phần
ứng dụng dành cho trình duyệt Internet ( browser) và trình chủ ( Web Server).
Java là một ngôn ngữ đơn giản, hướng đối tượng, phân tán, thông dịch mạng
mẽ, bảo mật, cấu trúc độc lập, khả chuyển, hiệu quả cao và linh động ( the Java TM
Language an Overview – Sun Microsystems). Đó là những đặc điểm quan trọng mà
không phải bất cứ một ngôn ngữ lập trình nào cũng có được.
Công nghệ Java được chia làm 3 loại ứng dụng:
Trang: 9
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
- J2SE (Java 2 Standard Edition): gồm các công cụ, đặc tả, API của nhân
Java giúp phát triển các ứng trên trên desktop và định nghĩa các phần thuộc nhân
của Java.
- J2ME (Java 2 Micro Edition): gồm các công cụ, đặc tả, API mở rộng để
phát triển các ứng dụng Java chạy trên điện thoại di động, thẻ thông minh….
- J2EE ( Java 2 Enterprise Edition): gồm các công cụ, đặc tả, API mở rộng

I2SE để phát triển các ứng dụng qui mô xí nghiệp, chủ yếu để chạy trên máy chủ
(server) và bộ phận được nhắc đến nhất của công nghệ này đó chính JSP/Servlets.
JSP và Servlettrong kiến trúc J2EE
Trang: 10
JSP Servlets
Các temlate Data, ngôn ngữ Script,
Custo, Element và các đối tượng Java
Server Side -> nội dung động-> Client
Chương trình java cho phép phát sinh
nội dung động và tương tác với các
Web Client thông qua cơ chế Request -
Response
Template Data: XML, HTML
Client: Web Browser
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
2.2. MÔ HÌNH MVC
2.2.1. Khái niệm về MVC ( Model View Controller):
2.2.1.1 MVC là gì?
Mô hình MVC ( Model View Controller) là một kiến trúc phần mềm hay mô
hình thiết kế được tạo ra nhằm giải quyết các vấn đề phát sinh cũng như các giải
pháp tổ chức mã trong quá trình phát triển phần mềm. Khi sử dụng đúng cách, mẫu
MVC giúp cho người phát triển phần mềm cô lập các nguyên tắc nghiệp vụ và giao
diện người dùng một cách rõ ràng hơn. Phần mềm phát triển theo mẫu MVC tạo
nhiều thuận lợi cho việc bảo trì và các nguyên tắc xử lý nghiệp vụ và giao diện ít có
liên quan với nhau.
2.2.1.2. Lịch sử MVC ( Model View Controller):
Bắt đầu vào những năm 70 của thế kỷ 20, tạo phòng thí nghiệm Xerox PARC ở
Palo Alto. Sự ra đời của giao diện đồ họa ( Graphic User Interface) và lập trình
hướng đối tượng( Object Oriented Programming) cho phép lập trình viên làm việc

với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương
thức riêng của nó. Không dừng lại ở đó, những nhà nghiên cứu ở Xerox PARC còn
đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC(Model View Controller). Kiến
trúc MVC đã được ứng dụng để xây dựng rất nhiều thư viện đồ họa khác nhau. Tiêu
biểu là bộ thư viện đồ họa của ngôn ngữ lập trình hướng đối tượng SmallTalk
( cũng do Xerox PARC nghiên cứu và phát triển vào thập niên 70 của thế kỷ 20).
Trang: 11
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
2.2.1.3. Các thành phần trong MVC ( Model View Controller):
Mô hình MVC gồm 3 thành phần: Model , View và Controller.
Định nghĩa các thành phần trong mô hình MVC như sau:
Model ( mẫu)
o Là các thành phần hỗ trợ ánh xạ dữ liệu vật lý lên bộ nhớ, lưu trữ dữ
liệu tạm thời trên bộ nhớ, hỗ trợ các cách thức xử lý dữ liệu, hỗ trợ
khả năng giao tiếp và trao đổi dữ liệu giữa các đối tượng khác trong
bộ nhớ và cơ sở dữ liệu.
o Cụ thể là một đối tượng Object trong khái niệm của lập trình hướng
đối tượng OOP và mang đầy đủ khái niệm, tính chất của một Object.
o Trong ứng dụng Website của Java, Model sẽ là JavaBean hay
Enterprise JavaBean hay Website Service.
View ( hiển thị)
Trang: 12
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
o Là thành phần hỗ trợ trình bày dữ liệu hay kết quả ra màn hình, hỗ trợ
nhập thông tin từ phía người dùng.
o Các thành phần này có khả năng truy cập Model, truy xuất Model
thông qua những hành vi mà Model cho phép nhưng View không thể
thay đổi các thành phần trong Model.

o Trong mô hình ứng dụng Web thì html, servlet, jsp … là những thành
phần đại diện cho View.
Controller ( điều khiển )
o Là các thành phần hỗ trợ kết nối người dùng server, nhập yêu cầu
người dùng, thực hiện chuyển xử lý, lựa chọn và cập nhật model và
view tương ứng để trình bày về phía người dùng.
o Hỗ trợ kết nối giữa người model và view, giúp model xác định được
view trình bày.
o Trong mô hình ứng dụng website thì servlet đóng vai trò của
Controller.
Quá trình phát triển của MVC được thực hiện tuần tự như sau:
Không có khái niệm gì về mô hình: tất cả thiết kế đều tập trung viết code trực
tiếp trên các ngôn ngữ script và ngôn ngữ tag để hỗ trợ trình bày dữ liệu trên
Browser – dạng website tĩnh.
Mô hình MVC2: Đây là mô hình thực tế áp dụng tiếp cận theo đúng khái niệm
đã nêu ra ở trên, tách biệt riêng biệt thành từng thành phần, tạo nên sự uyển chuyển
khi vận dụng và cài đặt, đặc biệt là bảo trì nâng cấp.
Trang: 13
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Cơ chế thực hiện:
+ Website Browser gửi request đến server thông qua các control trên form
HTML hay JSP, hay query string url hay qua cookies.
+ Servlet – Controller đón nhận request và xác định Model tương ứng để tạo
ra instance của JavaBean để đón nhận các giá trị nhập từ request để lưu trữ và xử lý.
+ Model thực hiện xử lý, kết nối dữ liệu vật lý dưới DBMS (nếu có) và trả
kết quả trả về cho Controller.
+ Kết quả xử lý được chuyển vào Servlet – Controller, Servlet Controller
thực hiện tạo hay lựa chọn View để từ đó đưa kết quả xử lý hay dữ liệu lấy từ
Model để cập nhật lại trang kết quả View.

+Controller gửi View qua response cho người dùng để browser có thể trình
bày dữ liệu trong Website Browser.
Mô tả Model:
Một thành phần cấu thành object (đối tượng) chứa đầy đủ đặc tính của object đó
là state ( trạng thái ) và behaviors (các hành vi). Bên cạnh đó phải đảm bảo 4 tính
chất: abstraction (mang tính chất chung nhất của object) ; encapsulation (cho phép
người dùng truy cập các trạng thái của object thông qua các behavior); hierarchy (có
tính kế thừa); modularity (phân chia module theo từng nhóm chức năng và tách biệt
Trang: 14
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
các thành phần theo dạng component để có thể dễ dàng cài đặt, maintenance – bảo
trì, và tái sử dụng – reusable ).
Mô tả thành phần Controller (ở đây mô tả khái niệm về Servlets)
Servlet là đoạn chương trình java thực thi trên Website Server hỗ trợ người lập
trình Java xây dựng trang website động mà không cần học ngôn ngữ lập trình
website mới.
Servlet nhận request – yêu cầu từ client, sau đó thực hiện các yêu cầu xử lý để
gửi response – phản hồi đến người dùng sử dụng HTTP.
Servlet được load sẵn ở Website Server duy nhất lần đầu tiên khi ứng dụng
được deploy và đáp ứng tức thời yêu cầu của người dùng thông qua Website
Container. Người dùng không lo lắng đến chuyện khởi tạo Servlet(như cách chúng
ta phải dùng lệnh new đối với việc tạo ra một instance mới cho một object).
Servletđược server hỗ trợ cơ chế multithread giúp giảm tài nguyên và quá tải
trong việc xử lý của server hay container.
Khuyết điểm:
+ Không thích hợp cho việc trình bày và xử lý giao diện vì code html được
viết trong chuỗi String của các câu lệnh Java, rất khó trong việc checking và kiểm
tra lỗi về tính đúng đắn của văn bản xml (well-form).
+ Không hỗ trợ đầy đủ các thành phần liên quan đến session.

+ Về phía người dùng có thể nói tương tác chỉ là single thread vì người dùng
không thể xác định instance Servlet phục vụ cho mình mà container, server tự động
xác định instance tương ứng và yêu cầu nó xử lý. Chúng ta chỉ biết được xử lý khi
thấy kết quả được hiển thị ở browser. Nghĩa là mọi thứ xử lý phải lệ thuộc
container.
Cơ chế hoạt động
Trang: 15
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Khi có request từ client gửi đến Server hay Website Container. Container sẽ lựa
chọn một instance Servlet tương ứng để đáp ứng request đó (người dùng sẽ không
bao giờ biết instance nào được lựa chọn, nó lựa chọn khi nào, Servlet xử lý khi
nào).
Servlet lựa chọn sẽ thực hiện xử lý và kết nối DB nếu cần. Sau khi Servlet thực
hiện xong, sẽ gửi kết quả ra container để gửi response về cho người dùng. Browser
đón nhận kết quả và trình bày ra màn hình dữ liệu.
Mô tả về view ( Mô tả về JSP)
Những đối tượng có khả năng trình bày dữ liệu ra màn hình như html, jsp … Đó
chính là JSP viết tắt của Java Server Pages.
+ Đây là ngôn ngữ scripting được dùng ở server để hỗ trợ ứng dụng trong
việc trình bày trang website động – cập nhật dữ liệu.
+ JSP tích hợp bao gồm HTML, XML, Java Code, và kể cả Servlet nghĩa là
nó tạo thuận lợi cho người dùng trong việc xây dựng giao diện – khắc phục nhược
điểm của Servlet về giao diện; Ngoài ra, nó cho người dùng mở rộng khả năng sử
dụng JSP qua việc định nghĩa các tag mới như XML – khắc phục nhược điểm của
HTML; Đặc biệt cho phép người dùng sử dụng nhúng trực tiếp code Java vào trong
JSP thông qua Declaration – khai báo biến và hàm, Scriptlets – chứa code trực tiếp
của Java và Expression – tính toán biểu thức và in kết quả ra màn hình. Những điều
này tạo điều kiện cho người lập trình Java không cần học các ngôn ngữ script mới
khi lập trình.

Trang: 16
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Bản chất của JSP là Servlet, do vậy các thành phần của Servlet sẽ có tồn tại hết
trên JSP. Ngoài ra, JSP không cần phải biên dịch mà nó được biên dịch khi có
request lần đầu tiên yêu cầu đến server, do vậy JSP khắc phục nhược điểm chỉnh
sửa phải cần có source code và biên dịch lại khi deploy sau khi chỉnh sửa của
Servlet. JSP cung cấp các thành phần implicit Object để người dùng có thể sử dụng
các thành phần tương tác trên server mà không cần khai báo và khởi tạo. Kết xuất
của JSP thực chất là html. file, JSP có phần mở rộng là .jsp.
Ưu điểm MVC:
Phát triển phần mềm: có tính chuyên nghiệp hóa, có thể chia cho nhiều nhóm
được đào tạo nhiều kỹ năng, từ thiết kế mỹ thuật cho đến lập trình đến tổ chức
database.
Bảo trì: với các lớp được phân chia thì các thành phần của một hệ thống dễ
được thay đổi nhưng sự thay đổi có thể được cô lập trong từng lớp, hoặc chỉ ảnh
hưởng đến lớp nga gần kề của nó, chứ không phát tán náo loạn cả chương trình.
Mở rộng: Với các lớp được chia theo ba lớp như đã nói, việc thêm chức năng
vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác.
Tiện về bug lỗi, kiểm soát code, workflow dễ dàng hơn và nhiều người có thể
tham gia phát triển cùng trên 1 module.
Nhược điểm:
Gia tăng sự phức tạp.
Sự kết nối chặc chẽ của View và Controller đối với Model.
Sự thay đổi với giao diện Model đòi hỏi sự thay đổi song song trongg View và
có thể đòi hỏi sự thay đổi thêm đối với Controller. Sự thay đổi code nào đó có thể
trở nên khó khăn hơn.
Cơ chế truyền sự thay đổi có thể không hiệu quả khi Model thay đổi thường
xuyên đòi hỏi nhiều thông báo thay đổi. Đây không phải là vấn đề chung nếu
passive Model được sử dụng.

CHƯƠNG 3: MÔ HÌNH XỬ LÝ
Xây dựng các biểu đồ gồm:
Biểu đồ Use case
Biểu đồ trạng thái
Trang: 17
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Biểu đồ tuần tự
3.1. Xây dựng biểu đồ use case
Use case tổng quát
Use case đăng nhập / đăng xuất
Use case cập nhật
Use case cập nhật danh mục sản phẩm
Use case cập nhật sản phẩm
Use case đặt hàng
Use case quản lý đơn hàng
Biểu đồ Use case tổng quát
Từ các yêu cầu về chức năng của hệ thống, ta có thể mô hình hóa các chức năng
của hệ thống bởi biểu đồ Use case tổng quá sau:
Mô tả Use case tổng quát: Ở mức tổng quát, hệ thống có những chức năng như
hình trên. Người quản trị có thể thực hiện đăng nhập, đăng xuất hệ thống
(trang quản trị) để quản lý thông tin cho hệ thống. Gồm có cập nhật các thông tin và
thực hiện chức năng quản lý đơn hàng. Còn khách hàng thì có thể truy cập hệ thống,
thực hiện tìm kiếm sản phẩm, tạo và gửi giỏ hàng ( chức năng đặt hàng).
Phân rã biểu đồ Use case và kịch bản ( scenario)
Phân rã use case cập nhật
Trang: 18
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Mô tả use case cập nhật: Cập nhật danh mục sản phẩm và cập nhật sản phẩm.

Gồm các thao tác thêm, xóa, sửa, tìm kiếm thông tin danh mục ( hoặc sản phẩm).
Phân rã use case Cập nhật sản phẩm
Mô tả use case cập nhật sản phẩm: Người quản trị thực hiện chức năng cập nhật
sản phẩm trong trang quản trị. Bao gồm các chức năng con Thêm, Sửa, Xóa sản
phẩm. Các thông tin của sản phẩm sẽ được hiển thị trên trang người dùng cho khách
hàng xem. Trong quá trình cập nhật sản phẩm, chức năng tìm kiếm sản phẩm được
sử dụng trong quá trình thực hiện các chức năng trên.
Trang: 19
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Kịch bản use case thêm sản phẩm
Tên usecase Thêm sản phẩm
Tác nhân chính Người quản trị
Mức 3
Người chịu trách nhiệm Người quản trị
Tiền điều kiện Tác nhân đang trong phiên làm việc của mình, đang ở trang Quản
lý sản phẩm
Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã thêm và quay lui lại bước trước
Đảm bảo thành công Thông tin về sản phẩm mới được bổ xung vào CSDL
Kích hoạt Người quản trị chọn chức năng “ Thêm sản phẩm”
Chuỗi sự kiện chính
1. Hệ thống hiển thị form thêm sản phẩm và yêu cầu người quản trị đưa vào thông tin sản phẩm.
2. Người quản trị nhập thông tin về sản phẩm mới và nhấn “ Lưu”.
3. Hệ thống kiểm tra thông tin sản phẩm và xác nhận thông tin hợp lệ.
4. Hệ thống nhập thông tin sản phẩm mới vào cơ sở dữ liệu.
5. Hệ thống thông báo đã nhập thành công.
6. Người quản trị thoát khỏi chức năng thêm sản phẩm.
Ngoại lệ
3.a Hệ thống thông báo sản phẩm đã có trong cơ sở dữ liệu.
3.a.1 Hệ thống yêu cầu người quản trị nhập lại thông tin .

3.a.2 Người quản trị nhập lại thông tin sản phẩm.
3.b Hệ thống thông báo thông tin sản phẩm không hợp lệ.
3.b.1 Hệ thống yêu cầu người quản trị nhập lại thông tin.
3.b.2 Người quản trị nhập lại thông tin sản phẩm.
Kịch bản use case sửa sản phẩm
Tên usecase Sửa sản phẩm
Tác nhân chính Người quản trị
Mức 3
Người chịu trách nhiệm Người quản trị
Tiền điều kiện Tác nhân đang trong phiên làm việc của mình, đang ở trang Quản lý
sản phẩm
Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã thêm và quay lui lại bước trước
Trang: 20
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Đảm bảo thành công Thông tin về sản phẩm mới được cập nhật vào CSDL
Kích hoạt Người quản trị chọn chức năng “ sửa sản phẩm”
Chuỗi sự kiện chính
1. Hệ thống hiển thị form sửa sản phẩm và yêu cầu người quản trị đưa vào thông tin sản phẩm.
2. Người quản trị nhập thông tin về sản phẩm mới và nhấn “ Lưu”.
3. Hệ thống kiểm tra thông tin sản phẩm và xác nhận thông tin hợp lệ.
4. Hệ thống nhập thông tin sản phẩm mới vào cơ sở dữ liệu.
5. Hệ thống thông báo đã nhập thành công.
6. Người quản trị thoát khỏi chức năng thêm sản phẩm.
Ngoại lệ
3.a Hệ thống thông báo sản phẩm đã có trong cơ sở dữ liệu.
3.a.1 Hệ thống yêu cầu người quản trị nhập lại thông tin .
3.a.2 Người quản trị nhập lại thông tin sản phẩm.
3.b Hệ thống thông báo thông tin sản phẩm không hợp lệ.
3.b.1 Hệ thống yêu cầu người quản trị nhập lại thông tin.

3.b.2 Người quản trị nhập lại thông tin sản phẩm.
Kịch bản use case xóa sản phẩm
Tên usecase Xóa sản phẩm
Tác nhân chính Người quản trị
Mức 3
Người chịu trách nhiệm Người quản trị
Tiền điều kiện Tác nhân đang trong phiên làm việc của mình, đang
ở trang Quản lý sản phẩm .
Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã thêm và quay lui
lại bước trước.
Đảm bảo thành công Thông tin về sản phẩm mới được bổ xung vào cơ sở
dữ liệu.
Kích hoạt Người quản trị chọn chức năng “ Xóa sản phẩm”.
Chuỗi sự kiện chính
1. Hệ thống đưa ra thông báo yêu cầu người quản trị xác nhận xem có thực sự muốn xóa
sản phẩm hay không.
2. Người quản trị nhấn nút “ Yes” . Hệ thống loại bỏ thông tin sản phẩm đã chọn xóa khỏi
Trang: 21
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
cơ sở dữ liệu.
3. Hệ thống thông báo xóa thành công.
Ngoại lệ
2.a Người quản trị nhấn vào nút “ No”.
2.a.1 Hệ thống tiếp tục phiên làm việc hiện tại.
Kịch bản use case Tìm kiếm sản phẩm
Tên usecase Tìm kiếm sản phẩm
Tác nhân chính Người quản trị
Mức 3
Người chịu trách nhiệm Người quản trị

Tiền điều kiện Tác nhân đang trong phiên làm việc của mình, đang ở
trang Quản lý sản phẩm.
Đảm bảo tối thiểu Hệ thống loại bỏ thông tin tìm kiếm tương ứng được
hiển thị ra màn hình.
Đảm bảo thành công Các sản phẩm được tìm kiếm tương ứng được hiển thị
ra màn hình.
Kích hoạt Người quản trị chọn chức năng “ Tìm kiếm sản
phẩm”.
Chuỗi sự kiện chính
1. Hệ thống sẽ xử lý chuỗi nhập vào, tìm kiếm những từ khóa liên quan tới sản phẩm đó.
Chuỗi nhập vào sẽ chuyển về chữ thường không dấu nên việc tìm kiếm sẽ dễ dàng trong
quá trình nhập.
2. Hiển thị sản phẩm cần tìm kiếm.
Ngoại lệ
2.a Người quản trị viên nhập tên sản phẩm không chính xác thì sẽ hiển thị ra thông
báo “chưa nhập tên sản phẩm” sau đó nhấn nút OK.
2.a.1 Hệ thống tiếp tục phiên làm việc hiện tại.
Trang: 22
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Phân rã use case đặt hàng
Mô tả use case đặt hàng: Khách hàng truy cập trang website thực hiện chức
năng đặt hàng. Quá trình tìm sản phẩm để thêm vào giỏ hàng, khách hàng có thể sử
dụng chức năng tìm kiếm sản phẩm. Sau đó chọn được sản phẩm muốn mua, khách
hàng sẽ thực hiện thêm hàng, sau khi thêm hàng thì sản phẩm được cập nhật và hiển
thị trong giỏ hàng. Khi chọn xong những sản phẩm muốn mua, khách hàng có thể
thực hiện cập nhật giỏ hàng để cập nhật số lượng hàng của mỗi sản phẩm. Nếu
khách hàng không muốn mua sản phẩm nào thì có thể xóa hàng. Cuối cùng, khách
hàng sẽ thực hiện gửi đơn hàng. Trong đó khách hàng sẽ điền đầy đủ thông tin cá
nhân của mình để người quản trị hệ thống có thể liên lạc lại. Thông tin giỏ hàng

được gửi vào email của người quản trị và được lưu lại vào cơ sở dữ liệu. Sau đó hệ
thống sẽ tạo đơn hàng mới trong trường hợp khách hàng tiếp tục đặt hàng.
Kịch bản cho use case Thêm hàng
Trang: 23
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Tên usecase Thêm hàng
Tác nhân chính Khách hàng
Mức 2
Người chịu trách nhiệm Khách hàng
Tiền điều kiện Khách hàng đang ở trang sản phẩm
Đảm bảo tối thiểu Hệ thống giữ nguyên thông tin giỏ hàng và chuyển tới
trang chi tiết giỏ hàng
Đảm bảo thành công Sản phẩm vừa được thêm vào giỏ hàng
Kích hoạt Người quản trị nhấn nút vào “ Chọn hàng”
Chuỗi sự kiện chính
1. Hệ thống kiểm tra thông tin sản phẩm và xác nhận có sản phẩm trong cơ sở dữ
liệu.
2. Hệ thống kiểm tra sản phẩm trong giỏ hàng.
3. Nếu sản phẩm chưa có trong giỏ hàng thì thêm sản phẩm vào giỏ hàng với số
lượng là 1.
4. Nếu sản phẩm đã có trong giỏ hàng thì cộng số lượng của sản phẩm trong giỏ
hàng đó thêm 1.
5. Hệ thống hiển thị giao diện chi tiết giỏ hàng.
Ngoại lệ
1.a Hệ thống kiểm tra không có sản phẩm trong cơ sở dữ liệu.
1.a.1 Hệ thống đưa thông báo sản phẩm không có, không thể thêm giỏ hàng.
1.a.2 Hệ thống quay lui lại trang trước.
Kịch bản cho use case xóa hàng
Tên usecase Xóa hàng

Tác nhân chính Khách hàng
Mức 2
Người chịu trách nhiệm Khách hàng
Tiền điều kiện Khách hàng đang ở trang sản phẩm
Đảm bảo tối thiểu Thông tin giỏ hàng được giữ nguyên
Trang: 24
Trường ĐH Giao Thông Vận Tải Xây dựng website bán hàng
Khoa Công Nghệ Thông Tin WWW.NHANHMUA.VN ứng dụng Java-JSP/Servlet
Đảm bảo thành công Sản phẩm được chọn xóa sẽ bị xóa khỏi giỏ
hàng hiện tại trong cơ sở dữ liệu
Kích hoạt Người quản trị chọn chức năng “ xóa hàng”
Chuỗi sự kiện chính
1. Hệ thống đưa ra thông báo yêu cầu người quản trị xác nhận xem có thực sự muốn
xóa sản phẩm khỏi giỏ hàng hay không.
2. Người quản trị nhấn nút Yes. Hệ thống loại bỏ thông tin sản phẩm đã chọn khỏi
cơ sở dữ liệu.
3. Hệ thống chuyển về trang chi tiết giỏ hàng.
Ngoại lệ
2.a Người quản trị nhấn nút “No”.
2.a.1 Hệ thống tiếp tục phiên làm việc hiện tại.
Kịch bản use case gửi đơn hàng
Tên usecase Gửi đơn hàng
Tác nhân chính Khách hàng
Mức 2
Người chịu trách
nhiệm
Khách hàng
Tiền điều kiện Khách hàng đang ở trang chi tiết giỏ hàng.
Đảm bảo tối thiểu Thông tin giỏ hàng được giữ nguyên.
Đảm bảo thành công Đơn hàng được gửi đi, hệ thống khởi tạo 1 phiên làm việc

mới.
Kích hoạt Người quản trị chọn chức năng “ Gửi giỏ hàng”.
Chuỗi sự kiện chính
1. Hệ thống chuyển về form gửi giỏ hàng với thông tin sản phẩm hiện có.
Trang: 25

×