Tải bản đầy đủ (.pdf) (74 trang)

TÌM HIỂU SPRING MVC VÀ ỨNG DỤNG ĐỂ XÂY DỰNG WEBSITE BÁN HÀNG ĐIỆN TỬ DÂN DỤNG - Full 10 điểm

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 (2.1 MB, 74 trang )

UBND TỈNH QUẢNG NAM
TRƢỜNG ĐẠI HỌC QUẢNG NAM
KHOA: CÔNG NGHỆ THÔNG TIN

----------

VÕ VĂN HIỆP

TÌM HIỂU SPRING MVC VÀ ỨNG DỤNG
ĐỂ XÂY DỤNG WEBSITE BÁN HÀNG
ĐIỆN TỬ DÂN DỤNG

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng Nam, tháng 04 năm 2019

UBND TỈNH QUẢNG NAM
TRƢỜNG ĐẠI HỌC QUẢNG NAM
KHOA:CÔNG NGHỆ THÔNG TIN

----------

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

TÌM HIỂU SPRING MVC VÀ ỨNG DỤNG ĐỂ XÂY
DỤNG WEBSITE BÁN HÀNG ĐIỆN TỬ DÂN DỤNG

SINH VIÊN THỰC HIỆN
VÕ VĂN HIỆP

MSSV: 2115031014


CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

KHÓA 2015 – 2019.
CÁN BỘ HƢỚNG DẪN
TH.S NGUYỄN THỊ MINH CHÂU

Quảng Nam, tháng 04 năm 2019

LỜI CẢM ƠN

Lời đầu tiên, em xin gởi lời cảm ơn chân thành đến giáo viên hƣớng dẫn Th.s

Nguyễn Thị Minh Châu . Trong suốt thời gian học và làm đồ án tốt nghiệp, cô đã

dành rất nhiều thời gian quý báu để bận tình hƣớng dẫn, định hƣớng cho em trong

việc nghiên cứu và thực hiện đề tài.

Trên thực tế khơng có thành cơng nào mà không gắn liền với sự hỗ trợ, giúp

đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp từ ngƣời khác. Thật vậy! Trong suốt

thời gian thực hiện đề tài khóa luận của mình, tơi ln nhận đƣợc sự quan tâm

hƣớng dẫn, chỉ bảo tận tình của cơ giáo, Th.S Nguyễn Thị Minh Châu để có thể

hồn thành tốt báo cáo thực này. Tôi xin gửi đến cô một lời cảm ơn chân thành và

sâu sắc nhất!


Tôi cũng xin chân thành cảm ơn quý thầy, cô khoa Công nghệ thơng tin,

trƣờng Đại học Quảng Nam đã tận tình truyền đạt kiến thức cho tôi trong suốt bốn

năm học tại trƣờng. Với vốn kiến thức đƣợc tiếp thu trong quá trình học tập khơng

chỉ là nền tảng cho q trình nghiên cứu khóa luận này mà cịn là hành trang quý

báu để tôi bƣớc vào đời một cách vững chắc và tự tin. Tôi cũng thầm biết ơn sự ủng

hộ của gia đình, bạn bè và những ngƣời thân yêu luôn là chỗ dựa tinh thần vững

chắc cho tôi.

Và tôi cũng xin chân thành cảm ơn quý thầy cô của trƣờng Đại học Quảng

Nam đã tạo những điều kiện thuận lợi trong quá trình rèn luyện và học tập tại

trƣờng.

Trong quá trình thực hiện đề tài, do kiến thức và thời gian cịn hạn chế nên

khơng tránh khỏi những sai sót. Vì vậy em mong q thầy, cơ thơng cảm và góp ý

để em có thể hồn thiện đề tài. Những lời góp ý đó giúp em có thể tránh đƣợc

những sai lầm sau này.

Cuối cùng, tơi xin kính chúc q thầy, cơ cùng gia đình dồi dào sức khỏe và


thành công trong sự nghiệp trồng ngƣời cao quý.

Em xin chân thành cảm ơn!

Tam Kỳ, ngày 19 tháng 4 năm 2019
Sinh viên thực hiện

Võ Văn Hiệp

MỤC LỤC

LỜI CẢM ƠN .............................................................................................................1
PHẦN 1. MỞ ĐẦU.....................................................................................................1

1.1. Lý do chọn đề tài ...........................................................................................1
1.2. Mục tiêu của đề tài.........................................................................................2
1.3. Đối tƣợng và phạm vi nghiên cứu .................................................................2
1.4. Phƣơng pháp nghiên cứu ...............................................................................2
1.5. Cấu trúc đề tài................................................................................................2
PHẦN 2. NỘI DUNG NGHIÊN CỨU .......................................................................3
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT VÀ NỀN TẢNG ĐỂ XÂY DỤNG WEBSITE 3
1.1. Tổng quan về thƣơng mại điện tử..................................................................3

1.1.1. Khái niệm thương mại điện tử (TMĐT)..................................................3
1.1.2. Lợi ích của việc sử dụng thương mại điện tử .........................................3
1.2. Tổng quan về ngôn ngữ java .........................................................................4
1.2.1. Nguồn gốc của ngôn ngữ java ................................................................4
1.2.2. Đặc điểm của ngôn ngữ java ..................................................................4
1.2.3. Ưu điểm ngôn ngữ java...........................................................................5
1.2.4. Hoạt động của một website viết bằng java .............................................6

1.3. Tổng quan về SQLServer và Tomcat ............................................................6
1.3.1. Tổng quan về SQLServer ........................................................................6
1.3.2. Các thành phần cơ bản trong SQL Server..............................................7
1.3.3. Giới thiệu Tomcat ...................................................................................9
1.4. Mô tả hệ thống bán hàng điện tử dân dụng ...................................................9
CHƢƠNG 2: TÌM HIỂU VỀ SPRING MVC...........................................................12
2.1. Spring Framework .......................................................................................12
2.1.1. Giới thiệu ..............................................................................................12
2.1.2. Các module chính .................................................................................12
2.1.3. Lý do sử dụng Spring ............................................................................14
2.2. Spring MVC ................................................................................................14
2.2.1. Mơ hình MVC........................................................................................14
2.3. Ƣu điểm của spring mvc..............................................................................15

2.4. Một số thành phần liên quan .......................................................................15
2.4.1. Inversion of Control Container (IoC container) ..................................15
2.4.2. Bean ......................................................................................................16
2.4.3. Dependency Injection (DI)....................................................................16
2.4.4. Setter Injection ......................................................................................16
2.4.5. Constuctor injection..............................................................................17
2.4.6. Application Context ..............................................................................17
2.4.7. Cơ chế xử lý Request-Respone..............................................................18
2.4.8. Giải thích sơ đồ luồng dữ liệu ..............................................................18
2.4.9. Configuring DispatcherServlet .............................................................18
2.4.10. Configuring a context loader ............................................................19
2.4.11. Building the controller ......................................................................20
2.4.12. Introducing ModelAndView ..............................................................20
2.4.13. Configuring the controller bean........................................................21
2.4.14. Truy xuất dữ liệu trong Spring MVC.................................................21


CHƢƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ........................................22
3.1. Xác định Actor và vai trò của Actor (trong hệ thống).................................22
3.2. Sơ đồ Use Case ............................................................................................22
3.3. Biểu đồ tuần tự ............................................................................................29
3.3.1. Biểu đồ tuần tự “đăng nhập”.................................................................29
Biểu đồ tuần tự “quản lý hàng hóa”...................................................................30
3.3.2. Biểu đồ tuần tự “Mua bán hàng hóa” ...................................................30
3.3.3. Biểu đồ “Quản lý nhân viên”................................................................31
3.3.4. Biểu đồ tuần tự báo cáo thống kê .........................................................31
3.3.5. Biểu đồ tuần tự “Thanh toán đơn hàng”. ..............................................32
3.3.6. Biểu đồ tuần tự “Quản lý khách hàng” .................................................32
3.4. Sơ đồ hoạt động ...........................................................................................33
3.4.1. Đặc tả sơ đồ hoạt động đăng nhập ........................................................33
3.4.2. Đặc tả sơ đồ hoạt động đăng ký............................................................33
3.4.3. Đặc tả sơ đồ hoạt động đặt hàng...........................................................34
3.4.4. Đặc tả sơ đồ hoạt động tìm kiếm ..........................................................35
3.4.5. Đặc tả sơ đồ hoạt động quản lý thêm mới của admin...........................35

3.4.6. Đặc tả sơ đồ hoạt động quản lý xóa của admin ....................................36
3.4.7. Đặc tả sơ đồ hoạt động quản lý sửa của admin ....................................37
3.5. Đặc tả cơ sở dữ liệu .....................................................................................37
3.5.1. Sơ đồ lớp ...............................................................................................38
3.5.2. Thiết kế cơ sở dữ liệu ...........................................................................39
CHƢƠNG 4: DEMO VÀ HƢỚNG DẪN CÀI ĐẶT CHƢƠNG TRÌNH................44
4.1. Cài đặt chƣơng trình ....................................................................................44
4.2. Giới thiệu trang web ....................................................................................44
4.2.1. Phần dành cho ngƣời sử dụng...............................................................44
4.2.2. Phần dành cho nhà quản trị - Administration Tool...............................57
PHẦN 3. KẾT LUẬN VÀ KIẾN NGHỊ...................................................................63
Phần 4. TÀI LIỆU THAM KHẢO............................................................................64


DANH MỤC HÌNH ẢNH

Hình 1: Tomcat ...........................................................................................................9
Hình 2: Mơ hình MVC ..............................................................................................14
Hình 3: Sơ đồ Use Case ............................................................................................22
Hình 4: Biểu đồ tuần tự “đăng nhập”........................................................................29
Hình 5: Biểu đồ tuần tự “quản lý hàng hóa”.............................................................30
Hình 6: Biểu đồ tuần tự mua bán hàng hóa...............................................................30
Hình 7: Biểu đồ tuần tự quản lý nhân viên ...............................................................31
Hình 8: Biểu đồ tuần tự báo cáo thống kê.................................................................31
Hình 9: Biểu đồ tuần tự thanh tốn đơn hàng ...........................................................32
Hình 10: Biểu đồ tuần tự quản lý khách hàng...........................................................32
Hình 11: Sơ đồ hoạt động đăng nhập........................................................................33
Hình 12: Sơ đồ hoạt động đăng ký............................................................................33
Hình 13: Sơ đồ hoạt động đặt hàng...........................................................................34
Hình 14: Sơ đồ hoạt động tìm kiếm ..........................................................................35
Hình 15: Sơ đồ hoạt động thêm mới của admin .......................................................35
Hình 16: Sơ đồ hoạt động xóa của admin .................................................................36
Hình 17: Sơ đồ hoạt động sửa của admin .................................................................37
Hinh 18: Sơ đồ lớp ....................................................................................................38
Hình 19: Mơ hình quan hệ mức vật lý ......................................................................43
Hình 20: Trang chủ ...................................................................................................44
Hình 21: Header và menu .........................................................................................45
Hình 22: Sản phẩm....................................................................................................45
Hình 23: Footer .........................................................................................................46
Hình 24: Xem nhanh Giỏ hàng .................................................................................46
Hình 25: Tìm kiếm hàng ...........................................................................................46
Hình 26: Chi tiết hàng hóa ........................................................................................46
Hình 27: Chi tiết sản phẩm........................................................................................47

Hình 28: Các mặt hàng lên quan và gởi hàng cho bạn..............................................48
Hình 29: Phóng to ảnh...............................................................................................48
Hình 30: Sản phẩm u thích ....................................................................................49
Hình 31: Chọn Hàng .................................................................................................49

Hình 32: Quản lý giỏ hàng ........................................................................................49
Hình 33: Đăng ký thành viên ....................................................................................50
Hình 34: Đăng ký thành viên sai...............................................................................51
Hình 35: Menu khi chƣa đăng nhập và đã đăng nhập thành cơng ............................51
Hình 36: Hộp thoại đăng nhập ..................................................................................51
Hình 37:Hộp thoại quên mật khẩu ............................................................................52
Hình 38:Đặt mua hàng ..............................................................................................52
Hình 39: Giỏ hàng .....................................................................................................52
Hình 40: Danh sách đơn hàng ...................................................................................53
Hình 41: Đổi mật khẩu ..............................................................................................53
Hình 42: Cập nhật hồ sơ............................................................................................54
Hình 43: Quản lý đơn hàng .......................................................................................54
Hình 44: Thơng tin đơn hàng ....................................................................................54
Hình 45: Danh sách các đơn hàng đã mua ................................................................55
Hình 46 :Liên hệ........................................................................................................55
Hình 47: Góp ý..........................................................................................................56
Hình 48: Login admin ...............................................................................................57
Hình 49: Quản lý hàng hóa .......................................................................................58
Hình 50: Danh sách hàng hóa ...................................................................................59
Hình 51:Thống kê .....................................................................................................59
Hình 52: Chọn thời gian thống kê.............................................................................60
Hình 53: Kết quả thống kê ........................................................................................60
Hình 54: Phân quyền .................................................................................................61
Hình 55: quản lý vai trị ............................................................................................62
Hình 56:Phân vai trị .................................................................................................62

Hình 57: Phân quyền sử dụng ...................................................................................62

DANH MỤC CÁC BẢNG

Bảng 1: Bảng User ....................................................................................................39
Bảng 2: Bảng UserRoles ...........................................................................................39
Bảng 3: Bảng Role ....................................................................................................39
Bảng 4: Bảng Permission ..........................................................................................39
Bảng 5: Bảng Actions ...............................................................................................40
Bảng 6: Bảng Customers...........................................................................................40
Bảng 7: Bảng Orders .................................................................................................40
Bảng 8: Bảng OrderDetails .......................................................................................41
Bảng 9: Bảng Product ...............................................................................................42
Bảng 10: Bảng Suppliers...........................................................................................42
Bảng 11: Bảng Categories.........................................................................................42

PHẦN 1. MỞ ĐẦU

1.1. Lý do chọn đề tài
Ngày nay, công nghệ thơng tin đã có những bƣớc phát triển mạnh mẽ theo cả

chiều rộng và sâu. Máy tính điện tử khơng còn là một thứ phƣơng tiện quý hiếm mà
đang ngày càng trở thành một công cụ làm việc và giải trí thơng dụng của con
ngƣời, khơng chỉ ở nơi làm việc mà cịn ngay cả trong gia đình. Đặc biệt là công
nghệ thông tin đƣợc áp dụng trên mọi lĩnh vực kinh tế, chính trị, xã hội. Ứng dụng
cơng nghệ thơng tin và tin học hóa đƣợc xem là một trong yếu tố mang tính quyết
định trong hoạt động của quốc gia, tổ chức và trong cả các cửa hàng. Nó đóng vai
trị hết sức quan trọng và có thể tạo nên bƣớc đột phá mạnh mẽ. Mạng INTERNET
là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một
công cụ không thể thiếu, là nền tảng để truyền tải, trao đổi thông tin trên toàn cầu.

Bằng INTERNET, chúng ta đã thực hiện đƣợc những cơng việc với tốc độ nhanh
hơn, chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã thúc
đẩy sự khai sinh và phát triển của thƣơng mại điện tử trên khắp thế giới, làm biến
đổi đáng kể bộ mặt văn hóa, nâng cao đời sống con ngƣời. Trong hoạt động sản
xuất, kinh doanh, thƣơng mại điện tử đã khẳng định đƣợc xúc tiến và thúc đẩy sự
phát triển của doanh nghiệp. Đối với một cửa hàng, việc quảng bá và giới thiệu sản
phẩm đến khách hàng đáp ứng nhu cầu mua sắm ngày càng cao của khách hàng sẽ
là cần thiết.

Hiện nay để xây dựng một Website bán hàng online thì chúng ta có thể sử dụng
nhiều Framework khác nhau của nhiều ngôn ngữ. Tuy nhiên để xây dựng các
website và các ứng dụng web phức tạp, có thể sẽ mất quá nhiều thời gian và rắc rối
nếu cứ xây dựng ứng dụng từ đầu, vì thế cần đến một cách tự nhiên hơn để xây
dựng sản phẩm. Spring MVC ra đời và cung cấp cho các nhà phát triển với một giải
pháp thỏa đáng cho điều đó.

Spring MVC là một cấu trúc dùng để xây dựng chƣơng trình ứng dụng mã
nguồn mở dành cho ngơn ngữ lập trình Java. MVC là một framework nhẹ. Nó có
thể đƣợc dùng nhƣ một framework của frameworks vì nó cung cấp hỗ trợ khác nhau
frameworks nhƣ Struts, Hibernate, Tapestry, EJB, JSF vv…

Spring MVC framework đƣợc sử dụng cho phát triển ứng dụng web rất dễ dàng
với việc hỗ trợ rất tốt các tính năng web services, json,… MVC mang tính chất

1

chun nghiệp trong lập trình web vì nó mang tính logic cao nhƣng đơn giản, phân
tách rõ ràng các chức năng cần làm của một ứng dụng, qua đó nhiều ngƣời có thể
làm chung dự án, phát hiện và sửa lỗi, dễ nâng cấp tính năng đồng thời khi bảo trì
cũng rất dễ dàng.


Với những lý do trên, nên tôi đã quyết định chọn đề tài “Tìm hiểu Spring
MVC và ứng dụng để xây dụng website bán hàng điện tử dân dụng ”.
1.2. Mục tiêu của đề tài

- Tìm hiểu spring web mvc. Tìm hiểu về java, jsp. Tìm hiểu về SQLServer
trong java, Tomcat. Tìm hiểu hệ thống bán hàng điện tử.

- Từ những tìm hiểu trên để từ đó xây dựng đƣợc website bán hàng điện tử dân
dụng.
1.3. Đối tƣợng và phạm vi nghiên cứu

Xây dựng trang web ứng dụng bán hàng dân dụng nhƣ tủ lạnh, điện thoại, tivi,
máy giặt và một số linh kiện khác… Trong thởi đại Thƣơng mai điện tử phát triển,
việc ứng dụng vào hoạt động “Website bán hàng” đã mang lại nhiều ý nghĩa lớn.
1.4. Phƣơng pháp nghiên cứu

- Phƣơng pháp lý luận:
+ Tìm hiểu kỹ thuật lập trình, tìm hiểu cách thức hoạt động và các đối tƣợng

trong spring mvc thông qua sách, tài liệu Internet.
- Phƣơng pháp thực tiễn:
+ Viết ứng dụng xây dựng website bán hàng điện tử dân dụng.
- Ngồi ra cịn sử dụng các phƣơng pháp khác nhƣ : logic, phân tích, tổng hợp,

thống kê,…
1.5. Cấu trúc đề tài

Nội dung khóa luận gồm có 4 chƣơng:
Chƣơng 1: CƠ SỞ LÝ THUYẾT VÀ NỀN TẢNG ĐỂ XÂY DỤNG WEBSITE

Chƣơng 2: TÌM HIỂU VỀ SPRING MVC
Chƣơng 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Chƣơng 4: DEMO VÀ HƢỚNG DẪN CÀI ĐẶT CHƢƠNG TRÌNH

2

PHẦN 2. NỘI DUNG NGHIÊN CỨU
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT VÀ NỀN TẢNG ĐỂ XÂY DỤNG

WEBSITE

1.1. Tổng quan về thƣơng mại điện tử
1.1.1. Khái niệm thương mại điện tử (TMĐT)
TMĐT càng đƣợc biết tới nhƣ một phƣơng thức kinh doanh hiệu quả từ khi

Internet hình thành và phát triển. Chính vì vậy, nhiều ngƣời hiểu TMĐT theo nghĩa
cụ thể hơn là giao dịch thƣơng mại, mua sắm qua Internet và mạng (ví dụ mạng
Internet của doanh nghiệp).

“Thuật ngữ Thƣơng mại cần đƣợc diễn giải theo nghĩa rộng để bao quát các vấn
đề phát sinh từ mọi quan hệ mang tính chất thƣơng mại dù có hay khơng có hợp
đồng. Các quan hệ mang tính thƣơng mại bao gồm các giao dịch sau đây: bất cứ
giao dịch nào về thƣơng mại nào về cung cấp hoặc trao đổi hàng hóa hoặc dịch vụ;
thỏa thuận phân phối; đại diện hoặc đại lý thƣơng mại, ủy thác hoa hồng; cho thuê
dài hạn; xây dựng các cơng trình; tƣ vấn; kỹ thuật cơng trình; đầu tƣ; cấp vốn; ngân
hàng; bảo hiểm; thỏa thuận khai thác hoặc tơ nhƣợng; liên doanh các hình thức khác
về hợp tác cơng nghiệp hoặc kinh doanh; chun chở hàng hóa hay hành khách
bằng đƣờng biển, đƣờng không, đƣờng sắt hoặc đƣờng bộ.”

Nhƣ vậy, có thể thấy rằng phạm vi của Thƣơng mại điện tử rất rộng, bao quát

hầu hết các lĩnh vực hoạt động kinh tế, việc mua bán hàng hóa và dịch vụ chỉ là một
trong hàng ngàn lĩnh vực áp dụng của Thƣơng mại điện tử. Theo nghĩa hẹp thƣơng
mại điện tử chỉ gồm các hoạt động thƣơng mại đƣợc tiến hành trên mạng máy tính
mở nhƣ Internet. Trên thực tế, chính các hoạt động thƣơng mại thông qua mạng
Internet đã làm phát sinh thuật ngữ Thƣơng mại điện tử.

1.1.2. Lợi ích của việc sử dụng thương mại điện tử
Lợi ích lớn nhất mà TMĐT đem lại chính là sự tiết kiệm chi phí và tạo thuận lợi
cho các bên giao dịch. Giao dịch bằng phƣơng tiện điện tử nhanh hơn so với giao
dịch truyền thống, ví dụ gửi fax hay thƣ điện tử thì nội dung thông tin đến tay ngƣời
nhận nhanh hơn gửi thƣ. Các giao dịch qua Internet có chi phí rất rẻ, một doanh
nghiệp có thể gửi thƣ tiếp thị, chào hàng đến hàng loạt khách hàng chỉ với chi phí
giống nhƣ gửi cho một khách hàng. Với TMĐT, các bên có thể tiến hành giao dịch
khi ở cách xa nhau, giữa thành phố với nông thôn, từ nƣớc này sang nƣớc kia, hay

3

nói cách khác là khơng bị giới hạn bởi khơng gian địa lý. Điều này cho phép các
doanh nghiệp tiết kiệm chi phí đi lại, thời gian gặp mặt trong khi mua bán. Với
ngƣời tiêu dùng, họ có thể ngồi tại nhà để đặt hàng, mua sắm nhiều loại hàng hóa,
dịch vụ thật nhanh chóng.

Những lợi ích nhƣ trên chỉ có đƣợc với những doanh nghiệp thực sự nhận thức
đƣợc giá trị của TMĐT. Vì vậy, TMĐT góp phần thúc đẩy sự cạnh tranh giữa các
doanh nghiệp để thu đƣợc nhiều lợi ích nhất. Điều này đặc biệt quan trọng trong bối
cảnh hội nhập kinh tế quốc tế, khi các doanh nghiệp trong nƣớc phải cạnh tranh một
cách bình đẳng với các doanh nghiệp nƣớc ngồi.
1.2. Tổng quan về ngôn ngữ java

1.2.1. Nguồn gốc của ngôn ngữ java

Thập kỷ 90 chứng kiến một sự phát triển nhƣ vũ bão của mạng Internet, kèm
theo đó là vơ vàn các ứng dụng trên các môi trƣờng, hệ điều hành (OS) và các hệ xử
lý (CPU) khác nhau. Tuy nhiên có một điểm hạn chế lớn là ngƣời lập trình phải rất
vất vả khi chuyển đổi các ứng dụng của mình để các hệ thống khác có thể sử dụng
đƣợc.
Ngày 23/5/1995, cơng ty máy tính Sun Microsystems đã giới thiệu một cơng cụ
lập trình mới - ngơn ngữ Java - nhằm khắc phục những khó khăn đó. Đặc điểm nổi
bật nhất của Java là nó khơng phụ thuộc vào hệ điều hành và bộ xử lý. Điều này cho
phép một ứng dụng viết bằng Java có thể đƣợc thực hiện trên bất kỳ hệ điều hành và
hệ xử lý nào có hỗ trợ Java. Do vậy, ngƣời lập trình chỉ cần viết ứng dụng bằng
Java đúng một lần, sau đó có thể sử dụng ứng dụng này trên các hệ điều hành khác
nhau nhƣ Windows95, WindowsNT, Mac OS, Unix,… theo phƣơng châm: “viết
một lần, sử dụng ở bất kỳ đâu”.
1.2.2. Đặc điểm của ngôn ngữ java
Java là ngôn ngữ lập trình hƣớng đối tƣợng nên nó cũng có 4 đặc điểm chung
của các ngôn ngữ hƣớng đối tƣợng:
Tính trừu tƣợng (Abstraction): là tiến trình xác định và nhóm các thuộc tính,
các hành động liên quan đến một thực thể đặc thù, xét trong mối tƣơng quan với
ứng dụng đang phát triển.
Tính đa hình (Polymorphism): cho phép một phƣơng thức có các tác động khác
nhau trên nhiều loại đối tƣợng khác nhau. Với tính đa hình, nếu cùng một phƣơng

4

thức ứng dụng cho các đối tƣợng thuộc các lớp khác nhau thì nó đƣa đến những kết
quả khác nhau. Bản chất của sự việc chính là phƣơng thức này bao gồm cùng một
số lƣợng các tham số.

Tính kế thừa (Inheritance): Điều này cho phép các đối tƣợng chia sẻ hay mở
rộng các đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại.


Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chi
tiết của một đối tƣợng đối với ngƣời sử dụng đối tƣợng ấy.

Bên cạnh đó Java cịn có một số đặc tính khác nhƣ:
Có thể định nghĩa một cách chính xác hơn về Java: “là ngơn ngữ lập trình
hƣớng đối tƣợng, đƣợc thiết kế độc lập với hệ điều hành, cho phép ngƣời lập trình
viết chƣơng trình một lần và có thể sử dụng tại bất kỳ đâu”.
Không chỉ giới thiệu ngôn ngữ lập trình, Sun Microsystems cịn đƣa ra hàng
loạt cơng cụ hỗ trợ ngƣời lập trình phát triển các ứng dụng bằng Java, nhƣ Java
Developer Kit, JavaBeans, HotJava…
Ngơn ngữ Java có cú pháp rất giống với ngơn ngữ C/C++ (là một ngôn ngữ rất
mạnh đƣợc dùng phổ biến hiện nay), tuy nhiên nó đã đƣợc thay đổi khá nhiều để
đáp ứng khả năng độc lập với hệ điều hành. Nền tảng của ngôn ngữ Java là các
class. Các class đóng vai trị nhƣ những đối tƣợng, ngƣời lập trình khi xây dựng ứng
dụng sẽ sử dụng một số class chuẩn của hệ thống, đồng thời có thể tự mình xây
dựng class khác đáp ứng u cầu cơng việc.
Java là ngôn ngữ dễ học, nó lƣợc bớt những lệnh thừa và rƣờm rà của C/C++ để
ngƣời lập trình chú trọng vào việc viết chƣơng trình. Đồng thời, nó cịn hạn chế
ngƣời lập trình khơng can thiệp quá sâu vào hệ thống.
Hiện nay Java đƣợc ứng dụng rất rộng rãi, chủ yếu là các ứng dụng đƣợc viết
trên Internet nhằm khai thác tối đa khả năng của nó trong lĩnh vực viễn thơng,
truyền hình, mạng, và các máy tính đơn lẻ. Hiện tại các ứng dụng viết bằng Java khi
thực hiện còn chậm hơn so với các ứng dụng đƣợc xây dựng thông thƣờng, tuy
nhiên hầu hết các nhà phát triển phần mềm đều cho rằng tốc độ sẽ đƣợc cải thiện và
Java sẽ là ngơn ngữ lập trình của tƣơng lai.
1.2.3. Ưu điểm ngôn ngữ java
Đơn giản, hƣớng đối tƣợng và quen thuộc.

- Mạnh mẽ và an toàn.


5

- Kiến trúc trung lập và di động.
- Thực thi với hiệu suất cao.
- Dịch ra bytecode, phân luồng và năng động.
- Dễ sử dụng cho ngƣời dùng Java
1.2.4. Hoạt động của một website viết bằng java
Chƣơng trình xây dựng bằng Java đƣợc chia làm các loại sau:
- Java Applet là các đối tƣợng đƣợc thực hiện trên trình duyệt Web. Khi thực
hiện trên các trình duyệt Web, Java Applet cũng tạo ra các hiệu ứng nhƣ một ứng
dụng bình thƣờng, tuy nhiên các thông tin cho phép Java Applet thực hiện lại đƣợc
đƣa từ các trang Web.
Ngƣời sử dụng dùng trình duyệt Web (browser) để xem các trang thơng tin,
trong đó có nhúng đối tƣợng Java Applet. Khi trình duyệt Web truy cập đến trang
thơng tin này, Java Applet sẽ đƣợc tải về trình duyệt Web và đƣợc thực hiện thông
qua một cơ cấu gọi là Java Virtual Machine (JVM) đã đƣợc cài sẵn trong trình
duyệt.
- Java Application (Java App) là những ứng dụng độc lập, tƣơng tự nhƣ những
chƣơng trình có đi .EXE hay đi .COM thơng thƣờng. Việc thực hiện Java App
đơn giản hơn Java Applet vì chúng khơng cần phải thơng qua trình duyệt Web.
- Java Virtual Machine (JVM) đóng vai trị rất quan trọng để các ứng dụng
Java có thể thực hiện đƣợc. Nó hoạt động nhƣ một máy tính ảo, cũng có bộ lệnh,
cấu trúc dữ liệu, bộ nhớ,… Khi các ứng dụng Java (sau khi dịch, các ứng dụng viết
bằng Java sẽ có phần mở rộng là class) thực hiện, JVM tiến hành phân tích mã trong
class đó thành bộ lệnh của JVM rồi thực hiện giống nhƣ máy tính PC thao tác với
các ứng dụng thơng thƣờng.
Bởi vậy, các class sau khi dịch có thể đƣợc thực hiện trên bất kỳ hệ điều hành
nào thơng qua máy tính ảo JVM.
Hiện tại, JVM đƣợc xây dựng cho hầu hết các hệ điều hành và hệ xử lý hiện có,

điều này có nghĩa là các ứng dụng viết bằng Java có đầy đủ điều kiện để phát triển.
1.3. Tổng quan về SQLServer và Tomcat
1.3.1. Tổng quan về SQLServer
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System (RDBMS)) sử dụng câu lệnh SQL(Transact-SQL) để trao đổi

6

dữ liệu giữa máy Client và máy cài SQL Server. Một RDBMS bao gồm databases,
database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau
trong RDBMS.

SQL Server đƣợc tối ƣu để có thể chạy trên mơi trƣờng cơ sở dữ liệu rất lớn
(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc
cho hàng ngàn user. SQL Server có thể kết hợp “ăn ý” với các server khác nhƣ
Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server….

1.3.2. Các thành phần cơ bản trong SQL Server
SQL Server đƣợc cấu tạo bởi nhiều thành phần nhƣ Database Engine, Reporting
Services, Notification Services, Integration Services, Full Text Search Service….
Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hồn chỉnh giúp
cho việc lƣu trữ và phân tích dữ liệu một cách dễ dàng.
Database Engine
- Cốt lõi của SQL Server:

Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dƣới dạng
table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft
nhƣ: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity
(ODBC).


Ngồi ra nó cịn có khả năng tự điều chỉnh (tune up) ví dụ nhƣ sử dụng thêm
các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi
một user log off.

Replication
- Cơ chế tạo bản sao (Replica):
Giả sử ta có một database dùng để chứa dữ liệu đƣợc các ứng dụng thƣờng
xuyên cập nhật. Một ngày đẹp trời bạn muốn có một cái database giống y hệt nhƣ
thế trên một server khác để chạy báo cáo (report database) (cách làm này thƣờng
dùng để tránh ảnh hƣởng đến performance của server chính). Vấn đề là report
server của ta cũng cần phải đƣợc cập nhật thƣờng xuyên để đảm bảo tính chính xác
của các báo cáo. Ta khơng thể dùng cơ chế back up and restore trong trƣờng hợp
này. Thế thì ta phải làm sao? Lúc đó cơ chế replication của SQL Server sẽ đƣợc sử
dụng để bảo đảm cho dữ liệu ở 2 database đƣợc đồng bộ (synchronized).
Integration Services (DTS)

7

- Integration Services là một tập hợp các công cụ đồ họa và các đối tƣợng lập
trình cho việc di chuyển, sao chép và chuyển đổi dữ liệu.

Nếu ta làm việc trong một cơng ty lớn trong đó data đƣợc chứa trong nhiều nơi
khác nhau và ở các dạng khác nhau cụ thể nhƣ chứa trong Oracle, DB2 (của IBM),
SQL Server, Microsoft Access… Ta chắc chắn sẽ có nhu cầu di chuyển data giữa
các server này (migrate hay transfer) và khơng chỉ di chuyển bạn cịn muốn định
dạng (format) nó trƣớc khi lƣu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn
giải quyết công việc trên dễ dàng.

Analysis Services
- Một dịch vụ phân tích dữ liệu rất hay của Microsoft

Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu nhƣ bạn
khơng thể lấy đƣợc những thơng tin (Information) bổ ích từ đó. Do đó Microsoft
cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ
dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension
cubes) và kỹ thuật “khai phá dữ liệu” (data mining).
Notification Services
Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và triển
khai các ứng dụng tạo và gửi thơng báo. Notification Services có thể gửi thơng báo
theo đồng thời đến hàng ngàn ngƣời đăng ký sử dụng nhiều loại thiết bị khác nhau.
Reporting Services
Reporting Services bao gồm các thành phần server và client cho việc tạo, quản
lý và triển khai các báo cáo. Reporting Services cũng là nền tảng cho việc phát triển
và xây dựng các ứng dụng báo cáo.
Full Text Search Service
Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho đánh chỉ
mục và truy vấn cho dữ liệu văn bản không cấu trúc đƣợc lƣu trữ trong các CSDL
SQL Server. Đánh chỉ mục với Full Text Search có thể dduwowcj tạo trên bất kỳ
cột dựa trên dữ liệu văn bản. Nó sẽ rất hiệu quả cho việc tìm các sử dụng tốn tử
LIKE trong SQL với trƣờng hợp tìm văn bản.
Service Broker
Đƣợc sử dụng bên trong mỗi Instance, là môi trƣờng lập trình cho việc các ứng
dụng nhảy qua các Instance. Service Broker giao tiếp qua giao thức TCP/IP và cho

8

phép các component khác nhau có thể đƣợc đồng bộ cùng nhau theo hƣớng trao đổi
các message. Service Broker chạy nhƣ một phần của bộ máy cơ sở dữ liệu, cung cấp
một nền tảng truyền message tin cậy và theo hàng đợi cho các ứng dụng SQL
Server.


1.3.3. Giới thiệu Tomcat
Tomcat là một ứng dụng chủ (Application Server), là một phần mềm mã

nguồn mở đƣợc cung cấp bởi Apache. Tomcat nổi tiếng vì gọn nhẹ nó thƣờng đƣợc
sử dụng trong q trình phát triển một ứng Web trên nền tảng Java Servlet.

Hình 1: Tomcat
Bạn cũng có thể sử dụng Tomcat để triển khai các ứng dụng Java Web trên
thực tế và hồn tồn có thể tin tƣởng vào sự ổn định của nó.
1.4. Mơ tả hệ thống bán hàng điện tử dân dụng
Đây là một website nhằm bán và giới thiệu rộng rãi các mặt hàng điện tử dân
dụng đến ngƣời tiêu dùng với các chi tiết mặt hàng cũng nhƣ giá cả một cách chính
xác nhất. Website nhằm:
- Về hoạt động khách hàng:
Khi khách đã quyết định tham gia vào hoạt động mua hàng của cửa hàng thì
mỗi khách hàng đƣợc cung cấp một giỏ hàng tƣơng ứng. Khách hàng tự do lựa chọn
loại hàng hóa nào mà mình thích vào giỏ hàng của mình.
+ Tìm kiếm và lựa chọn từ xa sản phẩm mình cần: Khách hàng khi truy cập
vào trang web thƣơng mại thƣờng tìm kiếm các mặt hàng hay các sản phẩm mà họ
cần và muốn mua. Nhƣng đơi khi cũng có nhiều khách hàng vào website này mà
khơng có ý định mua hay khơng biết mua gì thì yêu cầu đặt ra cho hệ thống là làm
thế nào để khách hàng dễ bị bắt mắt và hấp dẫn với sản phẩm đó, đồng thời có thể
tìm kiếm nhanh và hiệu quả các sản phẩm mà họ cần tìm. Vì vậy, thơng qua chức
năng tìm kiếm của website thì khách hàng có thể tìm đƣợc nhanh chóng những mặt

9

hàng mà mình muốn mua một cách nhanh nhất. Khi đã chọn đƣợc mặt hàng ƣng ý
thì khách hàng có thể thêm hàng vào giỏ hàng.


+ Đặt mua hàng: Sau khi khách hàng lựa chọn xong những mặt hàng cần đặt
mua thì đơn đặt hàng sẽ đƣợc hiển thị, khách hàng có thể cập nhật lại mặt hàng có
trong giỏ hàng nhƣ thay đổi số lƣợng và có thể xóa bớt đi mặt hàng trong giỏ hàng
mà mình khơng muốn mua nữa.

+Trƣờng hợp khách hàng chƣa đăng ký tài khoản: Khi chƣa đăng ký tài khoản
thì khách hàng vẫn có thể lựa chọn những mặt hàng mình u thích thêm vào trong
giỏ hàng. Khi đặt hàng thì sẽ đƣợc hiển thị thơng báo vui lịng đăng nhập và chọn
hàng.

+ Trƣờng hợp Khách hàng đã đăng ký tài khoản thì có thể:
 Mua hàng: Khi tiến hành đặt hàng thì khách hàng cần nhập những thơng

tin cần thiết để cửa hàng có thể giao hàng tận nơi cho khách: Tên - Địa chỉ - Số điện
thoại - Ngày nhận hàng…

 Theo dõi đơn hàng của mình.
 Gửi ý kiến đóng góp.
- Về hoạt động của nhà quản trị:
+ Trƣớc hết để vào website quản lý thì nhà quản trị phải đăng nhập vào hệ
thống.
+ Nhà quản lý có một username và một password để truy cập vào hệ thống.
Khi đã đăng nhập thành cơng thì nhà quản trị có thể quản lý và làm chủ mọi hoạt
động của hệ thống trang web nhằm thực hiện các chức năng sau:
+ Quản lý các sản phẩm một cách dễ dàng: Nhà quản trị có thể Thêm, xố, sửa
thơng tin sản phẩm, nhà cung cấp, hóa đơn, khách hàng vào cơ sở dữ liệu.
+ Nhà quản trị có thể kiểm kê hàng tồn kho để có thể biết đƣợc mặt hàng nào
đang bán chạy hoặc đang còn tồn kho.
+ Thống kê doanh số bán hàng: Nhà quản trị có thể thống kê doanh số bán
hàng:


o Theo từng mặt hàng
o Theo từng loại hàng
o Theo từng hãng
o Theo từng khách hàng

10

o Theo từng năm
o Theo từng quý
o Theo từng tháng
+ Phân quyền ngƣời dùng: admin đƣợc toàn quyền còn user sẽ đƣợc phân chi
tiết cho từng trang
+ Kiểm tra và xử lý đơn đặt hàng.
+ Quản lý thông tin khách hàng.

11


×