1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình web với java và xây dựng ứng dụng

91 181 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 3,81 MB

Nội dung

Lập trình web với java và xây dựng ứng dụng

Trang 1

BÁO CÁO THỰC TẬP CHUYÊN NGÀNH

ĐỀ TÀI: LẬP TRÌNH WEB VỚI JAVA

VÀ XÂY DỰNG ỨNG DỤNG

HÀ NỘI – 2018

Trang 2

BÁO CÁO THỰC TẬP CHUYÊN NGÀNH

ĐỀ TÀI: LẬP TRÌNH WEB VỚI JAVA

Trang 3

BẢNG CÁC THUẬT NGỮ VIẾT TẮT 2

PHẦN I: Mở Đầu 3

1.1 Tên đề tài 3

1.2 Đặt vấn đề 3

1.3 Mục đích và yêu cầu 3

1.3.1 Mục đích: 3

1.3.2 Yêu cầu: 4

1.3.2.1 Đối với sinh viên thực hiện: 4

1.3.2.2 Đối với sản phẩm phải đảm bảo các chức năng sau: 4

PHẦN II: TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 4

2.1 Tình hình nghiên cứu trong nước 4

2.2 Tình hình nghiên cứu ngoài nước 5

2.3 Tên đề tài, tính thời sự và tầm quan trọng của đề tài 6

2.3.1 Tên đề tài 6

2.3.2 Tính thời sự 6

2.3.3 Tầm quan trọng của đề tài 6

PHẦN III: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 6

3.1 Địa điểm và thời gian nghiên cứu (thực tập): 6

3.2 Nội dung nghiên cứu 6

3.3 Phương pháp nghiên cứu 7

PHẦN IV: KẾT QUẢ VÀ THẢO LUẬN 7

A LÝ THUYẾT 7

I TÌM HIỂU CÔNG NGHỆ JAVA SERVLET VÀ JSP 7

1 Giới thiệu ngôn ngữ Java 7

1.1 Lịch sử ra đời và phát triển của ngôn ngữ Java 7

1.2 Java là gì? 8

1.3 Tính chất của Java 8

1.4 Java được sử dụng để làm gì? 8

1.5 Những nơi sử dụng Java 9

2 Tìm hiểu về Java Servlet 9

2.1 Khái niệm Java Servlet 9

2.2 Ưu điểm Servlet 10

Trang 4

2.5 Request và Response 13

2.6 Form Data trong Servlet 13

2.6.1 Phương thức GET 13

2.6.2 Phương thức POST 14

2.6.3 Đọc Form Data bởi sử dụng Servlet 14

2.7 Cookie trong Servlet 14

2.8 Upload File trong Servlet 15

2.9 Một số phương thức khác 15

3 Tìm hiểu về JSP 16

3.1 JSP là gì? 16

3.2 Ưu điểm của JSP 16

3.3 Vòng đời của JSP 17

3.4 Trình tự làm việc của JSP 18

3.5 Các bước xử lý trang JSP 18

3.6 Client Request trong JSP 19

3.7 Server Response trong JSP 19

3.8 Xử lý Form trong JSP 19

3.8.1 Phương thức GET 19

3.8.2 Phương thức POST 20

3.8.3 Đọc Form Data bởi sử dụng JSP 20

3.9 Đối tượng ẩn (Implicit) trong JSP 20

3.10 Cookie trong JSP 21

3.11 Upload File trong JSP 21

3.12 Một số phương thức khác 22

B XÂY DỰNG ỨNG DỤNG 22

I ĐẶC TẢ YÊU CẦU PHẦN MỀM 22

1.1 Giới thiệu chung 22

1.1.1 Mục tiêu 23

1.1.2 Phạm vi 23

1.1.3 Các môi trường nền tảng cần sử dụng 23

1.2 Mô tả khái quát 25

1.3 Đặc tả yêu cầu 26

1.3.1 Chức năng của phần mềm 26

1.3.1.1 Sơ đồ use case 32

Trang 5

2.1 Thiết kế chi tiết 55

2.1.1 Sơ đồ lớp 55

2.2.2 Sơ đồ trình tự 59

2.2.3 Thiết kế cơ sở dữ liệu 65

2.2.3.1 Sơ đồ quan hệ thực thể 65

2.2.3.2 Danh sách các bảng và mô tả tóm tắt 68

2.3.4 Thiết kế giao diện 71

C THẢO LUẬN 77

I Tìm hiểu mô hình MVC 77

1.1 Mô hình MVC là gì? 77

1.2 Sự tương tác giữa các lớp trong mô hình MVC 78

1.3 Ưu và nhược điểm của mô hình MVC 79

PHẦN V: KẾT LUẬN VÀ ĐỀ NGHỊ 79

I Kết luận 79

II Đề nghị hướng phát triển 80

PHẦN VI: TÀI LIỆU THAM KHẢO 80

Trang 6

Hình 1: Kiến trúc Servlet 10

Hình 2: Vòng đời Servlet 11

Hình 3: Các bước thực hiện trong servlet 11

Hình 4: Phương thức init() 12

Hình 5: Phương thức service() 12

Hình 6: phương thức doGet() 12

Hình 7: Phương thức request 13

Hình 8: phương thức destroy() 13

Hình 9: Vòng đời của JSP 17

Hình 10: Trình tự làm việc của JSP 18

Hình 11: Các bước xử lý trang JSP 18

Hình 12: Biểu đồ phân cấp chức năng phía Frontend 34

Hình 13: Biểu đồ phân cấp chức năng phía Backend 34

Hình 14: Use-case tổng quát 36

Hình 15: Use-case dành cho admin 36

Hình 16: Use-case dành cho khách hàng 37

Hình 17: Use-case quản lý tài khoản 37

Hình 18: Use-case quản lý tìm kiếm 38

Hình 19: Use-case quản lý đơn hàng 38

Hình 20: Use-case quản lý danh mục 39

Hình 21: Sơ đồ hoạt động đăng kí 49

Hình 22: Sơ đồ hoạt động đăng nhập 49

Hình 23: Sơ đồ hoạt động tìm kiếm 50

Hình 24: Sơ đồ hoạt động thêm mới sản phẩm 50

Hình 25: sơ đồ hoạt động sửa xóa thông tin sản phẩm 51

Hình 26: Sơ đồ hoạt động xem giỏ hàng 51

Hình 27: Sơ đồ hoạt động xem sản phẩm 52

Hình 28: Sơ đồ hoạt động xem thông tin cá nhân 52

Hình 29: Sơ đồ hoạt động xem đơn đặt hàng 53

Hình 30: Sơ đồ hoạt động thêm User 53

Hình 31: Sơ đồ hoạt động sửa, xóa thông tin user 54

Hình 32: Sơ đồ hoạt động thanh toán 54

Hình 33: Các lớp cần có (1) 55

Trang 7

Hình 36: Các lớp cần có (4) 56

Hình 37: Sơ đồ lớp cần có(5) 57

Hình 38: Sơ đồ lớp tổng quan 57

Hình 39: Sơ đồ lớp đã được phân rã nhỏ (1) 58

Hình 40: Sơ đồ lớp đã được phân rã nhỏ (2) 58

Hình 41: Sơ đồ lớp đã được phân rã nhỏ (3) 59

Hình 42: Sơ đồ trình tự đăng nhập 60

Hình 43: Sơ đồ trình tự đăng kí 60

Hình 44: Sơ đồ trình tự thanh toán đơn hàng 61

Hình 45: Sơ đồ trình tự thêm sản phẩm vào giỏ hàng 61

Hình 46: Sơ đồ trình tự xem chi tiết sản phẩm 62

Hình 47: Sơ đồ trình tự xem sản phẩm theo danh mục 62

Hình 48: Sơ đồ trình tự admin thêm,sửa, xóa danh mục 63

Hình 49: Sơ đồ trình tự admin xem thống kê danh mục 63

Hình 50: Mô hình thực thể liên kết 66

Hình 51: Quan hệ giữa các bảng trong CSDL 69

Hình 52: Giao diện trang chủ shop 70

Hình 53:: Giao diện đăng kí 70

Hình 54: Giao diện đăng nhập 71

Hình 55: Giao diện giỏ hàng trống 71

Hình 56: Giao diện giỏ hàng có sản phẩm 72

Hình 57: Giao diện trang cá nhân của khách hàng 72

Hình 58: Giao diện trang chủ quản trị viên 73

Hình 59: Giao diện quản lý danh mục 73

Hình 60: Giao diện quản lý sản phẩm 74

Hình 61: Giao diện quản lý người dùng 74

Hình 62: Giao diện quản lý hóa đơn 75

Hình 63: Giao diện thống kê danh mục sản phẩm 75

Hình 64: Mô hình MVC 76

Trang 8

LỜI CẢM ƠN

Để hoàn thành được bài báo cáo thực tập chuyên ngành này trước hết

em xin gửi đến các thầy, cô giáo trong khoa Công Nghệ Thông Tin trườngHọc viện Nông Nghiệp Việt Nam lời cảm ơn trân thành

Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến thầy Trần Trung Hiếu,người đã tận tình hướng dẫn, giúp đỡ em hoàn thành chuyên đề báo cáo thựctập này

Đồng thời nhà trường đã tạo điều kiện cho em có cơ hội được tìm hiểu

về cách làm việc cũng như vận dụng những kiến thức vào thực tế Qua kì thựctập này em nhận ra nhiều điều mới mẻ và bổ ích cho công việc sau này củabản thân

Với đề tài “Lập trình web với Java và xây dựng ứng dụng”, ở đây

em áp dụng vào để xây dựng một website thương mại điện tử, là một đề tài cótính thực tế nhưng do thời gian ngắn và trình độ hiểu biết chưa sâu nên bàilàm của em không tránh khỏi những thiếu sót Em rất mong nhận được sự góp

ý, chỉ bảo của thầy cô cùng toàn thể các bạn trong lớp, khoa để bài báo cáocủa em được hoàn thiện hơn nữa

Trang 9

BẢNG CÁC THUẬT NGỮ VIẾT TẮT

STT Thuật ngữ, từ viết tắt Giải thích Ghi chú

tin và cho phéptruy cập

Trang 10

Công nghệ web trong tương lai có thể sẽ thay thế cho các ứng dụngdesktop hiện tại, khi đó công việc của chúng ta sẽ trở lên đơn giản hơn rấtnhiều Dựa trên nền tảng công nghệ web và các phần kết nối trên môi trườnginternet thì mọi sự kiện trao đổi thông tin, mua bán hàng hóa…vv… đều đượcdiễn ra trên môi trường web

Chúng ta hoàn toàn có thể tin tưởng vào một tương lai phát triển mạnh

mẽ của công nghệ web

Ngôn ngữ lập trình Java được biết đến từ năm 1991 Là một trongnhững ngôn ngữ lập trình phổ biến nhất trong giới lập trình viên và nó được

sử dụng để tạo ra các ứng dụng web, phần mềm tùy chỉnh, cổng thông tin điện

tử, bao gồm các giải pháp thương mại điện tử trên web và di động

Có rất nhiều các công nghệ Java được sử dụng trong các ứng dụng web.Hãy nhớ rằng, chúng ta không cần phải sử dụng tất cả những công nghệ Java

Trang 11

kiện Sau khi hoàn thành sẽ hiểu biết nhiều hơn về các công nghệ làm webcủa java, đồng thời sẽ là nền tảng để phát triển các ứng dụng web khác

1.3.2 Yêu cầu:

1.3.2.1 Đối với sinh viên thực hiện:

Kiến thức cơ bản về JSP/Servlet, như JDBC, cách lấy dữ liệu từ form,cách truyền biến và session trong java

 Kiến thức về Front-end như HTML, CSS, JS

 Kiến thức về cơ sở dữ kiệu MySQL

 Kĩ năng phân tích các yêu cầu cần có của hệ thống

 Xác định rõ các tính năng chính, các yêu cầu cơ bản về mặt giaodiện của website

1.3.2.2 Đối với sản phẩm phải đảm bảo các chức năng sau:

 Chức năng dành cho quản trị:

 Quản ký danh mục, quản lý sản phẩm

 Quản lý hóa đơn bán hàng

 Thêm, sửa, xóa, tìm kiếm dữ liệu

 Đăng nhập và truy cập vào cơ sở dữ liệu

 Chức năng dành cho người dùng:

 Đăng kí, đăng nhập thành viên

 Chức năng giỏ hàng

 Gửi mail

 Thanh toán đơn hàng

PHẦN II: TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU TRONG VÀ

NGOÀI NƯỚC

2.1 Tình hình nghiên cứu trong nước

Ở Việt Nam trong những năm gần đây, Java đang được ứng dụng rấtrộng rãi, chủ yếu là các ứng dụng viết trên Internet nhằm khai thác tối đa khả

Trang 12

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 đơnlẻ.

Tại cuộc hội thảo “Java: Xu hướng phát triển ứng dụng tại Việt

Nam” diễn ra tại trường ĐH KHTN Hà Nội, các chuyên gia của trung tâm

đào tạo lập trình viên quốc tế Hanoi-Aptech đã khẳng định, nếu chỉ xét đếnmảng dùng để tạo đoạn mã trong trang Web thì Java đã thực sự trở thành mộttrong những ngôn ngữ căn bản của Web và nó hữu dụng đến mức khó màthay thế

Năm 2017, thị trường thương mại điện tử của nước ta đang có mứctăng trưởng về số lượng và trong các lĩnh vực ngày càng nhiều Thị trườngthương mại điện tử bắt đầu trở lên sôi động hơn nhiều

Các trang thương mại điện tử lớn ở Việt Nam có thể kể đến như:

“Lazada, Tiki, Sendo, Zalora, Adayroi… vv….”.

2.2 Tình hình nghiên cứu ngoài nước

Hiện nay có hầu hết các ứng dụng web chạy trên internet hay mạng nội

bộ được phát triển bằng Java có nguồn gốc là Servlet API Nó là tiêu chuẩntrong phát triển Web bằng Java JSP được dựa trên Servlet Hầu hết tất cả cácframework như Spring MVC, Struts, Wicker cũng sử dụng Servlet API

Theo thống kê thì các Java Framework phổ biến nhất hiện nay như:Sping MVC, Struts, Hibernate, JSF (Java Server Faces), Vaadin…

Trên thế giới thì khái niệm “thương mại điện tử” được xuất hiện từ thậpniên 70, cho phép các doanh nghiệp gửi các hợp đồng điện tử như đơn đặthàng hay hóa đơn điện tử Cho đến nay, thương mại điện tử đã được ứng dụngtrong hầu hết các lĩnh vực có liên quan đến thương mại Không chỉ dừng ở đó,thương mại điện tử còn đụng chạm tới mọi hoạt động giao tiếp xã hội, giải trí,hầu hết trong các lĩnh vực kinh doanh Được thể hiện rất rõ ở Mỹ Ở châu Mỹ

La Tinh, thương mại điện tử tập trung ở 4 thị trường Internet phát triển nhất làArgentina, Brazil, Chile và Mexico…

Có thể kể đến một vài trang thương mại điện tử hàng đầu như:

“Amazon, Alibaba, Walmart, Bestbuy, Ebay… ”

Trang 13

2.3 Tên đề tài, tính thời sự và tầm quan trọng của đề tài

Lập trình web với Java tuy không phải là một vấn đề mới mẻ, nhưngchúng ta phải thừa nhận với nhau rằng, vị trí của Java trong giới lập trìnhWeb vẫn luôn là một ngôn ngữ lập trình rất mạnh và phổ biến

2.3.3 Tầm quan trọng của đề tài

Đề tài với mục đích tìm hiểu rõ hơn các công nghệ Web với Java, cụthể là công nghệ (JSP/Servlet) Đồng thời xây dựng lên website bán hàng ,giúp dễ dàng trong việc quản lí và triển kha bán sản phẩm online Giới thiệusản phẩm đến với khách hàng tốt hơn, thuận lợi giao dịch và mua bán từ xa

PHẦN III: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

3.1 Địa điểm và thời gian nghiên cứu (thực tập):

Cơ sở thực tập: Bộ môn Công Nghệ Phần Mềm – Khoa Công

Nghệ Thông Tin – Học Viện Nông Nghiệp Việt Nam

Thời gian nghiên cứu: Bắt đầu từ 08/01/2018 đến 21/05/2018

3.2 Nội dung nghiên cứu

 Java Server Pages (JSP)

 Java Servlet

Xây dựng website thương mại điện tử

Trang 14

3.3 Phương pháp nghiên cứu

 Tìm kiếm, nghiên cứu và tổng hợp tài liệu

 Tiếp nhận ý kiến của giáo viên hướng dẫn, định hướng cụ thể

 Tìm hiểu và cài đặt các môi trường nền tảng cần thiết

 Khảo sát yêu cầu người dùng, thu thập tài liệu

 Tham khảo các tài liệu chuyên môn

 Viết đặc tả yêu cầu

 Phân tích thiết kế cho hệ thống

I TÌM HIỂU CÔNG NGHỆ JAVA SERVLET VÀ JSP

1 Giới thiệu ngôn ngữ Java

1.1 Lịch sử ra đời và phát triển của ngôn ngữ Java

Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vàotháng 6 năm 1995 Từ đó, nó đã trở thành một công cụ lập trình của các lậptrình viên chuyên nghiệp Java được xây dựng trên nền tảng của C và C++

Do vậy nó sử dụng các cú pháp của C và các đặc trưng hướng đối tượng củaC++

Vào năm 1991, một nhóm các kỹ sư của Sun Microsystems có ý địnhthiết kế một ngôn ngữ lập trình để điều khiển các thiết bị điện tử như Tivi, lònướng,… Mặc dù C và C++ có khả năng làm việc này nhưng trình biên dịchlại phụ thuộc vào từng loại CPU

Trang 15

Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên rấtđắt Vì vậy để mỗi loại CPU có một trình biên dịch riêng là rất tốn kém Do

đó nhu cầu thực tế đoi hỏi một ngôn ngữ chạy nhanh, gọn, hieju quả và độclập thiết bị tức là có thể chạy trên nhiều loại CPU khác nhau, dưới các môitrường khác nhau Mặc dù mục tiêu ban đầu không phải cho Internet nhưng

do đặc trưng không phụ thuộc thiết bị nên Java đã trở thành ngôn ngữ lậptrình cho Internet

1.2 Java là gì?

Java là ngôn ngữ lập trình hướng đối tượng, do vậy không thể dùngjava để viết một chương trình hướng chức năng Java có thể giải quyết hầu hếtcác công việc mà các ngôn ngữ khác có thể làm được

Java là ngôn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồnđược biên dịch bằng công cụ JAVAC để chuyển thành dạng ByteCode Sau

đó được thực thi trên từng loại máy cụ thể nhờ chương trình thông dịch

Trang 16

1.4 Java được sử dụng để làm gì?

 Viết ứng dụng web (J2EE): Java hường được sử dụng để xâydựng các hệ thống Web lớn đòi hỏi độ bảo mật cao, số lượngngười dùng lớn như ngân hàng, phần mềm quản lý bệnh viện,quản lý nhà xe… Đối với các website nhỏ thông thường ít khiviết bằng Java

 Viết ứng dụng mobile (J2ME): Trước đây nền tảng J2ME thườngđược sử dụng để viết game và app cho di động feature phone(file.jar) và bây giờ khi smartphone Android lên ngôi Java lạitiếp tục được sử dụng để viết app và game cho nền tảng Android(file.apk)

 Viết ứng dụng desktop (J2SE): các ứng dụng desktop viest bằngJava thật sự không nhiều có thể kể đến một số phần mềm như

“Jmeter” hoặc “Designer Vista” Lợi thế lớn nhất của ứng dụngJava là bạn chỉ viết một lần và sau đs có thể đem chương trìnhlên Windows, Linux, hay MAC để chạy mà không cần phải viếtlại

1.5 Những nơi sử dụng Java

Có rất nhiều thiết bị hiện tại đang sử dụng Java Bao gồm:

 Desktop App như media player, antivirus, reader,…

 Web App như javapoint.com, irctc.co.in,…

 Enterprise App như các ứng dụng về xử lý nghiệp vụ ngânhàng…

 Trên các thiết bị Mobile

2 Tìm hiểu về Java Servlet

2.1 Khái niệm Java Servlet

Java Servlet là chương trình chạy trên một Web hoặc ứng dụng máychủ (Application Server) và hành động như một lớp trung gian giữa một yêu

Trang 17

cầu đến từ một trình duyệt web hoặc HTTP khách (client) khác và cơ sở dữliệu hoặc các ứng dụng trên máy chủ HTTP (HTTP Server).

Sử dụng Servlet bạn có thể thu thập đầu vào từ người dùng thông quacác hình thức trang web, từ một cở sở dữ liệu hoặc một nguồn khác, và tạo racác trang web động

Cụ thể như sau:

- Nhận client request.

- Lấy thông tin từ request.

- Tạo và gửi request với client hoặc gửi request tới servlet hoặc

JSP khác

- Xử lý nghiệp vụ và phát sinh nội dung bằng cách truy cập

Database

2.2 Ưu điểm Servlet

 Có nhiều web servers hỗ trợ servlet

 Truy cập được mọi java APIs

 Độ tin cậy cao, hiệu năng tốt, dễ mở rộng

 Độc lập Platform và server

 An toàn

 Hầu hết server cho phép load lại server khi có sự thay đổi

Trang 18

2.3 Kiến trúc Servlet

Hình 1: Kiến trúc Servlet

2.4 Vòng đời của Servlet

Hình ảnh dưới sẽ minh họa rõ nét về vòng đời của một Servlet Từ khi

nó được tạo ra, xử lý các đòi hỏi từ người dùng, cho tới khi nó bị hủy

Hình 2: Vòng đời Servlet

Có 5 bước:

B1 Tải lớp Servlet vào bộ nhớ

B2 Tạo đối tượng Servlet

Trang 19

B3 Gọi phương thức init() của Servlet.

B4 Gọi phương thức Service() của Servlet

B5 Gọi phương thức destroy() của Servlet

Hình 3: Các bước thực hiện trong servlet

Phương thức init(): Phương thức được thiết kế chỉ được gọi

một lần Nó được gọi khi Servlet lần đầu được tạo và khôngđược gọi lại cho mỗi yêu cầu cua người dùng Vì thế, nó được sửdụng cho các khởi tạo one-time, giống như phương thức init củaApplet

Định nghĩa phương thức init() như sau:

Hình 4: Phương thức init()

Phương thức Service(): là phương thức chính để thực hiện tác

vụ thực sự Nơi chứa servlet gọi phương thức service() để xử lýcác yêu cầu từ Client và viết phản hồi đã được định dạng trở lạiClient đó

Minh họa phương thức service() như sau:

Trang 20

Hình 5: Phương thức service()

Phương thức doGet(): Một yêu cầu Get, là kết quả từ một yêu

cầu chuẩn cho URL hoặc từ một HTML form, mà không cóphương thức nào được xác định và nó nên được xử lý bởiphương thức doGet()

Hình 6: phương thức doGet()

Phương thức doPost(): là kết quả từ một HTML form mà liệt kê

POST như là phương thức, và nên được xử lý bởi phương thứcdoPost();

Hình 7: Phương thức request

Phương thức destroy(): chỉ được gọi một lần ở giai đoạn cuối

trong vòng đời Servlet Phương thức này giúp đóng các kết nốiDatabase, dừng thread, viết các danh sách cookie,……

Hình 8: phương thức destroy()

Trang 21

Thông tin được gửi đến Client từ server.

- Dữ liệu text, image…

Trang 22

2.6.3 Đọc Form Data bởi sử dụng Servlet

JSP xử lý Form Data bằng việc parse một cách tự động bởi sử dụng cácphương thức sau tùy thuộc vào từng tình huống:

- getParameter(): Chúng ta gọi phương thức

request.getParameter() để nhận giá trị của tham số Form

- getParameterValues(): Chúng ta gọi phương thức này nếu

parameter xuất hiện nhiều hơn một lần và trả về nhiều giá trị, ví

dụ checkbox

- getParameterNames(): Chúng ta gọi phương thức này nếu như

muốn một danh sách đầy đủ của tất cả các parameter trong yêucầu hiện tại

2.7 Cookie trong Servlet

Cookie là các text file được lưu giữ trên máy tính client và chúng đượcgiữ cho mục đích theo dõi các thông tin đa dạng JSP hỗ trợ các HTTP cookiebởi sử dụng công nghệ Servlet ở tầng dưới

Có 3 bước liên quan trong việc nhận diện việc phản hồi người dùng:

- Server scrip gửi một tập hợp các Cookie tới trình duyệt.

- Trình duyệt lưu giữ thông tin này trên thiết bị nội bộ để sử dụng

trong thời gian tới

- Trong lần tới, trình duyệt gửi bất kì yêu cầu nào tới webserver,

thì nó gửi những thông tin Cookie này tới Server và Server này

sử dụng thông tin đó dể nhận diện người dùng

2.8 Upload File trong Servlet

Những điểm quan trọng cần ghi nhớ:

Thuộc tính Phương thức của thẻ form nên được thiết lập

là phương thức POST và phương thức GET không thể

được sử dụng

Thuộc tính enctype của thẻ form nên được thiết lập là

multipart/form-data.

Trang 23

Thuộc tính action trong thẻ form nên được thiết lập là một

JSP file mà sẽ xử lý việc upload file tại Backend Server

Để upload một file đơn, nên sử dụng một thẻ <input />

đơn với thuộc tính là type=”file” Để cho phép uploadnhiều file lên, sử dụng nhiều thẻ input với các giá trị thuộctính khác nhau

2.9 M t s ph ột số phương thức khác ố phương thức khác ương thức khác ng th c khác ức khác

Redirect Page: được sử dụng khi một tài liệu di chuyển tới một

địa chỉ mới và chúng ta cần gửi Client tới vị trí mới này hoặc cóthể vì cân bằng tải (load balancing) hoặc do ngẫu nhiên

Hit Counter: Nhiều khi chúng ta quan tâm đến tổng lượt click

trên một trang cụ thể trong website Tính toán những lượt Clicknày bởi sủ dụng một Servlet, bởi vì vòng đời được điều khiển bởiContainer, mà nso chạy trong đó

Auto Refresh: Cung cấp một kĩ thuật giúp bạn refresh trang web

một cách tự động sau một khoảng thời gian đã cho Sử dụng

phương thức setIntHeader() của đối tượng Response.

Gửi Email: cần cài đặt javaMail API và Java Activation

Framework (JAF)

Package: Cấu trúc web application bao gồm các thư mục phụ

WEB-INF là chuẩn với tất cả các Java Web Application và xácđịnh bởi Servlet API

3 Tìm hiểu về JSP

3.1 JSP là gì?

JSP là một công nghệ để phát triển các webpage mà hỗ trợ nội dungđộng, giúp các lập trình viên chèn java code vào trong các HTML page bằngviệc sử dụng các JSP tag đặc biệt, hầu hết bắt đầu với <% và kết thúc với %>

Trang 24

- Là 1 tài liệu text có thể trả về cả static và dynamic content cho

trình duyệt

- Static content và dynamic content có thể được phép lẫn với nhau.

- Static content: HTML, XML, Text.

- Dynamic content:

+ Mã java, các thẻ Custom tags

+ Các thuộc tính hiển thị của javabean

- JSP là mở rộng của Servlet, trong thực tế JSP và Servlet được sử

dụng đồng thời để phát triển ứng dụng

- Trong mô hình MVC, thì JSP xử lý phần view, Servlet xử lý

phần controller

3.2 Ưu điểm của JSP

 Tách biệt nội dung và cách trình bày

 Đơn giản hóa việc phát triển ứng dụng web với JSP, Javabean

 Hỗ trợ tái sử dụng phần mềm qua các components (javabean,custom tags)

 Tự động biên dịch lại các trang JSP khi có sự thay đổi

Trang 25

Khởi tạo: Khi một container tải một JSP, nó gọi phương thức

jspInit() trước khi phục vụ bất kì yêu cầu nào Nếu cần thực hiện

sự khởi tạo JSP riêng, ghi đè phương thức jspInit()

Thực thi: Giai đoạn này trong vòng đời JSP biểu diễn tất cả các

tương tác với Request tới khi JSP đó bị hủy Bất cứ khi nào mộttrình duyệt yêu cầu một JSP và trang đã được tải và được khởitạo thì JSP engine triệu hồi phương thức _jspService() Phươngthức _jspService() nhận một HttpServletRequest và mộtHttpServletResponse

Hủy JSP: Giai đoạn hủy JSP trong vòng đời JSP biểu thị khi nào

thì một JSP bị gỡ bỏ khỏi một container

Trang 26

Phương thức jspDestroy() trong JSP là phương thức hủy tương đươngvới trong Servlet Ghi đè phương thức jspDestroy() khi cần thực hiện bất kìquá trình hủy nào, ví dụ như giải phóng kết nối với Database, hoặc đóng file.

3.4 Trình tự làm việc của JSP

Hình 10: Trình tự làm việc của JSP

3.5 Các bước xử lý trang JSP

Hình 11: Các bước xử lý trang JSP

Trang 27

3.6 Client Request trong JSP

Khi một trình duyệt yêu cầu một Webpage, nó gửi nhiều thông tin tớiweb server, mà không thể được đọc một cách trực tiếp bởi vì thông tin này làmột phần trong Header của HTTP request

Đối tượng HttpServletRequest trong JSP: là một minh họa của một đốitượng javax.servlet.http.HttpServletRequest Mỗi khi một Client yêu cầu mộttrang, tì JSP engine tạo một đối tượng mới để biểu diễn yêu cầu đó

Đối tượng request cung cấp các phương thức để nhận thông tin Httpheader gồm Form data, cookie, phương thức Http……

3.7 Server Response trong JSP

Khi một Webserver phản hồi một Http Request tới trình duyệt, phảnhồi đặc trưng bao gồm một dòng Status, một số trường Header, một dòngtrống, và tài liệu

Đối tượng HttpServletResponse trong JSP là một minh họa của đốitượng javax.servlet.http.HttpServletResponse Ngay khi server tạo đối tượngrequest, nó cũng tạo một đối tượng để bieru diễn phản hồi tới Client

Đối tượng Response cũng định nghĩa các Interface mà thực hiện việctạo các HTTP header mới Thông qua đối tượng này, chúng ta có thể thêm cácCookie mới hoặc Date, HTTP Status code……

Có kích cỡ giới hạn: 1024 ký tự trong một chuỗi yêu cầu

Trang 28

Thông tin này được truyền bởi sử dụng QUERY_STRING header và sẽ

có thể truy cập thông qua bến môi trường QUERY_STRING mà có thể được

xử lý bởi sử dụng phương thức getQueryString() và getParameter() của đốitượng Request trong JSP

3.8.3 Đọc Form Data bởi sử dụng JSP

JSP xử lý Form Data bằng việc parse một cách tự động bởi sử dụng cácphương thức sau tùy thuộc vào từng tình huống:

getParameter(): Chúng ta gọi phương thức

request.getParameter() để nhận giá trị của tham số Form

getParameterValues(): Chúng ta gọi phương thức này nếu

parameter xuất hiện nhiều hơn một lần và trả về nhiều giá trị, ví

dụ checkbox

getParameterNames(): Chúng ta gọi phương thức này nếu như

muốn một danh sách đầy đủ của tất cả các parameter trong yêucầu hiện tại

getInputStream(): Gọi đến phương thức này để đọc luồng dữ

liệu nhị phân tới từ Client

3.9 Đối tượng ẩn (Implicit) trong JSP

Request Đây là đối tượng HttpServletRequest mà liên kết với

Trang 29

Response Đây là đối tượng HttpServletResponse mà liên kết với

Response tới Client

Out Đây là đối tượng PrintWriter được sử dụng để gửi output tới

Client

Session Đây là đối tượng HttpSession mà liên kết với Request

Application Đây là đối tượng ServletContext mà liên kết với application

context

Confi

g

Đây là đối tượng ServletConfig mà liên kết với page

PageContext Sự gói gọn này sử dụng các đặc trưng Server-Spcific giống

như hiệu năng cao jspWriters

Page Được sử dụng để gọi các phương thức được định nghĩa bởi

lớp Servlet đã được phiên dịch

Exception Đối tượng Exception cho phép dữ liệu exception để được

truy cập bởi JSP đã chỉ rõ

3.10 Cookie trong JSP

Cookie là các text file được lưu giữ trên máy tính client và chúng đượcgiữ cho mục đích theo dõi các thông tin đa dạng JSP hỗ trợ các HTTP cookiebởi sử dụng công nghệ Servlet ở tầng dưới

Có 3 bước liên quan trong việc nhận diện việc phản hồi người dùng:

 Server scrip gửi một tập hợp các Cookie tới trình duyệt

 Trình duyệt lưu giữ thông tin này trên thiết bị nội bộ để sửdụng trong thời gian tới

 Trong lần tới, trình duyệt gửi bất kì yêu cầu nào tớiwebserver, thì nó gửi những thông tin Cookie này tớiServer và Server này sử dụng thông tin đó dể nhận diệnngười dùng

3.11 Upload File trong JSP

Những điểm quan trọng cần ghi nhớ:

Trang 30

- Thuộc tính Phương thức của thẻ form nên được thiết lập là

phương thức POST và phương thức GET không thể được sử

dụng

- Thuộc tính enctype của thẻ form nên được thiết lập là multipart/form-data.

- Thuộc tính action trong thẻ form nên được thiết lập là một JSP

file mà sẽ xử lý việc upload file tại Backend Server

- Để upload một file đơn, nên sử dụng một thẻ <input /> đơn với

thuộc tính là type=”file” Để cho phép upload nhiều file lên, sửdụng nhiều thẻ input với các giá trị thuộc tính khác nhau

3.12 Một số phương thức khác

Redirect Page: được sử dụng khi một tài liệu di chuyển tới một

địa chỉ mới và chúng ta cần gửi Client tới vị trí mới này hoặc cóthể vì cân bằng tải (load balancing) hoặc do ngẫu nhiên

Hit Counter: cho chúng ta biết về lượng khách truy cập trên 1

trang cụ thể trong website Triển khai một Hit Counter, có thể sửdụng đối tượng ẩn application và đượ liên kết với phương thức

getAttribute() và setAttribute().

Auto Refresh: Cung cấp một kĩ thuật giúp bạn refresh trang web

một cách tự động sau một khoảng thời gian đã cho Sử dụng

phương thức setIntHeader() của đối tượng Response.

Gửi Email: cần cài đặt javaMail API và Java Activation

Framework (JAF)

Trang 31

B XÂY DỰNG ỨNG DỤNG

I ĐẶC TẢ YÊU CẦU PHẦN MỀM

1.1 Giới thiệu chung

Ngôn ngữ lập trình Java được biết đến từ năm 1991 Là một trongnhững ngôn ngữ lập trình phổ biến nhất với các lập trình viên và nó được sửdụng để tạo ra các ứng dụng web, phần mềm tùy chỉnh, cổng thông tin điện

tử, bao gồm các giải pháp thương mại điện tử trên web và di động

Ngày nay, dưới sự phát triển của công nghệ thông tin, đặc biệt là tronglĩnh vực thương mại điện tử đã giúp các cá nhân, doanh nghiệp có mặt hàng

dễ dàng tiếp cận được với người tiêu dùng Việc Internet phát triển quá nhanhcũng làm thay đổi mọi thói quen mua hàng của người tiêu dùng, thay vì họphải đến tận nơi để lựa chọn mặt hàng như trước, thì giờ đây họ có thể chọnhàng và thanh toán ở bất cứ nơi nào mà họ có thể kết nối với internet

1.1.2 Phạm vi

Website được xây dựng lên nhằm phục vụ hai đối tượng chính là nhàquản trị và khách hàng Người quản trị sẽ quản lý các thông tin về sản phẩm,đăng sản phẩm mới cũng như quản lí tài khoản người dùng Còn khách hàng

sẽ xem được thông tin sản phẩm, đăng kí, đăng nhập tài khoản và đặt hàngqua mạng

Là cơ sở giao tiếp của các thành viên tác động lên website, là căn cứ để

Trang 32

1.1.3 Các môi trường nền tảng cần sử dụng

Trình soạn thảo code Eclipse:

Eclipse là phần mềm miễn phí, được các nhà phát triển sử dụng để xâydựng những ứng dụng J2EE, sử dụng Eclipse nhà phát triển có thể tích hợpnhiều công cụ hỗ trợ khác để có được một bộ công cụ hoàn chỉnh mà khôngcần dùng đến phần mềm riêng nào khác Eclipse SDK bao gồm 3 phần chính:Platform, Java Development Toolkit (JDT), Plug-in Development Enviroment(PDE)

Apache Tomcat: Phiên bản cài đặt 8.5.28

Apache Tomcat là một Java Servlet được phát triển bởi ApacheSoftware Foundation (ASF) Tomcat thi hành các ứng dụng Java Servlet vàJSP Từ Sun Microsystems, và cung cấp một máy chủ HTTP cho ngôn ngữJava thuần túy để thực thi các chương trình lệnh viết bằng ngôn ngữ Java

Tomcat không được hiểu nhầm với các máy chủ HTTP Apache.Apache Tomcat cung cấp các công cụ cho việc cấu hình và quản lý, nhưngcũng có thể được cấu hình bởi việc soạn thảo các file cấu hình viết bằngXML

Tomcat gồm các thành phần như: Jasper (một thiết kế lại của bộ công

cụ JSP), Catalina (thiết kế lại của bộ Servlet), và Coyote (một trình kết nốiHTTP)

JDBC

JDBC là chuẩn kết nối CSDL, cung cấp các interface & class nhằm tạo

cơ sở cho các ứng dụng Java tương tác với các hệ quản trị CSDL

Tập hợp các lớp thực thi theo chuẩn JDBC để tương tác với 1 CSDL,

Trang 33

+ Định nghĩa Connection URL.

+ Kết nối CSDL bằng đối tượng Connection

+ Tạo dối tượng Statement

+ Thi hành câu truy vấn

1.2 Mô tả khái quát

Mục đích của sản phẩm: Xây dựng lên một website thương

mại, bán điện thoại và phụ kiện

Trang 34

 Ràng buộc về dữ liệu đầu vào so với dữ liệu trong CSDL: sản phẩm

mà khách hàng lựa chọn, được nhập mã của sản phẩm đó phải trùngkhớp với sản phẩm trong CSDL

 Ràng buộc bởi yêu cầu của khách hàng: khi khách hàng muốn tìmkiếm sản phẩm theo từng tiêu trí, hoặc là muốn thanh toán hóa đơncác sản phẩm đã đặt mua,… thì hệ thống phải đáp ứng được các tiêutrí đó

 Ràng buộc với ứng dụng bên ngoài: khi khách hàng muốn gửi phảnhồi với website thì hệ thống sẽ liên kết với hộp thư Gmail

 Ràng buộc bởi hiệu suất xử lí về thời gian

Các đặc điểm cơ bản của người sử dụng

Đối với khách hàng:

o Có quyền đăng kí một tài khoản riêng

o Tra cứu được thông tin chi tiết của từng sản phẩm

o Lựa chọn hình thức thanh toán

o Gửi phản hồi tới website

Đối với quản trị viên:

o Có khả năng đăng nhập vào hệ thống, truy xuấtCSDL

o Thêm, xóa, sửa thông tin sản phẩm

o Quản lý tài khoản của người dùng

o Quản lý các đơn đặt hàng

Trang 35

1.3 Đặc tả yêu cầu

1.3.1 Chức năng của phần mềm

Chức năng phía frontend

1 Xem hàng Người xem có thể xem thông tin chi tiết về các

sản phẩm: tên sản phẩm, hãng sản xuất, giá,tình trạng hàng còn hay đã hết

2 Tìm kiếm sản phẩm Khách hàng nhập thông tin vào thanh tìm kiếm

5 Thống kê truy cập Đếm số lượng người đã ghé thăm website

6 Xem sản phẩm mới Hiển thị các sản phẩm mới nhất cho người

8 Đăng kí, đăng nhập Khi người dùng muốn tạo mới tài khoản hoặc

đăng nhập vào hệ thống để tiến hành đặt hàngthì sẽ chuyển sang giao diện đăng nhập hoặcđăng kí

Mô tả chi tiết các chức năng phía frontend

Xem hàng: Khách hàng truy cập vào địa chỉ của website,

và chọn vào các page trên site để xem thông tin

- Đầu vào : Thông tin khách hàng yêu cầu sản phẩm.

Trang 36

- Xử lý: Khách hàng nhấn vào một sản phẩm bất kì, thông tin

khách hàng gửi sẽ được xử lý, hệ thống sẽ tiếp nhận và lấy dữliệu từ cơ sở dữ liệu sau đó gửi trả lại cho khách hàng xem

- Đầu ra: Thông tin về sản phẩm bao gồm tên điện thoại, hãng sản

xuất, giá, tình trạng hàng…

Tìm kiếm sản phẩm: Sẽ tiết kiệm thời gian cho khách

hàng nếu như sử dụng chức năng tìm kiếm sản phẩm trênthanh tìm kiếm của website

- Đầu vào: Tên sản phẩm mà khách hàng muốn tìm kiếm.

- Xử lý: Khách hàng nhập vào yêu cầu về sản phẩm mà họ muốn

tìm kiếm, hệ thống sẽ so sánh các yêu cầu đó với dữ liệu trongDatabase Nếu như có trong kho dữ liệu thì sẽ trả kết quả tìmkiếm về cho người dùng, còn nếu không thấy thì sẽ hiển thịthông báo “Không tìm thấy sản phẩm”

- Đầu ra : Hệ thống gửi lại kết quả tìm kiếm.

Đặt hàng: Khách hàng xem thông tin sản phẩm, và duyệt

sản phẩm Khi khách hàng gửi thông tin đặt hàng thì mặthàng đó sẽ được gửi đến giỏ hàng

- Đầu vào: Thông tin chi tiết về sản phẩm mà khách hàng muốn

mua

- Xử lý: Khi khách hàng chọn sản phẩm muốn mua, nếu là sản

phẩm đầu tiên thì giỏ hàng sẽ khởi tạo số lượng là 1 Còn nếu đã

có sản phẩm đó trong giỏ hàng rồi thì số lượng sẽ tăng dần lên

- Đầu ra: Lưu thông tin mặt hàng đó trong giỏ hàng.

Trang 37

+ Khi khách hàng thay đổi số lượng sản phẩm, và cập nhập lạithì số lượng của sản phẩm đó phải được cập nhập lại, giá tiền cũngphải được tính lại.

+ Khi khách hàng chọn xóa sản phẩm thì sản phẩm đó không cònxuất hiện trong giỏ hàng nữa Nếu xóa hết sản phẩm trong giỏ hàngthì phải thông báo không còn sản phẩm nào trong giỏ hàng

+ Nếu chọn mua tiếp thì sẽ chuyển sang trang chủ

- Đầu ra: Thông tin về sản phẩm, số lượng, giá…

Thống kê truy cập: Số lượng khách hàng đã ghé thăm

website

- Đầu vào: Thông tin số lượng người dùng đã vào trang web.

- Xử lý: Mỗi lần người dùng load trang sẽ đếm và tăng số lượng

lên 1 lần Có thể ghi số lượng đếm được ra file txt

- Đầu ra: Số lượng người dùng truy cập website.

Xem sản phẩm mới: Khách hàng có thể xem thông tin

sản phẩm mới nhất của cửa hàng

- Đầu vào: Thông tin của sản phẩm.

- Xử lý: Hệ thống sẽ thống kê những sản phẩm mới nhất được

người quản trị đăng lên, rồi sẽ trả lại kết quả hiển thị cho kháchhàng xem

- Đầu ra: Thông tin của sản phẩm mới nhất.

Xem sản phẩm bán chạy: Hiển thị lên thông tin các sản

phẩm được mua nhiều nhất

- Đầu vào : Thông tin về sản phẩm

- Xử lý: Hệ thống sẽ thống kê những sản phẩm được bán với số

lượng nhiều nhất để trả lại kết quả và hiển thị cho khách hàng

- Đầu ra: Thông tin các sản phẩm bán chạy

Trang 38

Đăng kí, đăng nhập: Khi người dùng muốn tạo mới tài

khoản hoặc đăng nhập vào hệ thống để tiến hành đặt hàngthì sẽ chuyển sang giao diện đăng nhập hoặc đăng kí

- Đầu vào: Khách hàng nhập thông tin cá nhân cần thiết.

- Xử lý:

+ Nếu là đăng kí mới: Nếu nhập đầy đủ thông tin cần thiết mà hệthống yêu cầu, hệ thống sẽ lưu thông tin tài khoản của khách hàngvào kho dữ liệu Và thông báo là đăng kí thành công

+ Nếu là đăng nhập: sau khi khách hàng đăng nhập bằng tàikhoản đã đăng kí trước đó, hệ thống sẽ kiểm tra thông tin tài khoản,nếu tài khoản tồn tại thì thông báo “đăng nhập thành công”, còn nếuchưa từng tồn tại tài khoản đó thì sẽ hiển thị thông báo “đăng nhậpkhông thành công”

- Đầu ra:

+ Nếu là đăng nhập: đăng nhập thành công hoặc không thành công

+ Nếu là đăng kí: đăng kí thành công hoặc không thành công

Chức năng cho quản trị (backend)

1 Quản lý người dùng Thêm mới, sửa, xóa thông tin người dùng

2 Quản lý sản phẩm Quản lý thông tin của sản phẩm về tên,

hãng sản xuất, giá cả, hình ảnh của sảnphẩm, trong đó người quản trị có thể đănghình ảnh, nhập thông tin mô tả, số lượng,giá cả về sản phẩm

3 Quản lý danh mục

sản phẩm

Người quản trị quản lý thông tin danh mụcsản phẩm có chức năng thêm mới, xóa, sửadanh mục

4 Quản lý đơn đặt hàng Người quản trị quản lý về tình trạng đơn

đặt hàng: Chi tiết đơn đặt hàng, tình trạng

đã giao hàng hay chưa giao hàng, thống kê

Trang 39

Chi tiết các chức năng phía backend

Quản lý người dùng: Quản lý thông tin người dùng gồm

tên, tài khoản, mật khẩu, và các chức năng thêm mới, sửa,xóa

- Đầu vào: Thông tin về tên, tài khoản và mật khẩu.

- Xử lý: Quản trị viên sẽ chọn các chức năng thêm, sửa, hoặc xóa

người dùng và yêu cầu đó sẽ được hệ thống chuyển xuốngdatabase thực hiện

- Đầu ra: Thông tin về người dùng.

Quản lý sản phẩm: thông tin của sản phẩm sẽ bao gồm:

Tên, nhà sản xuất, giá, màu sắc, số lượng, kích thước, …Chức năng thêm mới, sửa, xóa thông tin sản phẩm

- Đầu vào: thông tin về : tên, hãng sản xuất, giá, màu sắc, số

lượng, tình trạng, hệ điều hành, pin, bảo hành, cổng kết nối,trọng lượng, kích thước màn hình…

- Xử lý:

+ Chức năng thêm mới: Quản trị viên chọn chức năng thêm sảnphẩm, hệ thống sẽ chuyển sang trang thêm sản phẩm Tại đó, quảntrị viên sẽ nhập toàn bộ thông tin về sản phẩm Sau đó gửi lên hệthống

+ Chức năng sửa thông tin: Quản trị viên chọn chức năng sửathông tin sản phẩm, hệ thống sẽ chuyển sang trang sửa Tại đó, quản

Trang 40

trị viên sẽ nhập vào nội dung cần chỉnh sửa Sau đó gửi lên hệthống.

+ Chức năng xóa: Quản trị viên sẽ chọn sản phẩm mà mìnhmuốn xóa Sau đó hệ thống gửi yêu cầu về database, và sản phẩm sẽđược xóa tại database

- Đầu ra: Thông tin sản phẩm.

Quản lý danh mục sản phẩm: Thêm, sửa, xóa danh mục

sản phẩm

- Đầu vào: Thông tin danh mục sản phẩm.

- Xử lý: Quản trị viên sẽ chọn các chức năng mà mình cần thực

hiện như thêm, sửa, xóa thông tin về danh mục sản phẩm Và cậpnhật lại trong database

- Đầu ra: Thông tin sản phẩm.

Quản lý đơn đặt hàng: Người quản trị quản lý về tình

trạng đơn đặt hàng: Chi tiết đơn đặt hàng, tình trạng đãgiao hàng hay chưa giao hàng, thống kê đơn đặt hàng củakhách

- Đầu vào: Đơn hàng gồm các thông tin: Tên khách hàng, thời

gian đặt hàng, địa chỉ nơi nhận, tình trạng đơn hàng

- Xử lý: Hệ thống lấy thông tin từ cơ sở dữ liệu rồi hiển thị lên

trang đơn đặt hàng

+ Nếu chọn xem chi tiết thì sẽ chuyển sang trang chi tiết đơn đặthàng

+ Nếu hủy đơn h

àng thì hệ thống sẽ hủy thông tin đơn hàng đó tại database

- Đầu ra: Giá trị đơn hàng, Tên khách hàng, Tình trạng đơn hàng.

Thông tin chi tiết đơn hàng: Hiển thị thông tin của đơn

đặt hàng bao gồm: thông tin của khách hàng, thông tin các

Ngày đăng: 07/06/2019, 17:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w