* 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 đạ
Trang 1Nghệ An, tháng 12 năm 2014
Trang 2LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè Em xin gửi lời cảm ơn
chân thành đến cô giáo TS PHAN LÊ NA, người đã tận tình hướng dẫn, chỉ bảo em
trong suốt quá trình làm đồ án tốt nghiệp
Em cũng xin chân thành cảm ơn các thầy cô giáo trong Khoa Công nghệ thông tin – trường Đại học Vinh nói chung, các thầy cô trong Bộ môn Khoa học máy tính nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành đồ án tốt nghiệp
Nghệ An, tháng 12 năm 2014
Sinh viên
Hà Văn Nghĩa
Trang 3LỜI NÓI ĐẦU
Với sự phát triển nhảy vọt của công nghệ thông tin hiện nay, Internet ngày càng giữ vai trò quan trọng trong các lĩnh vực khoa học kĩ thuật và đời sống Internet là một tập hợp máy tính nối kết với nhau, là một mạng máy tính toàn cầu mà bất kì ai cũng có thể kết nối bằng máy PC Với mạng Internet, tin học thật sự tạo nên một cuộc cách mạng trao đổi thông tin trong mọi lĩnh vực văn hóa, xã hội, chính trị, kinh tế
Với công nghệ Word Wide Web, hay còn gọi là Web sẽ giúp chúng ta đưa những thông tin mong muốn của mình lên mạng Internet cho mọi người cùng xem một cách
dễ dàng với các công cụ và những ngôn ngữ lập trình khác nhau Sự ra đời của các ngôn ngữ lập trình cho phép chúng ta xây dựng các trang Web đáp ứng được các yêu cầu của người sử dụng PHP (Personal Home Page) là kịch bản trên phía trình chủ (Server Script) cho phép chúng ta xây dựng trang Web trên cơ sở dữ liệu Với nhiều
ưu điểm nổi bật mà PHP và SQL được rất nhiều người sử dụng
Với lí do đó, được sự hướng dẫn và giúp đỡ của cô giáo TS Phan Lê Na, em đã
chọn đề tài Thiết kế Website quản lý bến xe Trung tâm Đà Nẵng làm đề tài cho đồ án
của mình Báo cáo đồ án gồm có các chương: chương 1: Internet, world wide web và html; chương 2: Xây dựng ứng dụng thực tế; chương 3: chương trình ứng dụng về website quản lý bến xe khách trung tâm Đà Nẵng; chương 4: Miêu tả màn hình giao
diện
Trong quá trình thực hiện đồ án này em đã nhận được sự giúp đỡ chỉ bảo tận tình
của các thầy, cô giáo, em xin chân thành cảm ơn cô giáo TS Phan Lê Na đã hướng
dẫn trong quá trình làm đồ án
Tuy nhiên, do thời gian hạn hẹp, với kiến thức chưa vững, thời gian nghiên cứu không dài, mặc dù đã nỗ lực hết sức mình nhưng chắc rằng đồ án khó tránh khỏi thiếu sót Em rất mong nhận được những lời góp ý và chỉ bảo tận tình của quý Thầy Cô và các bạn!
Trang 4MỤC LỤC
LỜI CẢM ƠN 2
LỜI NÓI ĐẦU 3
MỤC LỤC 4
CHƯƠNG 1: INTERNET, WORLD WIDE WEB VÀ HTML 6
1.1 Khái niệm cơ bản về Internet 6
1.1.1 Giới thiệu chung 6
1.1.2 Phân loại 6
1.2 World Wide Web 7
1.2.1 Các khái niệm cơ bản về World Wide Web 7
1.2.2 Cách tạo trang Web 7
1.2.3 Trình duyệt Web (Web Client hay Web Browser) 8
1.2.4 Webserver 8
1.2.5 Phân loại Web 8
1.3 HTML 9
1.3.1 Cấu trúc chung của một trang HTML 10
1.3.4 Các thẻ HTML cơ bản 10
1.4 Tìm hiểu sơ lược về Servlet 11
1.4.1 Khái niệm: 11
1.4.2 Các tính năng của servlet 12
1.5 Tìm hiểu về sơ lược JSP 13
1.5.1 Giới Thiệu Java Server Pages : 13
1.5.2 Cơ chế hoạt động của JSP : 14
1.5.3 Những điểm nổi bật của công nghệ Java Server Page (JSP) : 14
1.6 Giới thiệu về Mô hình MVC: 16
1.7 Các công cụ sử dụng 19
CHƯƠNG 2 XÂY DỰNG ỨNG DỤNG THỰC TẾ 23
2.1 Phân tích yêu cầu đề tài 23
2.3 Hệ thống hiện hành của bến xe 24
2.4 Yêu cầu giao diện của website 24
2.4.1 Giao diện người dùng 24
2.4.2 Giao diện người quản trị: 25
CHƯƠNG 3: CHƯƠNG TRÌNH ỨNG DỤNG VỀ WEBSITE QUẢN LÝ BẾN XE KHÁCH TRUNG TÂM ĐÀ NẴNG 26
3.1 Mục đích và phạm vi của đề tài: 26
3.1.1 Mục đích: 26
3.1.2 Phạm vi: 26
3.1.3 Giới hạn: 26
3.2 Mô tả yêu cầu: 26
3.3 Ý tưởng: 27
3.4 Quản trị cơ sở dữ liệu bằng SQL server 2008: 27
3.5 Yêu cầu về bảo mật 32
CHƯƠNG 4 MÔ TẢ MÀN HÌNH GIAO DIỆN 33
4.1 Màn hình cấu trúc của Web – Phần khách hàng 33
4.1.1 Màn hình giao diện trang chủ 34
Trang 54.1.2 Mục giới thiệu chi tiết, cụ thể về bến xe trung tâm Đà Nẵng, bao gồm địa chỉ, số
điện thoại, email : 35
4.1.3 Chức năng Tìm chuyến: 36
4.1.4 Trang tin tức: 38
4.1.5 Trang Thông báo: 39
4.1.6 Trang phản hồi: 39
4.2 Màn hình cấu trúc của Web – Phần quản lý admin, bến xe, nhân viên nhà xe 40
4.2.1 Giao diện quản trị viên - Admin: 40
4.2.2 Giao diện hiển thị quản lý các thông tin của nhân viên nhà xe: 41
4.2.3 Giao diện hiển thị quản lý các thông tin về bến xe: 43
4.3 Giao diện quản lý của nhân viên bến xe: 44
4.3.1 Thông tin quản tin tức: 48
4.3.2 Thông tin quản nhà xe: 48
4.3.3 Quản lý thống kê: 49
4.4 Giao diện quản lý nhân viên nhà xe 50
4.4.1 Thông tin quản lý nhà xe: 51
4.4.2 Quản lý lịch chạy: 53
4.4.3 Quản lý tin tức: 53
4.4.4 Quản lý phản hồi: 53
4.4.5 Quản lý vé xe: 54
4.4.6 Quản lý tuyến: 55
4.4.7 Quản lý dịch vụ: 56
4.4.8 Thống kê: 56
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
Trang 6CHƯƠNG 1: INTERNET, WORLD WIDE WEB VÀ HTML
1.1 Khái niệm cơ bản về Internet
1.1.1 Giới thiệu chung
Internet là mạng của các máy tính trên toàn cầu được thành lập từ những năm 80 bắt nguồn từ mạng APARRNET của bộ quốc phòng Mỹ
Vào mạng Internet, bạn có thể tìm thấy nhiều tài liệu để nghiên cứu, học tập, trao đổi thư từ, đặt hàng, mua bán Một trong những mục tiêu của Internet là chia sẻ thông tin giữa những người dùng trên nhiều lĩnh vực khác nhau
Mỗi máy tính trên Internet được gọi là một host Mỗi host có khả năng như nhau
về truyền thông tới máy khác trên Internet Một số host được nối tới mạng bằng đường nối Dial-up (quay số) tạm thời, số khác được nối bằng đường nối mạng thật sự 100% (như Ethernet, Tokenring )
1.1.2 Phân loại
Các máy tính trên mạng được chia làm 2 nhóm Client và Server
Client: Máy khách trên mạng, chứa các chương trình Client
Server: Máy phục vụ-Máy chủ Chứa các chương trình Server, tài nguyên (tập tin, tài liệu ) dùng chung cho nhiều máy khách Server luôn ở trạng thái chờ yêu cầu
và đáp ứng yêu cầu của Client
Internet Server: Là những server cung cấp các dịch vụ Internet như Web Server, Mail Server, FPT Server…
Các dịch vụ thường dùng trên Internet
+ Dịch vụ World Wide Web (gọi tắt là Web)
+ Dịch vụ Electronic Mail (viết tắt là Email)
+ Dịch vụ FPT
Để truyền thông với những máy tính khác, mọi máy tính trên Internet phải hỗ trợ giao thức chung TCP/IP (Transmission Control Protocol/Internet Protocol- là giao thức điều khiển truyền dữ liệu và giao thức Internet), là một giao thức đồng bộ, cho
Trang 7truyền thông điệp từ nhiều nguồn và tới nhiều đích khác nhau Ví dụ có thể vừ lấy thư
từ trong hộp thư, đồng thời vừa truy cập trang Web TCP đảm bảo tính an toàn dữ liệu,
IP là giao thức chi phối phương thức vận chuyển dữ liệu trên Internet
1.2 World Wide Web
1.2.1 Các khái niệm cơ bản về World Wide Web
World Wide Web (WWW) hay còn gọi là Web là một dịch vụ phổ biến nhất hiện nay trên Internet, 85% các giao dịch trên Internet ước lượng thuộc về WWW Ngày nay số Website trên thế giới đã đạt tới con số khổng lồ WWW cho phép bạn truy xuất thông tin văn bản, hình ảnh, âm thanh, video trên toàn thế giới Thông qua Website, các quý công ty có thể giảm thiểu tối đa chi phí in ấn và phân phát tài liệu cho khách hàng ở nhiều nơi
1.2.2 Cách tạo trang Web
Có nhiều cách để tạo trang Web:
Có thể tạo trang Web trên bất kì chương trình xử lí văn bản nào
Tạo Web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như: Notepad, WordPad… là những chương trình soạn thảo văn bản có sẵn trong Window Thiết kế bằng cách dùng Web Wizard và công cụ của Word 97, Word 2000 Thiết kế Web bằng các phần mềm chuyên nghiệp: FrontPage, Dreamweaver, Nescape Editor… Phần mềm chuyên nghiệp như DreamWeaver sẽ giúp bạn thiết kế trang Web dễ dàng hơn, nhanh chóng hơn, phần lớn mã lệnh HTML sẽ có sẵn trong phần Code cho bạn
Để xây dựng một ứng dụng Web hoàn chỉnh và có tính thương mại, bạn cần kết hợp cả Client Script (kịch bản trình khách) và Server Script (kịch bản trên trình chủ) với một loại cơ sở dữ liệu nào đó, chẳng hạn như: MS Access, SQL Server, MySQL, Oracle
Khi bạn muốn triển khai ứng dụng Web trên mạng, ngoài các điều kiện về cấu hình phần cứng, bạn cần có trình chủ Web thường gọi là Web Server
Trang 81.2.3 Trình duyệt Web (Web Client hay Web Browser)
Trình duyệt Web là công cụ truy xuất dữ liệu trên mạng, là phần mềm giao diện trực tiếp với người sử dụng Nhiệm vụ của Web Browser là nhận các yêu cầu của người dùng, gửi các yêu cầu đó qua mạng tới các Web Server và nhận các dữ liệu cần thiết từ Server để hiển thị lên màn hình Để sử dụng dịch vụ WWW, Client cần có 1 chương trình duyệt Web, kết nối vào Internet thông qua một ISP Các trình duyệt thông dụng hiện nay là: Microsoft Internet Explorer, Mozilla Firefox và Google Chrome… Trong đó Internet Explorer là một trình duyệt chuẩn cho phép trình bày nội dung do Web server cung cấp, cho phép đăng kí tới bất kì Website nào trên Internet,
hỗ trợ trình bày trang Web
1.2.4 Webserver
Webserver: là một máy tính được nối vào Internet và chạy các phần mềm được thiết kế Webserver đóng vai trò một chương trình xử lí các nhiệm vụ xác định, như tìm trang thích hợp, xử lí tổ hợp dữ liệu, kiểm tra dữ liệu hợp lệ Webserver cũng là nơi lưu trữ cơ sở dữ liệu, là phần mềm đảm nhiệm vai trò Server cung cấp dịch vụ Web
Webserver hỗ trợ các công nghệ khác nhau:
+ IIS (Internet Information Service) : Hỗ trợ ASP, mở rộng hỗ trợ PHP
+ Apache: Hỗ trợ PHP
+ Tomcat: Hỗ trợ JSP (Java Servlet Page)
1.2.5 Phân loại Web
- Website tĩnh :
+ Tài liệu được phân phát rất đơn giản từ hệ thống file của Server
+ Định dạng các trang web tĩnh là các siêu liên kết, các trang định dạng Text, các hình ảnh đơn giản
Trang 9+ Ưu điểm: CSDL nhỏ nên việc phân phát dữ liệu có hiệu quả rõ ràng, Server có thể đáp ứng nhu cầu Client một cách nhanh chóng Ta nên sử dụng Web tĩnh khi không thay đổi thông tin trên đó
+ Nhược điểm: Không đáp ứng được yêu cầu phức tạp của người sử dụng, không linh hoat
+ Hoạt động của trang Web tĩnh được thể hiện như sau:
Browser gửi yêu cầu
Hoạt động của Web động:
1.3 HTML
Trang Web là sự kết hợp giữa văn bản và các thẻ HTML HTML là chữ viết tắt của HyperText Markup Language được hội đồng World Wide Web Consortium (W3C) quy định Một tập tin HTML chẳng qua là một tập tin bình thường, có đuôi html hoặc htm
HTML giúp định dạng văn bản trong trang Web nhờ các thẻ Hơn nữa, các thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet Đa số các thẻ HTML có dạng thẻ đóng mở Thẻ đóng dùng chung từ lệnh giống như thẻ mở,
Trang 10nhưng thêm dấu xiên phải (/) Ngôn ngữ HTML qui định cú pháp không phân biệt chữ
hoa chữ thường Ví dụ, có thể khai báo <html> hoặc <HTML> Không có khoảng
+ Thẻ <head> </head>: Tạo đầu mục trang
+ Thẻ <title> </title>: Tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi trang Web đó được duyệt trên trình duyệt Web
+ Thẻ <body> </body>: Tất cả các thông tin khai báo trong thẻ <body> đều có
thể xuất hiện trên trang Web Những thông tin này có thể nhìn thấy trên trang Web + Các thẻ định dạng khác Thẻ <p>…</p>:Tạo một đoạn mới Thẻ <font>
</font>: Thay đổi phông chữ, kích cỡ và màu kí tự…
+ Thẻ định dạng bảng <table>…</table>: Đây là thẻ định dạng bảng trên trang Web Sau khi khai báo thẻ này, bạn phải khai báo các thẻ hàng <tr> và thẻ cột <td> cùng với các thuộc tính của nó
+ Thẻ hình ảnh <img>: Cho phép bạn chèn hình ảnh vào trang Web Thẻ này thuộc loại thẻ không có thẻ đóng
Trang 11+ Thẻ liên kết <a> </a>: Là loại thẻ dùng để liên kết giữa các trang Web hoặc liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin trong mạng cục bộ (UNC)
+ Các thẻ Input: Thẻ Input cho phép người dùng nhập dữ liệu hay chỉ thị thực thi một hành động nào đó, thẻ Input bao gồm các loại thẻ như: text, password, submit, button, reset, checkbox, radio, image
+ Thẻ Textarea: < Textarea> < \Textarea>: Thẻ Textarea cho phép người dùng nhập liệu với rất nhiều dòng Với thẻ này bạn không thể giới hạn chiều dài lớn nhất trên trang Web
+ Thẻ Select: Thẻ Select cho phép người dùng chọn phần tử trong tập phương thức đã được định nghĩa trước Nếu thẻ Select cho phép người dùng chọn một phần tử trong danh sách phần tử thì thẻ Select sẽ giống như combobox Nếu thẻ Select cho phép người dùng chọn nhiều phần tử cùng một lần trong danh sách phần tử, thẻ Select
1.4 Tìm hiểu sơ lược về Servlet
1.4.1 Khái niệm:
- 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) 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ả
HTTP request
HTTP request
WEB BROWS
ER
WEB SERVER
Trang 12- Các bước cơ bản khi sử dụng servlet:
Client (hầu hết là các trình duyệt Web) tạo ra một yêu cầu (request) dựa trên nghi thức HTTP
Trình chủ Web nhận các yêu cầu này và chuyển cho servlet Nếu servlet chưa được nạp, trình chủ Web sẽ nạp nó vào trong máy ảo Java và thực thi nó
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
1.4.2 Các tính năng của servlet
- 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 13- 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
1.5 Tìm hiểu về sơ lược JSP
1.5.1 Giới Thiệu Java Server Pages :
* 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 Web với nội dung linh hoạt, có vai trò quan trọng trong việc phát triển các ứng dụng Web
* 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à %>
Trang 141.5.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)
1.5.3 Những điểm nổi bật của công nghệ Java Server Page (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ử lý đa tuyến đoạn (multithreading) Ngoài ra, môi trường Java đã đưa ra rất nhiều sự mở rộng cho việc phát triển các ứng dụng Enterprise JSP ngày nay đã là một thành 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
Trang 15* 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 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
Trang 16nhữ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 Wwb 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
1.6 Giới thiệu về Mô hình MVC:
+ Khái niệm về MVC:
MVC (Model - View - Controller): là một kiến trúc phần mềm hay mô hình thiết
kế đƣợc sử dụng trong kỹ thuật phần mềm Nó giúp cho các developer (nhà phát triển) tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác
+ Các thành phần trong MVC:
Đây là mô hình MVC:
Trang 17Đây là một cách đơn giản để mô tả lại luồng sự kiện được xử lý trong MVC:
+ User tương tác với View, bằng cách click vào button, user gửi yêu cầu đi + Controller nhận và điều hướng chúng đến đúng phương thức xử lý ở Model + Model nhận thông tin và thực thi các yêu cầu
Trang 18+ Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị lại cho người dùng
Ưu điểm và nhược điểm của MVC:
+ Ưu điểm:
* Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế Do được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì
* Kiến trúc dữ liệu và giao diện người dùng được tách biệt Việc thay đổi model (kiến trúc dữ liệu) không làm ảnh hưởng đến View (giao diện tương tác với người dùng) và ngược lại
* Kiến trúc hệ thống của sản phẩm trở nên rõ ràng và việc bảo trì sản phẩm cũng trở nên dễ dàng hơn
* Một hệ thống hoặc phần mềm có thể có nhiều giao diện tương tác với người dùng hoặc ngược lại một giao diện phần mềm có thể sử dụng cho các bộ dữ liệu khác nhau
* Giúp tách bạch công việc của designer và coder
+ Nhược điểm: Đối với dự án nhỏ việc áp dụng mô hình MC gây cồng kềnh, tốn thời gian trong quá trình phát triển Tốn thời gian trung chuyển dữ liệu của các thành phần
Trang 191.7 Các công cụ sử dụng
Đây là chương trình giới thiệu thông tin về nhà xe, các tuyến đi, thời gian và đặt
vé online cho khách hàng trên mạng, chương trình được viết bằng ngôn ngữ JSP kết hợp với Servlet, cơ sở dữ liệu được quản lý bằng SQL Server, Web Server được cài đặt là Tomcat Apache
Các phần mềm được sử dụng trong chương trình
+ Cài đặt Tomcat làm server
+ Cài đặt Java Development Kit (JDK) - Bộ công cụ cho người phát triển ứng dụng bằng ngôn ngữ lập trình Java
+ Cài đặt Eclpise để dùng công cụ lập trình
+ Cài đặt sql server 2008 để quản trị cơ sở dữ liệu
- Giới thiệu về Tomcat Server
+ Là một trình chủ web server hiểu Java (JSP) rất mạnh, nhưng không có giao diện đồ họa như JRun hay WebLogic Mặc định Tom Cat dùng cổng 8080, để kiểm tra bạn có thể gọi http://localhost:8080/index.html (hiển thị trang chủ của Tom Cat) + Trước khi cài Tom Cat bạn cài JDK , và sua đó cài Tom Cat , chỉ cho Tom Cat thấy JDK bằng lệnh SET JAVA_HOME=[thư mục cài đặt JDK]
+ Thư mục làm việc: Các ứng dụng Web của Tom Cat được đặt trong thư mục [TOMCAT_HOME]\webapps Bạn có thể cấu hình để gọi các trang JSP /servlet của ứng dụng bằng cách chỉ ra vị trí ứng dụng trong file
[TOMCAT_HOME]\config\server.xml Ví dụ bạn tạo thư mục examples bên trong thư mục webapps và chỉ định vị trí trong server.xml như sau:
<context path = ”/examples”
docBase = webapps/examples”
crossContext = ”false”
debug = ”0”
Trang 20Trang Web chính của Tomcat Server
-Giới thiệu cơ sở dữ liệu :
Khái niệm: SQL sever 2008 là một trong những phần mềm tiện lợi và hiệu quả trong việc phát triễn các ứng dụng cơ sỡ dữ liệu lớn, phân tán thích hợp cho cơ quan tổ
Trang 21chức… Hỗ trợ tốt trong quản lý xử lý đồng nhất, bảo mật dữ liệu, lưu trữ dữ liệu trên các thiết bị khác nhau
SQL Server 2008 cung cấp công nghệ và những tính năng mà người dùng và doanh nghiệp có thể tin cậy để giải quyết các thách thức ngày càng tăng trong việc quản lý dữ liệu và việc cung cấp thông tin hữu ích cho người dùng Với những cãi tiến quan trọng, những lợi ích mà SQL Server 2008 mang đến rất thiết thực SQL Server
2008 là một phần mềm nền tảng dữ liệu của Microsoft được thiết kế để đáp ứng nhu cầu quản lý và làm việc với dữ liệu hiện tại và trong tương lai
+ Các chức năng của cơ sở dữ liệu :
Cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage), truy cập (accessibility), tổ chức (organization) và xử lí (manipulation)
Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này sang
cơ sở dữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn cơ sở dữ liệu nhỏ như: Microsoft Exel, Microsoft Access, MySQL, Microsoft Visual FoxPro… Nếu ứng dụng có quy mô lớn, bạn có thể chọn cơ sở dữ liệu có quy mô lớn như: Oracle, SQL Server…
Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử dụng, ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm trao đổi hay xử lí dữ liệu ngay bên trong chính nó, nhưng do mục đích và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu, nên bạn cần có các phương thức truy cập dữ liệu giữa các cơ sở dử liệu với nhau như: Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ liệu Oracle
Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình cơ sở dữ liệu, phân tích
và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuân theo một số tiêu chuẩn của hệ thống cơ sở dữ liệu nnhằm tăng tính tối ưu khi truy cập và xử lí
Xử lí: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của
cơ sở dữ liệu để xuất ra kết quả như yêu cầu Để thao tác hay xử lí dữ liệu bên trong
Trang 22chính cơ sở dữ liệu ta sử dụng các ngôn ngữ lập trình nhƣ: PHP, C++, Java, Visual Basic…
Trang 23CHƯƠNG 2 XÂY DỰNG ỨNG DỤNG THỰC TẾ
Trong chương này chúng ta sẽ phân tích các yêu cầu của đề tài như việc tóm tắt hoạt động của hệ thống mà dự án sẽ được ứng dụng, phạm vi ứng dụng của đề tài và đối tượng sử dụng, mục đích của dự án Xác định yêu cầu của khách hàng: Xuất phát
từ hệ thống hiện hành của bến xe cùng với yêu cầu của khách hàng để vạch ra được yêu cầu hệ thống cần xây dựng như việc thiết kế giao diện, yêu cầu về chức năng và yêu cầu về bảo mật
2.1 Phân tích yêu cầu đề tài
+ Các thông tin được sắp xếp hợp lý Vì vậy người dùng sẽ có cái nhìn tổng quan
về tất cả các thông tin hiện có
+ Khi đã chọn được một chuyến xe với mức giá vé xe hợp lý và thời gian cụ thì người dùng click vào phần đặt vé xe
- Phạm vi dự án được ứng dụng
+ Dành cho mọi đối tượng ở bất cứ nơi đâu trên mọi vùng miền
+ Do nghiệp vụ của bến xe kết hợp với công nghệ mới và được xử lý trên hệ thống máy tính nên công việc liên lạc nơi khách hàng cũng như việc xử lý hoá đơn thực hiện một cách nhanh chóng và chính xác, rút ngắn được thời gian đi lại, cũng như đưa thông tin về tuyến xe cảu nhà xe nhanh chóng đến cho khách hàng
- Đối tượng sử dụng
Có 2 đối tượng sử dụng cơ bản là : người dùng (Khách hàng) và nhà quản trị (Quản trị viên)
Trang 24* Khách hàng: Qua Website, khách hàng có thể xem thông tin, lựa chọn những nhà xe mà mình ưng ý với giá vé tốt và dịch vụ trên xe tốt ở mọi nơi thậm chí ngay trong phòng làm việc của mình
* Nhà quản trị: Nhà quản trị có toàn quyền quản lý và cập nhật mọi thông tin về nhà xe, hoá đơn, quản lý khách hàng, đảm bảo tính an toàn cho Website
- Mục đích của website
+ Đáp ứng nhu cầu tìm kiếm thông tin các tuyến xe với giá rẻ, thời gian hợp lý cộng với các dịch vụ tốt ngày càng phát triển của xã hội, xây dựng nên một môi trường làm việc hiệu quả
+ Thúc đẩy phát triển tìm kiếm trực tuyến
+ Rút ngắn khoảng cách giữa khách hàng và các nhà xe, tạo ra một Website trực tuyến có thể đưa nhanh thông tin cũng như việc trao đổi mua vé qua mạng
+ Việc quản lý xe trở nên dễ dàng
+ Thông tin được sắp xếp có hệ thống nên người dùng dễ tìm kiếm thông tin
2.3 Hệ thống hiện hành của bến xe
Trang web đưa ra các thông tin cụ thể, chính xác về thời gian, địa điểm, các dịch
vụ, … Khách hàng tìm kiếm và đặt vé trực tuyến tại website sau đó nhân viên nhà xe
sẽ liên lạc với khách hàng để giao dịch và xác nhận thông Trang đăng ký mua vé online khách hàng phải điền đầy đủ thông tin cá nhân và số lượng vé cần mua Kế toán phải chuẩn bị hoá đơn thanh toán, nhập một số dữ liệu liên quan như ngày, giờ, tên khách hàng, số lượng vé mua tổng số các hoá đơn vào trong sổ bán vé
Dựa vào những ràng buộc cụ thể của hệ thống hiện hành chúng ta sẽ có một hệ thống quản lý tiên tiến hơn, tiết kiệm được thời gian…
2.4 Yêu cầu giao diện của website
2.4.1 Giao diện người dùng
Thiết kế giao diện thân thiện, dễ sử dụng, màu sắc hài hoà, font chữ thống nhất, tiện lợi khi sử dụng Giới thiệu được những thông tin cụ thể và chính xác về nhà xe: Số
Trang 25điện thoại liên lạc, địa chỉ Email, địa chỉ liên hệ của nhà xe hoặc các công ty trực thuộc
2.4.2 Giao diện người quản trị:
Giao diện đơn giản, dễ quản lý dữ liệu, hệ thống bảo mật tốt, các chức năng đầy
đủ
Trang 26CHƯƠNG 3: CHƯƠNG TRÌNH ỨNG DỤNG VỀ WEBSITE QUẢN LÝ BẾN
XE KHÁCH TRUNG TÂM ĐÀ NẴNG
Chương 3 giới thiệu về mục đích, phạm vi của đề tài cùng với các mô tả yê cầu của đề tài Tìm hiểu về hệ quản trị cơ sở dữ liệ SQL server 2008 Sau đây là nội dung chi tiết
3.1 Mục đích và phạm vi của đề tài:
3.1.1 Mục đích:
Thiết kế Website quản lý bến xe Trung tâm Đà Nẵng nhằm mục đích giúp
cho việc quản lý bến xe chặt chẽ và hiệu quả, đơn giản hoá trong quản lý thuận lợi
và chính xác Tạo sự tín nhiệm cho khách hàng, uy tín, chất lượng nhất
3.2 Mô tả yêu cầu:
+ Bến xe khách Đà Nẵng là bến xe khách liên tỉnh có các tuyến đi và về hầu hết các địa điểm trong cả nước
+ Mỗi một chủ xe có một hoặc nhiều xe cho các tuyến đi mà họ đăng ký, và một chiếc xe chỉ được sở hữu bởi một chủ xe duy nhất, những chủ xe này phải làm phiếu đăng tài cho xe để được phép đăng tài và chọn lựa tuyến đi cho xe của minh Lúc đó, mỗi xe sẽ có một tuyến đi và thời gian cụ thể
+ Bến xe có nhiều loại xe chất lượng khác nhau để cho hành khách chọn lựa, và mỗi một xe chỉ có một chất lượng nào đó
Trang 27+ Bến xe có một hoặc nhiều nhân viên khác nhau, mỗi nhân viên sẽ có một cộng việc và giữ một vị trí nào đó ở phòng ban mà họ trực thuộc, hai loại nhân viên thường được đề cập ở đây là nhân viên hoá đơn và nhân viên bán vé Một nhân viên hoá đơn
có thể không lập hoặc lập nhiều hoá đơn, nhưng một hoá đơn chỉ được lập bởi một nhân viên cụ thể Một nhân viên lập hoá đơn có thể không lập phiếu đăng tài nào hoặc
có thể lập nhiều phiếu đăng tài khác nhau, một phiếu đăng tài chỉ được lập từ một nhân viên lập hoá đơn nào đó Tương tự cho nhân viên bán vé
+ Trước khi rời bến xe phải có lệnh xuất bến, mỗi một lệnh xuất bến chỉ dành cho một xe Mỗi một lệnh xuất bến kèm theo một hoá đơn để cho chủ xe trả chi phí dịch vụ của bến xe
3.3 Ý tưởng:
Dựa trên nhu cầu của người sử dụng cho việc tìm kiếm một tuyến xe đáp ứng được các nhu cầu về thời gian, chất lượng đảm bảo, giá vé hợp lý một cách nhanh chóng và hiệu quả, tiết kiệm thời gian, chi phí đi lại Webdite được thiết kế với đầy đủ nội dung mà khách hàng yêu cầu, cung cấp thông tin cho khách hàng một cách chính xác và hiệu quả về các tuyến xe, giá vé, thời gian đi, đến những nơi mà khách hàng cần
Với giao diện thân thiên, dễ dùng, thiết kế đẹp mắt hi vọng sẽ đáp ứng được mọi yêu cầu cho những khách hàng khó tính nhất
3.4 Quản trị cơ sở dữ liệu bằng SQL server 2008:
- Mô tả về cách tạo và quản lý cơ sở dữ liệu, cách tổ chức dữ liệu và thiết kế chương trình cho trang Web:
Việc tổ chức dữ liệu phải giải quyết được các yêu cầu đã phân tích để lúc hiển thị lên trang Web có giao diện dễ nhìn, dễ dàng, hấp dẫn khách hàng Một phương pháp
sử dụng khá rộn rãi từ trước đến nay là quản lí theo từng nhóm Mỗi nhóm sẽ có một
mã nhóm và tên nhóm để nhận biết Sau đây là một số bảng cơ sở dữ liệu chính trong toàn bộ cơ sở dữ liệu:
+ Bảng BUS: Dùng để lưu tất cả các thông tin của xe
Trang 28+ Bảng BUSSERVICES: Dùng để lưu thông tin các dịch vụ trên mỗi xe
+ Bảng BUSSTOPS: Quản lý địa điểm dừng xe
+ Bảng CANCELJOURNEY: Quản lý các tuyến xe đã hủy
+ Bảng COMPANY: Quản lý thông tin nhà xe
Trang 29+ Bảng FEEDBACK: Dùng để quản lí các thắc mắc liên hệ của khách
hàng
+ Bảng FEEDBACKSTATE: Dùng để quản lý các chức năng của mục phản hồi
+ Bảng FUNCTION: Các chức năng chọn, cập nhật, chỉnh sửa và xóa
+ Bảng JOURNEY: Quản lý hành trình của xe về thời gian, vé của mỗi xe
+ Bảng NEWS: Quản lý bản tin