Xây dựng website bán ôtô trực tuyến
Trang 1LỜI CẢM ƠN
Trong suốt quá trình học tập tại trường Đại học Bách Khoa Đà Nẵng chúng tôi đã được các thầy cô tận tình cung cấp và truyền đạt tất cả các kiến thức để đến hôm nay chúng tôi đã hoàn thành báo cáo tốt nghiệp
Chúng tôi xin bày tỏ lòng biết ơn chân thành đến quý thầy cô trong trường đặc biệt là quý thầy cô khoa Công Nghệ Thông Tin, những người đã hết lòng dạy dỗ, truyền đạt những tri thức khoa học và kinh nghiệm quý báu trong thời gian chúng tôi học tập tại trường
Đặc biệt, chúng tôi rất biết ơn thầy Phan Huy Khánh, là người hướng dẫn đồ án tốt nghiệp, đã tận tình hướng dẫn và chỉ bảo cho chúng tôi rất nhiều trong quá trình thực hiện đề tài
Chúng tôi xin chân thành cám ơn gia đình đã giúp đỡ về mặt vật chất cũng như tinh thần trong suốt quá trình học tập Cuối cùng chúng tôi xin chân thành chuyển lời cám ơn đến tất cả các bạn bè đã động viên và khích lệ tinh thần cho chúng tôi vượt qua những khó khăn trong suốt thời gian thực tập này
Đà Nẵng, ngày 31 tháng 05 năm 2010 Nhóm Sinh viên thực hiện
Trần Vũ Phạm Đình Vũ
Trang 2Chúng tôi xin cam đoan :
1 Những nội dung trong luận văn này là do chúng tôi thực hiện dưới
sự hướng dẫn trực tiếp của PGS-TS Phan Huy Khánh
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, chúng tôi xin chịu hoàn toàn trách nhiệm trước Hội đồng Bảo vệ cũng như nhà trường
Nhóm Sinh viên thực hiện
Phạm Đình Vũ
Trang 3MỤC LỤC
MỞ ĐẦU 1
I Lời nói đầu 1
II Lý do chọn đề tài 1
II.1 Tình hình kinh tế Việt Nam trong những năm gần đây 1
II.2 Hướng phát triển của ngành công nghiệp ôtô và dự kiến mức tiêu thụ 2
III Những bất cập trong kinh doanh ôtô tại Việt Nam hiện nay 3
IV Mục đích của đề tài 4
V Ý nghĩa của đề tài 5
VI Các bước thực hiện 5
VI.1 Triển khai 5
VI.2 Hoàn thành 5
VII Dự kiến kết quả đạt được 6
VIII Giới thiệu sơ lược nội dung các chương 6
PHÂN TÍCH HIỆN TRẠNG VÀ ĐẶC TẢ YÊU CẦU 7
I Tìm hiểu về thực trạng của công ty TNHH-TM Song Vũ 7
I.1 Cơ cấu tổ chức trong công ty 7
I.2 Các loại xe mà công ty kinh doanh 8
I.3 Các nhà cung cấp của công ty 8
I.4 Các đại lý phân phối của công ty trên toàn quốc 8
I.5 Doanh số bán ra của công ty trong năm 2009 8
I.6 Các biểu mẫu, hóa đơn 8
II Yêu cầu chức năng 9
Trang 4II.2 Yêu cầu chức năng đối với cửa hàng 10
II.2.1 Lưu trữ 10
II.2.2 Tìm kiếm 12
II.2.3 Xử lý 12
II.2.4 Thống kê, báo cáo 12
III Yêu cầu phi chức năng 13
IV Đặc tả tính năng 13
IV.1 Khách hàng 13
IV.2 Người quản trị 13
IV.3 Nhân viên 15
V Yêu cầu đề tài 15
V.1 Về mặt ứng dụng 15
V.2 Về mặt kỷ thuật 16
V.3 Các yêu cầu khác 16
TÌM HIỂU LÝ THUYẾT VÀ MÔI TRƯỜNG CÔNG CỤ 17
I Tổng quan về Struts Framwork, Ibatis Framework và mô hình MVC (Model – View – Controller) 17
I.1 Struts Framework và mô hình MVC 17
I.2 Ibatis Framework 20
II Tìm hiểu về Java Servlet và Java Server Page (JSP) 21
II.1 Java Servlet 21
Trang 5II.2 Tìm hiểu sơ lược về Java Server Page (JSP) 23
II.2.1 Giới thiệu về JSP 23
II.2.2 Cơ chế hoạt động của JSP 25
II.2.3 Những điểm nổi bật của JSP 25
II.3 Ajax (Asynchronous JavaScript and XML) 28
III Công cụ và phương pháp nghiên cứu 30
III.1 Công cụ phục vụ cho việc xây dựng website 30
III.1.1 Apache Tomcat (http://tomcat.apache.org) 30
III.1.2 Navicat for Mysql 31
III.1.3 Công cụ hỗ trợ thiết kế và lập trình 33
III.2 Các bước tiến hành nghiên cứu và xây dựng web 33
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 35
I Xây dựng mô hình UML 35
I.1.Các trường hợp sử dụng 35
I.2 Xây dựng mô hình Use Case 36
I.3 Xây dựng lược đồ hoạt động 37
I.3.1 Hoạt động của giỏ hàng 37
I.3.2 Hoạt động đăng ký 38
I.3.3 Hoạt động tìm kiếm 39
I.3.4 Hoạt động tạo đơn đặt hàng 40
I.3.5 Hoạt động quản lý Admin 41
I.3.5.1 Hoạt động sửa thông tin admin 42
I.3.5.2 Hoạt động thêm admin 42
I.3.5.3 Hoạt động xóa admin 43
Trang 6I.3.6.2 Thêm chứng từ 44
I.3.6.3 Xem chứng từ 45
I.3.6.4 Xóa chứng từ 45
I.3.7 Hoạt động quản lý đơn đặt hàng 46
I.3.7.1 Xem đơn đặt hàng 46
I.3.7.2 Xóa đơn đặt hàng 46
I.3.7.3 Sửa thông tin đơn đặt hàng 47
I.3.8 Hoạt động quản lý khách hàng 47
I.3.8.1 Sửa thông tin khách hàng 47
I.3.8.2 Thêm khách hàng 48
I.3.8.3 Xem thông tin khách hàng 48
I.3.8.4 Xóa khách hàng 49
I.3.9 Hoạt động quản lý nhà cung cấp 49
I.3.9.1 Sửa thông tin nhà cung cấp 49
I.3.9.2 Thêm nhà cung cấp 50
I.3.9.3 Xem thông tin nhà cung cấp 50
I.3.9.4 Xóa nhà cung cấp 51
I.3.10 Hoạt động quản lý nhân viên 51
I.3.10.1 Sửa thông tin nhân viên 51
I.3.10.2 Thêm nhân viên 52
I.3.10.3 Xem thông tin nhân viên 52
Trang 7I.3.10.4 Xóa nhân viên 53
I.3.11 Hoạt động quản lý ôtô 53
I.3.11.1 Sửa thông tin ôtô 53
I.3.11.2 Thêm ôtô 54
I.3.11.3 Xem thông tin ôtô 54
I.3.11.4 Xóa ôtô 55
I.4 Xây dựng lược đồ tuần tự 55
I.5 Xây dựng lược đồ lớp 75
II Thiết kế cơ sở dữ liệu 75
II.1 Bảng Category 75
II.2 Bảng Item 76
II.3 Bảng Product 76
II.4 Bảng Inventory 76
II.5 Bảng Supplier 77
II.6 Bảng Orders 77
II.7 Bảng Signon 78
II.8 Bảng Sequence 78
II.9 Bảng Account 78
II.10 Bảng Profile 78
II.11 Bảng Manager 79
II.12.Bảng SignonManager 79
II.13 Bảng Admin 79
II.14 Bảng OrderStatus 79
II.15 Bảng LineItem 80
Trang 8III.3 Các mẫu xe 82
III.4 Thông tin chi tiết về mẫu xe 82
III.5 Form đăng ký 83
III.6 Giỏ hàng 84
III.7 Chi tiết đơn đặt hàng 84
KẾT LUẬN 85
I Những kết quả đạt được 85
I.1 Về mặt lý thuyết 85
I.2 Về mặt chương trình 85
II Những hạn chế và hướng phát triển trong tương lai 85
II.1 Vẫn còn một số hạn chế 85
II.2 Từ những hạn chế trên, nhóm đưa ra một số phát triển trong tương lai 85
PHỤ LỤC 87
TÀI LIỆU THAM KHẢO 97
TÓM TẮT LUẬN VĂN TỐT NGHIỆP 98
Trang 9DANH MỤC HÌNH
HÌNH 1: Mô hình cơ cấu tổ chức của công ty 7
HÌNH 2: Mô hình MVC 18
HÌNH 3: Mô hình thực hiện Struts của mẫu MVC 19
HÌNH 4: Cơ chế hoạt động của Servlet 21
HÌNH 5: Chu kỳ sống của Servlet 23
HÌNH 6: Cơ chế hoạt động của JSP 25
HÌNH 7: Mô hình ứng dụng web truyền thống 29
HÌNH 8: Mô hình web ứng dụng Ajax 29
HÌNH 9: Các menu chính của trang chủ Tomcat 30
HÌNH 10: Giao diện chính của Navacat 31
HÌNH 11: Mô hình Use Case 36
HÌNH 12: Mô hình hoạt động của giỏ hàng 37
HÌNH 13: Mô hình hoạt động đăng ký user 38
HÌNH 14: Mô hình hoạt động đăng nhập user 39
HÌNH 15: Hoạt động tìm kiếm 40
HÌNH 16: Hoạt động tạo đơn đặt hàng 41
HÌNH 17: Hoạt động sửa thông tin admin 42
HÌNH 18: Hoạt động thêm admin 42
HÌNH 19: Hoạt động xóa admin 43
HÌNH 20: Hoạt động xem thông tin admin 43
HÌNH 21: Hoạt động sửa chứng từ 44
HÌNH 22: Hoạt động thêm chứng từ 44
Trang 10HÌNH 26: Hoạt động xóa đơn đặt hàng 46
HÌNH 27: Hoạt động sửa thông tin đơn đặt hàng 47
HÌNH 28: Hoạt động sửa thông tin khách háng 47
HÌNH 29: Hoạt động thêm khách hàng 48
HÌNH 30: Hoạt động xem thông tin khách hàng 48
HÌNH 31: Hoạt động xóa khách hàng 49
HÌNH 32: Hoạt động sửa thông tin nhà cung cấp 49
HÌNH 33: Hoạt động thêm nhà cung cấp 50
HÌNH 34: Hoạt động xem thông tin nhà cung cấp 50
HÌNH 35: Hoạt động xóa nhà cung cấp 51
HÌNH 36: Hoạt động sửa thông tin nhân viên 51
HÌNH 37: Hoạt động thêm nhân viên 52
HÌNH 38: Hoạt động xem thông tin nhân viên 52
HÌNH 39: Hoạt động xóa nhân viên 53
HÌNH 40: Hoạt động sửa thông tin ôtô 53
HÌNH 41: Hoạt động thêm ôtô 54
HÌNH 42: Hoạt động xem thông tin ôtô 54
HÌNH 43: Hoạt động xóa ôtô 55
HÌNH 44: Biểu đồ tuần tự về đăng ký user 56
HÌNH 45: Biểu đồ tuần tự về đăng nhập user 56
HÌNH 46: Biểu đồ use case về chức năng tìm kiếm 57
Trang 11HÌNH 47: Biểu đồ tuần tự về chức năng mua hàng 57
HÌNH 48: Biểu đố tuần tự về chức năng tạo đơn đặt hàng 58
HÌNH 49: Biểu đồ tuần tự về chức năng đăng nhập Admin 59
HÌNH 50: Biểu đồ tuần tự về chức năng xem thông tin Ô tô 59
HÌNH 51: Biểu đồ tuần tự về chức năng thêm Ô tô 60
HÌNH 52: Biểu đồ tuần tự về chức năng sửa thông tin về Ô tô 60
HÌNH 53: Biểu đồ tuần tự vầ chức năng xóa Ô tô 61
HÌNH 54: Biểu đồ tuần tự về chức năng xem thông tin Admin 61
HÌNH 55: Biểu đồ tuần tự về chức năng thêm Admin 62
HÌNH 56: Biểu đồ tuần tự về chức năng xóa Admin 62
HÌNH 57: Biểu đồ tuần tự về chức năng sửa thông tin Admin 63
HÌNH 58: Biểu đồ tuần tự về chức năng xem thông tin khách hàng 63
HÌNH 59: Biểu đồ tuần tự về chức năng xóa khách hàng 64
HÌNH 60: Biểu đồ tuần tự về chức năng thêm khách hàng 64
HÌNH 61: Biểu đồ tuần tự về chức năng sửa thông tin khách hàng 65
HÌNH 62: Biểu đồ tuần tự về chức năng xem thông tin nhân viên 65
HÌNH 63: Biểu đồ tuần tự về chức năng thêm nhân viên 66
HÌNH 64: Biểu đồ tuần tự về chức năng sửa thông tin nhân viên 66
HÌNH 65: Biểu đồ tuần tự về chức năng xóa nhân viên 67
HÌNH 66: Biểu đồ tuần tự về chức năng xem thông tin đơn đặt hàng 67
HÌNH 67: Biểu đồ tuần tự về chức năng xóa thông tin đơn đặt hàng 68
HÌNH 68: Biểu đồ tuần tự về chức năng sửa thông tin đơn đặt hàng 68
HÌNH 69: Biểu đồ tuần tự về chức năng xem thông tin nhà cung cấp 69
HÌNH 70: Biểu đồ tuần tự về chức năng thêm nhà cung cấp 70
Trang 12HÌNH 74: Biểu đồ tuần tự về chức năng xem thông tin chứng từ 72
HÌNH 75: Biểu đồ tuần tự về chức năng tạo chứng từ 73
HÌNH 76: Biểu đồ tuần tự về chức năng xóa chứng từ 73
HÌNH 77: Biểu đồ tuần tự về chức năng sửa thông tin chứng từ 74
HÌNH 78: Biểu đồ lớp về bán ôtô trực tuyến 75
HÌNH 79: Giao diện chính 81
HÌNH 80: Danh mục kiểu xe 81
HÌNH 81: Mẫu xe 82
HÌNH 82: Thông tin chi tiết về mẫu xe 82
HÌNH 83: Form đăng ký 83
HÌNH 84: Giỏ hàng 84
HÌNH 85: Chi tiết đơn đặt hàng 84
DANH MỤC BẢNG BẢNG 1: Bảng dự kiến tiêu thụ ôtô các loại đến năm 2020 3
BẢNG 2: Mẫu đơn đặt hàng 92
BẢNG 3: Mẫu phiếu xuất kho 93
BẢNG 4: Mẫu phiếu nhập hàng 94
BẢNG 5: Mẫu phiếu thu 95
BẢNG 6: Mẫu hóa đơn giá trị gia tăng 96
Trang 13Phạm Đình Vũ, Lớp 05T1 – Trần Vũ, Lớp 05T1 1
MỞ ĐẦU
I Lời nói đầu
Ngày nay, công nghệ thông tin đã và đang dần chuyển hướng phát triển sang các dịch vụ web Và một trong nhứng dịch vụ được mọi người quan tâm là thương mại điện tử Dịch vụ này giúp tiết kiệm các khoản thời gian đi mua sắm để
có nhiều thời gian tập trung cho công việc của mình
Cùng với sự phát triển nhanh chóng của internet và hệ thống mạng toàn cầu, việc mua bán trực tuyến trên mạng đã và đang hoạt động sôi nổi trên phạm vị toàn thế giới Ở nước ta hiện nay, lĩnh vực này vẫn còn khá mới mẻ Tuy nhiên, chúng
ta cũng đang trong xu thế hội nhập khu vực và quốc tế
Nhờ có thương mại điện tử, chỉ cần những thao tác đơn giản trên máy có nối mạng internet là bạn sẽ có những gì mình cần mà không phải đi đâu cả Bạn chỉ cần vào trang dịch vụ thương mại điện tử, làm theo hướng dẫn và chọn những mặt hàng bạn cần Các nhà dịch vụ sẽ mang hàng đến tận nhà cho bạn Việc thanh toán cũng dễ dàng qua hệ thống ngân hàng hay trực tiếp nếu bạn muốn
Với sự phát triển nhanh của internet và sự sôi động của thị trường hiện nay, đồng thời nhằm tiết kiệm thời gian mua sắm, bạn không thể không ghé thăm dịch
vụ thương mại điện tử
Nhằm mục đích tìm hiểu mô hình hoạt động cũng như quá trình xây dựng một ứng dụng có tính chất thương mại trực tuyến, chúng em xin giới thiệu đề tài
“Xây dựng website bán Ôtô trực tuyến” Để tiếp cận và góp phần đẩy mạnh sự phổ biến của thương mại điện tử ở nước ta
II Lý do chọn đề tài
II.1 Tình hình kinh tế Việt Nam trong những năm gần đây
Từ những năm 2005 đến nay, tuy phải chịu nhiều ảnh hưởng của sự suy thoái toàn cầu nhưng kinh tế của Việt Nam vẫn giữ được tăng trưởng trung bình hằng năm là 7,5% trong khi tăng trưởng GDP bình quân của khối ASIAN chỉ đạt
Trang 142
công nghiệp và dịch vụ cũng đã từng bước được cải thiện và phát triển Hiện nay , các ngành công nghiệp cơ khí , điện , điện tử , ô tô … Đang được đầu tư phát triển mạnh mẽ nhằm đưa Việt Nam sớm trở thành một nước công nghiệp Cùng với đó , việc không ngừng đầu tư vào các dự án du lịch từ bắc tới nam đã góp phần đưa ngành du lịch dịch vụ trở thành ngành kinh tế mũi nhọn đem lại lợi nhuận cao nhất trong những năm gần đây
II.2 Hướng phát triển của ngành công nghiệp ôtô và dự kiến mức
Các loại xe chuyên dùng: Đáp ứng 30% nhu cầu thị trường trong nước về số lượng, đạt tỷ lệ sản xuất trong nước 40% vào năm 2005; tiến tới đáp ứng 60% nhu cầu thị trường trong nước về số lượng, đạt tỷ lệ sản xuất trong nước 60% vào năm 2010
Về các loại xe cao cấp: Các loại xe du lịch cao cấp phấn đấu đạt tỷ lệ sản xuất trong nước 20 - 25% vào năm 2005 và 40 - 45% vào năm 2010, đáp ứng phần lớn nhu cầu thị trường trong nước; Các loại xe tải, xe khách cao cấp đạt tỷ lệ sản xuất trong nước 20% vào năm 2005 và 35 - 40% vào năm 2010, đáp ứng 80% nhu cầu thị trường trong nước…
Các doanh nghiệp sản xuất, lắp ráp ô tô có vốn đầu tư nước ngoài, việc thực hiện sản xuất kinh doanh theo giấy phép đầu tư,v.v
Trang 15Xây dựng website bán ôtô trực tuyến
Nguồn: Trích dẫn từ Quyết định số 177/2004/QĐ-TTG về việc phê duyệt Quy
hoạch phát triển ngành công nghiệp ô tô Việt Nam đến năm 2010, tầm nhìn đến
2020
BẢNG 1: Bảng dự kiến tiêu thụ ôtô các loại đến năm 2020
với định hướng mức tiêu thụ như trên thì ngành công nghiệp Ô tô sẽ là một trong những ngành dự kiến sẽ phát triển nhất trong những năm tới
III Những bất cập trong kinh doanh ôtô tại Việt Nam hiện nay
Qua việc tìm hiểu ở một vài cửa hàng ô tô trên địa bàn thành phố, chúng
em nhận thấy rằng việc quản lý còn gặp nhiều hạn chế như :
Trang 164
Việc quản lý thông tin khách hàng cũng gặp nhiều khó khăn
Mất nhiều thời gian cho việc thống kê và lưu trữ thông tin
Chưa thanh toán trực tuyến qua các loại thẻ ngân hàng
…
Trên cơ sở kiến thức có được trong quá trình học tập, cùng sự chỉ dẫn của thầy Phan Huy Khánh, sau khi khảo sát tình hình thực tế tại các cửa hàng, chúng em quyết định chọn và thực hiện đề tài: “ Xây dựng Website bán Ô tô trực tuyến”
IV Mục đích của đề tài
Nhằm phục vụ cho tất cả các khách hàng có nhu cầu mua ô tô qua mạng và phục vụ công tác quản lý kinh doanh của nhà sách, cụ thể là:
Khách hàng
Khách hàng cỏ thể tìm kiếm nhanh chóng các mẫu Ôtô mình cần
Khách hàng có thể xem tóm tắt thông tin của từng mẫu Ôtô
Khách hàng có thể thanh toán bằng chuyển khoản hoặc tiền mặt
Cửa hàng
Đơn giản hóa vấn đề nhập, xuất hàng hóa
Có thể tính toán tồn kho mỗi kì được thuận tiện và đỡ mất thời gian
Công tác thống kê doanh thu
Quản lý thông tin của khách hàng
Xử lý các đơn đặt hàng của khách hàng
Trang 17Xây dựng website bán ôtô trực tuyến
5
V Ý nghĩa của đề tài
Giúp cho người mua Ôtô tiết kiệm thời gian đi tham khảo tại cửa hàng và tìm kiếm nhanh chóng mẫu Ôtô mà mình thích
Đơn giản hóa quá trình quản lý ở cửa hàng
VI Các bước thực hiện
VI.1 Triển khai
Thiết kế hệ thống: mô hình DFD, mô hình UML, từ điển dữ liệu,…
Xây dựng hệ thống menu
Chọn môi trường, công cụ lập trình
Xây dựng cấu trúc chương trình
Xây dựng cơ sở dữ liệu
Xây dựng chương trình
VI.2 Hoàn thành
Kiểm tra tính chính xác của việc hiển thị thông tin
Kiểm tra tìm kiếm thông tin
Kiểm tra việc nhập dữ liệu
Kiểm tra việc thực hiện cập nhật
Kiểm tra phân quyền người dùng
Kiểm tra toàn diện và hoàn thành website
Trang 186
Sau khi hoàn thiện, website có thể thực hiện được các chức năng phù hợp với mục đích sử dụng, có độ chính xác cao Dễ dàng thực hiện các thao tác cập nhật và xử lý thông tin
Chương 1 : Phân tích hiện trạng và đặc tả yêu cầu
Nhóm sẽ đi thực tế và khảo sát tình hình kinh doanh Ô tô của một số đơn vị kinh doanh trong địa bàn thành phố và đặc biệt là công ty TNHH-TM Song Vũ Trong chương này , chúng ta sẽ phân tích được những thuận lợi và những bất cập trong việc kinh doanh Ô tô của công ty và từ đó sẽ đưa ra những hướng giải quyết cho những yếu tố bất cập đó ( theo ý kiến chủ quan ) Bên cạnh đó, sẽ nêu ra và phân tích những yêu cầu của khách hàng và cửa hàng
Trong chương này, sẽ phân tích rõ ràng hơn những yêu cầu của khách hàng
và cửa hàng Đồng thời cũng phân tích những yêu cầu về kĩ thuật , yêu cầu về nội dung của một Website bán Ô tô trực tuyến
Chương 2 : Tìm hiểu cơ sở lý thuyết và môi trường công cụ
Chương này sẽ nói sơ lược về Java servelet , JSP, … các Framework như : Ibatis, Struct , mô hình MVC Và các công cụ hỗ trợ cho việc xây dựng Website như: Apache Tomcat, Navicat for MySQL , …
Chương 3 : Phân tích và thiết kế hệ thống
Chương này sẽ chủ yếu đi sâu vào phân tích hệ thống thông tin và hệ thống
cơ sở dữ liệu Với việc xây dựng nên các lược đồ ( User case diagram , Active diagram , Class diagram …) thì việc thể hiện các yêu cầu chức năng trở nên rõ ràng , dễ hiểu và dễ dàng hơn trong việc xây dựng chương trình Bên cạnh đó , việc đưa ra những bản cơ sở dữ liệu cũng giúp làm người đọc có thể hiểu được
Website sẽ lấy cơ sở dữ liệu từ đâu để hoạt động
Kết luận
Đánh giá những gì đã làm được, chưa làm được, hướng phát triển
Trang 19HÌNH 1: Mô hình cơ cấu tổ chức của công ty
Ban giám đốc : Có nhiệm vụ quản lý trực tiếp công ty, mọi vấn đề của công ty đều phải thông qua giám đốc và giám đốc có quyền quyết định tất cả mọi thông tin xử lý trong công ty
Phòng tổ chức : Có nhiệm vụ lập kế hoạch cho mọi hoạt động từ việc tổ chức bán hàng đến công tác đào tạo, bồi dưỡng nghiệp vụ cho nhân viên để phục vụ tốt hơn các nhu cầu của khách hàng
Phòng kế toán : Có nhiệm vụ thanh toán hay chi trả cho các hoạt động trong nội
bộ công ty cũng như quản lý thu chi trong hoạt động kinh doanh cho bán hàng
Trang 208
Phòng quản lý chất lượng : Có nhiệm vụ tìm hiểu, điều tra chất lượng phục vụ của các loại hình kinh doanh của doanh nghiệp, từ đó đưa ra các quyết định sửa đổi cập nhật hợp lý lên trình Ban giám đốc duyệt
Bộ phận bán hàng : Có nhiệm vụ hoàn thành công việc đăng ký, giao hàng cho khách và nhận tiền, lập phiếu thanh toán và thu tiền của khách, nhận những yêu cầu của khách, giới thiệu và giải đáp những thắc mắc của khách
Bộ phận phục vụ : Kiểm tra hàng hoá trong công ty Phục vụ đưa hàng cho khách bằng xe của công ty khi khách hàng có yêu cầu
Bộ phận an ninh : có nhiệm vụ giữ xe, khuân hàng hoá và giữ gìn an ninh trật
tự trong công ty
I.2 Các loại xe mà công ty kinh doanh
Trang 21Xây dựng website bán ôtô trực tuyến
9
II Yêu cầu chức năng
II.1 Yêu cầu chức năng đối với khách hàng
Khi đã nhập vào đúng các yêu cầu, website sẽ đưa ra kết quả:
Danh sách các mẫu Ôtô đáp ứng nhu cầu của khách hàng
Thông tin về mẫu Ôtô cần tìm
Thông tin về giá cả và số lượng hiện có
Giới thiệu tóm tắt về mẫu Ôtô
Khách hàng có thể chọn mẫu Ôtô phù hợp với nhu cầu của mình
II.1.2 Đặt hàng
Sau khi chọn Ôtô cần mua và bỏ vào giỏ hàng của mình, nếu như khách hàng đồng ý mua mẫu Ôtô đã chọn thì họ bắt buộc phải đăng nhập vào hệ thống với username và password đã cấp cho họ
Nếu là khách hàng mới thì phải đăng kí vào hệ thống bằng cách gõ đầy đủ thông tin sau:
Họ và tên
Username
Password
Trang 22Nếu khách hàng chọn thanh toán bằng chuyển khoản thì cửa hàng sẽ kết nối đến ngân hàng để kiểm tra tài khoản của khách hàng nhập vào có hợp lệ hay không Nếu như 3 lần nhập sai số tài khoản hoặc tài khoản đúng nhưng số tiền trong tài khoản không đủ thanh toán thì phiên giao dịch sẽ bị hủy bỏ và mọi thông tin giao dịch của khách hàng sẽ mất hiệu lực Nếu như mọi thông tin hợp lệ thì các thông tin giao dịch của khách hàng sẽ được lưu lại và ngày đặt hàng sẽ là ngày hiện tại
II.2 Yêu cầu chức năng đối với cửa hàng
II.2.1 Lưu trữ
Cửa hàng cần lưu trữ những thông tin sau:
Đối với Ôtô
Mã Ôtô
Tên Ôtô
Số chỗ ngồi
Trang 23Xây dựng website bán ôtô trực tuyến
Trang 25Xây dựng website bán ôtô trực tuyến
13
III Yêu cầu phi chức năng
Việc tìm kiếm đòi hỏi phải chính xác
Thông tin về khách hàng, về sản phẩm,…cần được lưu trữ định kì đề phòng khả năng hỏng hóc có thể xảy ra
Chương trình phải ngăn chặn những truy cập trái phép của người dùng để đề phòng những khả năng hỏng hóc có thể xảy ra
Chương trình phải có tính năng dễ nâng cấp, bảo trì, sửa chữa khi cần bổ sung, cập những tính năng mới
IV Đặc tả tính năng
Dựa vào yêu cầu của bài toán, ta thấy hệ thống được xây dựng nhằm mục đích phục vụ những khách hàng có nhu cầu mua xe nhưng lại không có thời gian rảnh để đi đến cửa hàng Hệ thống phục vụ cho các đối tượng sau:
IV.1 Khách hàng
Khách hàng là những người vào hệ thống tìm kiếm các mẫu Ôtô cần mua
và đặt hàng với hệ thống Khách hàng có thể tìm kiếm mẫu Ôtô mình cần: theo tên, theo giá,…Sau khi đã tìm được mẫu Ôtô mình cần, khách hàng muốn mua có thể
bỏ vào giỏ hàng và đặt mua với hệ thống Hệ thống sẽ nhận đơn đặt hàng của khách hàng và hẹn ngày giao hàng
IV.2 Người quản trị
Người quản trị hệ thống là người làm chủ ứng dụng Họ có quyền kiểm soát mọi hoạt động ủa hệ thống Mỗi người quản trị hệ thống sẽ được quyền cấp một username và password để thực hiện chức năng của mình Họ phải đăng nhập vào
hệ thống với username và password của mình
Nếu đăng nhập thành công, người quản trị hệ thống có thể có những chức năng sau:
Trang 2614
Xem thông tin của người quản trị, nhân viên và khách hàng
Thêm người quản trị mới, nhân viên mới, khách hàng mới
Xóa người quản trị, xóa khách hàng, xóa nhân viên
Thay đổi thông tin người quản trị, nhân viên, khách hàng
Chức năng đối với Ôtô
Xem thông tin về Ôtô
Thêm Ôtô mới
Xóa Ôtô
Thay đổi thông tin về Ôtô
Chức năng đối với đơn đặt hàng
Xem đơn đặt hàng
Xóa đơn đặt hàng
Chức năng đối với nhà cung cấp
Xem thông tin về nhà cung cấp
Xóa nhà cung cấp
Sửa thông tin về nhà cung cấp
Thêm nhà cung cấp mới
…
Trang 27Xây dựng website bán ôtô trực tuyến
15
IV.3 Nhân viên
Việc thu tiền từ khách hàng và trả tiền cho nhà cung cấp, giao Ôtô cho khách hàng, nhập Ôtô từ nhà cung cấp và xuất Ôtô từ kho được thực hiện bởi nhân viên
Sau khi đăng nhập thành công với username và password thì có thể có những chức năng sau:
Chức năng đối với cá nhân
Thay đổi thông tin cá nhân
Quản lý chứng từ : phiếu thu, phiếu chi, phiếu xuất,…
Đối với cửa hàng, cửa hàng sẽ dễ dàng trong quản lí Có thể quản lí tồn kho
Có thể quản lí các hóa đơn,…
Trang 29Phạm Đình Vũ, Lớp 05T1 – Trần Vũ, Lớp 05T1 17
CHƯƠNG II
TÌM HIỂU LÝ THUYẾT VÀ MÔI TRƯỜNG
CÔNG CỤ
I Tổng quan về Struts Framwork, Ibatis Framework và
mô hình MVC (Model – View – Controller)
I.1 Struts Framework và mô hình MVC
Struct, một dự án mã nguồn mở của Apache Software Foundation , là một bản thực hiện Java phía Server của mẫu thiết kế Model-Viewer- Controller (MVC)
Dự án struct được khởi sướng bởi Craig McClanahan vào tháng 5/2000 , thuộc dự
án Apache Jakata Hiện tại , dự án Structs đã trở thành một dự án độc lập – dự án Apache Structs
Dự án structs được thiết kế với mục đích cung cấp một bộ khung mã ngồn
mở để tạo các ứng dụng web , tách tầng trình bày (presentation layer) ra khỏi tầng giao tác ( transaction layer) và tầng dữ liệu (data layer) Từ khi ra đời , dự án Structs được nhiều ủng hộ của các nhà phát triển và nhanh chóng chiếm ưu thế trong cộng đồng mã nguồn mở
Để nắm vững Structs Framework , bạn cần hiểu cơ bản về mẫu thiết kế MVC
Model : biểu diễn các đối tượng dữ liệu , thành phần Model là những gì đang được thao tác và trình bày cho người dùng
View : đóng vai trò là phần biểu diễn trên màn hình ( screen representation ) của thành phần Model Thành phần View là đối tượng trình bày trạng thái hiện trạng của các đối tượng dữ liệu
Controller : định nghĩa cách thức giao diện người dùng tương tác lại dữ liệu đầu vào Thành phần Controller là đối tượng thao tác thành phần Model (hay đối tượng dữ liệu)
Với phương pháp thiết kế này, các chức năng hiển thị, chức năng logic điều khiển và chức năng truy cập dữ liệu của chương trình được chia làm các phần tách biệt
Trang 3018
HÌNH 2: Mô hình MVC
Những lợi ích khi sử dụng mẫu thiết kế MVC
Tính tin cậy : Tầng trình bày và tầng giao tác có sự phân chia rõ rang , cho phép bạn thay đổi cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay Controller
Tính thích ứng và tái sử dụng cao : mẫu MVC cho phép bạn sử dụng nhiều loại khung nhin , tất cả cùng truy xuất đến cùng một mã nguồn phía server ,
từ trình duyệt web (HTTP) cho đến trình duyệt không dây (WAP)
Các chi phí trong vòng đời phát triển rất thấp : mẫu MVC chỉ cần có người lập trình cấp thấp phát triển và bảo trì các giao diện người dùng
Triển khai nhanh chóng : thời gian phát triển có thể được giảm đáng kể , bởi
vì những người lập trình cho thành phần Controller ( nhà phát triển Java )chỉ tập trung vào phần giao tác , còn những người lập trình cho phần Viewer (nhà phát triển HTML và JSP ) chỉ tập trung vào phần trình bày
Tính bảo trì : việc tách phần trình bày và logic nghiệp vụ cũng khiến việc bảo trì và sửa đổi một ứng dụn web dựa trên Structs dễ dàng hơn
Cấu trúc Structs trong mô hình MVC
Structs Framework mô hình hóa bản hiện thực phía server của mẫu MVC bằng cách kết hợp các tran JSP , các thẻ JSP tùy biến và một Java servlet
Trang 31Xây dựng website bán ôtô trực tuyến
19
HÌNH 3: Mô hình thực hiện Struts của mẫu MVC
Quy trình này có thể được chia thành 5 bước sau :
1 Một yêu cầu xuất phát từ một Viewer đã được hiển thị trước đó
2 Yêu cầu này được tiếp nhận bởi Action servlet (đóng vai trò là một
Controller ) Action servlet tìm URI được yêu cầu trong một file XML và xác định tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết
3 Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng
4 Khi đã hoàn tất xử lý , lớp Action trả quyền điều khiển cho Action servlet ,
đồng thời cung cấp một khóa biểu thị các kết quả xử lý Action servlet sử dụng khóa này để xác định các kết quả sẽ được chuyển đến đâu khi trình bày
5 Yêu cầu kết thúc khi Action servlet chuyển yêu cầu đến Viewer được ắn với
khóa trả về và Viewer này trình bày các kết quả của Action
Trang 32 Thành phần Controller của Structs là xương sống của tất cả cấc trang Web
Structs , nó được thực hiện bằng một servlet có tên là org apache structs
action actionservlet Servlet này nhận các yêu cầu HTTP và giao quyền điều
khiển của mỗi yêu càu dựa vào URI của yêu cầu , cho một lớp org apache
structs Action Action do người dùng định nghĩa
I.2 Ibatis Framework
Dự án Ibatis Framework được khởi sướng từ năm 2001 bởi Clinton Begin iBATIS là một framework đơn giản nhưng đầy đủ giúp người sử dụng dễ dàng hơn trong việc lập bản đồ các đối tượng cho các câu lênh truy vấn SQL hoặc thủ tục lưu trữ Mục tiêu của iBATIS Framework là để có được 80% chức năng truy cập dữ liệu bằng cách sử dụng chỉ 20% các mã Ibatis Framework đơn giản chỉ là Database layer bao gồm 2 frameworks hoạt động độc lập nhưng luôn gắn kết với nhau là: SQL Map (hay còn gọi là DataMapper) và DAO (Data Access Object)
DataMapper Framework
Trước khi Ibatis ra đời , để quản lý truy cập cơ sở dữ liệu các nhà phát triển thường sử dụng công cụ ADO.NET , nhưng càng về sau , các nhà phát triển càng thấy được nhiều khó khăn trong việc :
Tách CSDL ra khỏi code
Phân tách lớp Data access và lớp Bussiness logic
Bộ nhớ đệm bị lưu giữ cho tới khi có sự thay đổi
Quản lý các Transaction và Threading
Trang 33Xây dựng website bán ôtô trực tuyến
21
Và DataMapper ra đời để giải quyết những vấn đề trên, bằng cách sử dụng các file XML để tạo các ánh xạ giữa một đối tượng Plain-old và câu lệnh truy vấn SQL hoặc thủ tục lưu trữ Đối tượng Plain-old có thể là một IDictionary hay là một thuộc tính của đối tượng DataMapper Framework thực hiện việc ánh xạ bằng cách đi qua các tham số và tên tham số mà bạn đã tạo ở câu lệnh SQL hoặc thủ tục trong bộ mô tả XML Bước này xảy ra một cách trừu tượng Framework sẽ chuẩn
bị các câu lệnh SQL hoặc thủ tục lưu trữ, thiết lập giá trị runtime cho việc truy xuất tới tham số, thực thi các thủ tục hoặc các câu lệnh, và cuối cùng là trả lại kết quả
DAO Framework
Là một lớp trừu tượng, nó làm ẩn đi những chi tiết của giải pháp persistence và cung cấp một API (Application Program Interface) chung cho phần còn lại của ứng dụng DAOs cho phép bạn tạo các thành phần đơn giản cung cấp quyền truy cập vào dữ liệu của bạn mà không để lộ các chi tiết cụ thể để thực hiện phần còn lại của ứng dụng Sử dụng DAOs bạn có thể cho phép ứng dụng của bạn được tự động cấu hình để sử dụng persistence theo nhiều cơ chế khác nhau
II Tìm hiểu về Java Servlet và Java Server Page (JSP) II.1 Java Servlet
Servlet có thể được xem như một applet phía server (server side) Các servlets được nạp và được thực thi tại trình chủ Web (Web Server) Hình 1 1 sau chỉ ra một servlet chấp nhận các yêu cầu từ trình khách (thông qua trình chủ Web), thi hành một số tác vụ và trả về các kết quả
HÌNH 4: Cơ chế hoạt động của Servlet
Trang 34 Servlet sẽ nhận yêu cầu này dựa trên nghi thức HTTP và thi hành vài loại xử lý
Servlet sẽ trả ngược về cho trình chủ Web một phản hồi (response)
Trình chủ Web sẽ chuyển phản hồi này rồi chuyển cho trình khách
Vì servlet được thực thi trên máy chủ, vấn đề bảo mật thường áp dụng cho các applets không còn sử dụng nữa Trình duyệt Web không truyền thông trực tiếp được với servlet; servlet được nạp và được thực thi bởi trình chủ Web Ðiều này có nghĩa rằng nếu trình chủ Web được bảo mật đằng sau bức tường lửa (firewall), thì servlet cũng được bảo mật theo
Phần lớn trong các dạng cơ bản, servlets là một sự thay thế tuyệt vời cho các kịch bản CGI (Common Gateway Interface) Các kịch bản CGI thông thường được viết bằng ngôn ngữ Perl hoặc C và thường gắn chặt với một nền (platform) chủ cụ thể Vì servlet được viết bằng ngôn ngữ Java, nên các servlet này cũng độc lập với nền
Các servlets bền vững Servlets chỉ được nạp một lần bởi trình chủ Web và
có thể duy trì các dịch vụ (chẳng hạn kết nối cơ sở dũ liệu) giữa các yêu cầu Mặt khác các kịch bản CGI là trong suốt Mỗi lần một yêu cầu nào đó được tạo cho kịch bản CGI, nó phải được nạp và được thực thi bởi trình chủ Web Khi kịch bản CGI này hoàn tất, nó bị loại bỏ khỏi bộ nhớ và kết quả được trả về cho trình khách Tất cả sự khởi tạo của chương trình (như kết nối cơ sở dữ liệu) phải được lặp lại mỗi lần kịch bản CGI được dùng
Servlets thì nhanh Servlets chỉ cần nạp một lần, chúng cho hiệu suất cao hơn so với các kịch bản CGI tương đương
Trang 35Xây dựng website bán ôtô trực tuyến
23
Servlets độc lập với nền Như đã đề cập trước đây, servlets được viết bằng ngôn ngữ Java, vốn đã mang lại sự độc lập nền cho nỗ lực phát triển của ta Servlets có khả năng mở rộng Do servlets được viết bằng ngôn ngữ Java, điều này mang lại cho servlets các lợi ích khách của ngôn ngữ Java Java thì rất mạnh mẽ, là ngôn ngữ lập trình hướng đối tượng, nó dễ dàng mở rộng để phù hợp với nhu cầu của ta
Servlets rất an toàn Cách duy nhất để gọi một servlet từ bên ngoài là thông qua trình chủ Web Ðiều này mang lại một mức bảo mật cao, đặc biệt là nếu như trình chủ Web được bảo vệ đằng sau bức tường lửa
Servlets có thể sử dụng được với đủ loại trình khách Trong khi các servlets được viết bằng ngôn ngữ Java, chúng ta có thể sử dụng chúng dễ dàng từ các Java applets cũng như từ HTML
Nhược điểm của Servlet
Hoạt động chậm
Phức tạp không uyển chuyển
HÌNH 5: Chu kỳ sống của Servlet II.2 Tìm hiểu sơ lược về Java Server Page (JSP)
II.2.1 Giới thiệu về JSP
Công nghệ Java Server Pages (viết tắt là JSP) là công nghệ Java dựa trên nền J2EE để xây dựng những ứng dụng chứa nội dung trang Web động như: HTML, DHTML, XHTML và XML Công nghệ JSP có khả năng tạo ra những
Trang 3624
Một trang JSP (.jsp) là giống một trang HTML hay XML trong đó có chứa
mã Java, phần HTML chịu trách nhiệm về việc định dạng văn bản, mã chương trình xen lẫn trong văn bản dùng để diễn đạt các thao tác xử lý dữ liệu hoặc nối kết với CSDL (Database) Trang Web truyền thống (dùng HTML) được trình chủ Web gửi ngay đến cho máy khách (Client) khi có yêu cầu, còn các trang JSP phải chạy qua một Engine riêng biệt, ở đó phần mã chương trình được tách ra khỏi trang JSP, được thi hành và kết quả xử lý được ghi trở vào trang Web đang xét, tạo thành trang HTML thuần túy
Trang JSP khi chạy, mã Java sẽ được biên dịch thành Java Servlet và Servlet này chạy trên máy ảo Java (JVM) ở phía máy chủ (Web Server) Mã Java được biên dịch khi máy khách truy xuất trang JSP lần đầu tiên Tập tin jsp có cấu trúc giống như tập tin html truyền thống, nhưng khác ở chỗ là tập tin jsp có xen lẫn mã Java Mã Java được tách biệt với phần HTML thông thường bằng cặp dấu
<% và %>
JSP sử dụng ngôn ngữ Java được thực thi trên các web server như Tomcat, JRun, JBoss,… JSP tách biệt giữa giao diện và xử lý
Ưu điểm của JSP
Duy trì trạng thái kết nối giữa Client và Server
Khả năng mở rộng cao
Có tính uyển chuyển
Tạo thread mới khi có request
Làm việc trên nhiều hệ điều hành khác nhau
Có tính bảo mật tốt
Trang 37Xây dựng website bán ôtô trực tuyến
25
II.2.2 Cơ chế hoạt động của JSP
Công nghệ JSP gắn liền với Servlet Mã Java trong trang JSP được biên dịch thành Servlet khi trình duyệt phía khách (Client) truy xuất trang JSP lần đầu tiên Quá trình diễn ra như sau: mã Java được tách ra khỏi nội dung bình thường của trang JSP, tạo thành mã nguồn của Servlet Kết quả xử lý của Servlet được thay vào chỗ biểu thức JSP trong trang Web ban đầu (trang Web mà trình duyệt nhận được là trang HTML thuần túy)
HÌNH 6: Cơ chế hoạt động của JSP
II.2.3 Những điểm nổi bật của JSP
Tận dụng được sức mạnh của ngôn ngữ lập trình Java
Từ trước đến nay chúng ta đều biết đến Java như là một công cụ hỗ trợ đắc lực trong việc xây dựng các ứng dụng Web Client-side (Applet) Nhưng Java cũng còn là một môi trường lý tưởng để tạo thành phần server cho ứng dụng Web Do nền tảng của JSP dựa trên Java nên JSP cũng tận dụng được các ưu điểm trên JSP cung cấp một phương pháp rất mạnh để xử lý yêu cầu từ Client, cũng như những
ưu việt trong chế độ an toàn, chống rò rỉ bộ nhớ (memory leak) và hỗ trợ chế độ xử
Trang 3826
phần cốt lõi trong môi trường J2EE Vì vậy, với công nghệ JSP, người ta hoàn toàn
có thể tạo ra được những ứng dụng có quy mô lớn với chất lượng cao
Quá trình phát triển, triển khai và duy trì phát triển ứng dụng Web trở
nên dễ dàng và nhanh chóng
JSP đã làm đơn giản hóa và tăng tốc quá trình phát triển ứng dụng Web Thay cho việc phải viết một chương trình Java, giờ đây người ta chỉ cần tạo một trang HTML, thêm các thẻ tựa XML (XML - like tags) và nếu cần thiết, sử dụng thêm các đoạn mã nhúng (scriptlet) Bằng việc hỗ trợ các thư viện thẻ tự tạo (customized tag) và mô hình phát triển dựa trên thành phần (component - based development), JSP không chỉ làm giảm công sức phải bỏ ra của những người phát triển mà nó còn cung cấp một cơ sở vững chắc cho các công cụ phát triển Khi đã được xây dựng, các trang JSP còn dễ bảo trì bởi sự tách biệt các xử lý nghiệp vụ (thường được đặt trong các thư viện customized tag hay các thành phần JavaBeans)
ra khỏi giao tiếp, hình thức của trang
Tận dụng được những thành phần có thể dùng lại (reusable components)
Hầu hết các trang JSP đều dực trên những thành phần xuyên nền (cross- platform components) có thể dùng lại (các thành phần JavaBeans hay Enterprise JavaBeans) để thực hiện những xử lý nghiệp vụ phức tạp Những nhà phát triển có thể trao đổi hay chia sẻ những thành phần chuyên trách xử lý chung (common operations), do đó sẽ làm giảm đáng kể chi phí khi xây dựng ứng dụng Cách tiếp cận dựa trên thành phần của JSP đã làm tăng tốc độ phát triển ứng dụng và cho phép đạt được kết quả tối ưu trên sản phẩm sau cùng
Tách biệt nội dung với giao diện
Với công nghệ JSP, người phát triển sử dụng các thẻ HTML hay XML để thiết kế giao tiếp trang Web, các thẻ JSP hay các đoạn scriptlet để phát sinh nội dung động của trang (nội dung này phụ thuộc vào yêu cầu của user) Các xử lý phát sinh nội dung được đóng gói trong các thẻ hay thành phần JavaBeans và được liên kết lại trong scriptlet, sau đó được thực hiện ở server Do những xữ lý cốt lõi
đã được đóng gói trong các thẻ và Beans, Web master và page designer có thể hiệu
Trang 39Xây dựng website bán ôtô trực tuyến
27
chỉnh và làm việc trên trang JSP mà không ảnh hưởng đến xử lý nghiệp vụ của trang Các điều trên giúp bảo vệ các đoạn code sở hữu độc quyền và vẫn đảm bảo cho mọi HTML - based web Browser có thể truy xuất đến các trang JSP theo yêu cầu
Sự phát triển mở rộng và hỗ trợ công nghiệp rộng lớn
JSP được phát triển dưới Java Community Process Ðiều này đảm bảo nó có một sự hỗ trợ công nghiệp rộng lớn của hầu hết các Web server và Application server Hơn nữa, công nghệ này giờ đây đã được phát triển mở trong dự án của Apache Software Foundation Với điều này, công nghệ JSP mới nhất sẽ có được một ảnh hưởng tầm cỡ Thế Giới trong công nghệ thông tin Sun Microsystems được ủy nhiệm việc duy trì tính đa nền và mở của công nghệ này
Sự độc lập nền
Công nghệ JSP đưa ra khả năng sử dụng lại ứng dụng trên bất kỳ nến và server nào (đây cũng chính là khẩu hiệu nổi tiếng của ngôn ngữ Java: "Write Once, Run Anywhere") Nó cung cấp một phương pháp hướng thành phần, độc lập nền trong việc xây dựng ứng dụng Web Hầu hết Web server và Application server đã
và đang đưa ra những sản phẩm hỗ trợ công nghệ JSP Sự hỗ trợ đa nền, rộng lớn này cho phép Web developer viết code JSP một lần nhưng có thể triển khai khắp mọi nơi
Ðơn giản hóa quá trình phát triển với các thẻ
Những nhà phát triển trang Web không phải lúc nào cũng là một lập trình viên thông thạo với ngôn ngữ kịch bản Công nghệ JSP đóng gói nhiều chức năng cần thiết trong việc phát sinh nội dung động ở dạng dễ sử dụng Các thẻ JSP chuẩn
có thể truy xuất và khởi tạo những thành phần JavaBeans, thiết lặp hay nhận về giá trị của thuộc tính và thực hiện những xử lý mà nếu viết code sẽ khó khăn và mất nhiều thời gian Công nghệ JSP có thể mở rộng thông qua sự phát triển của các thư viện thẻ tự tạo (customized tag library) Hiện nay đã có khá nhiều các thư viện loại này, từ đó giúp nhà phát triển trang Web có thể làm việc với những công cụ quen thuộc khi thực hiện những xử lý phức tạp
Trang 4028
AJAX (tiếng Anh: "Asynchronous JavaScript and XML" - nghĩa là
"JavaScript và XML không đồng bộ") là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động hay các ứng dụng giàu tính Internet
(rich Internet application) Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên vào tháng 2 nãm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax
đã có trên các chương trình duyệt từ 10 nãm trước Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ:
Thể hiện Web theo tiêu chuẩn XHTML và CSS
Nâng cao tính năng động và tương tác bằng DOM (Document Object Model)
Trao đổi và xử lý dữ liệu bằng XML và XSLT
Truy cập dữ liệu theo kiểu bất đồng bộ (asynchronous) bằng XMLHttpRequest
Và tất cả các kỹ thuật trên được liên kết lại với nhau bằng JavaScript
Trong các thành phần cấu thành trên, điểm mấu chốt của AJAX nằm ở XMLHttpRequest Đây là một kỹ thuật do Microsoft khởi xướng và tích hợp lần đầu tiên vào IE5 dưới dạng một ActiveX Mozilla tích hợp công nghệ này vào Mozilla 1.0/Netscape 6 sau đó (đương nhiên toàn bộ các version sau này của Firefox đều có XMLHttpRequest) và hiện nay đã có trong trình duyệt Safari 1.2 (Apple) và Opera 7 trở lên Các vấn đề về XMLHttpRequest và cách sử dụng nó trên các trình duyệt khác nhau sẽ được chúng ta quay trở lại ở các phần tiếp theo Sau đây là một số nét khác biệt cơ bản giữa các ứng dụng Web truyền thống và ứng dụng Web sử dụng AJAX