Đồ án HCMUTE: Tìm hiểu Servlet, JSP, Struts & Ứng dụng minh họa

Hướng dẫn xây dựng ứng dụng web với Servlet, JSP, Struts. Cung cấp mã nguồn ví dụ thực tế, dễ hiểu cho sinh viên HCMUTE và người mới bắt đầu.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2015

103
0
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

KHÓA LUẬN TỐT NGHIỆP

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

DANH MỤC CÁC TỪ VIẾT TẮT

1. PHẦN 1: MỞ ĐẦU

1.1. Khảo sát hiện trạng

1.2. Tính cấp thiết của đề tài

1.3. Đối tượng và phạm vi nghiên cứu

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

1.5. Ý nghĩa khoa học và thực tiễn của đề tài

2. PHẦN 2: NỘI DUNG

1. CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP

1.1. Servlet là gì ?

1.2. Vòng đời của Servlet

1.3. Lịch sử

1.4. JavaServer Pages

1.5. Kết luận

2. CHƯƠNG 2: STRUTS FRAMEWORK

2.1. Kiến trúc MVC

2.2. Kiến trúc của Struts framework

2.3. Các lớp, file người dùng tự định nghĩa

2.4. Các tính năng của Struts

3. CHƯƠNG 3: LẬP DANH SÁCH YÊU CẦU

3.1. Use case chính

3.2. Sơ đồ use casequản lý văn phòng

3.3. Sơ đồ use case quản lý lich tuyến

3.4. Sơ đồ use case quản lý chuyến xe

3.5. Sơ đồ use case quản lý xe

3.6. Sơ đồ use case quản lý bến xe

3.7. Sơ đồ use case quản lý nhà xe

3.8. Sơ đồ use case quản lý tài khoản

3.9. Sơ đồ use case quản lý vé xe

3.10. Sơ đồ tuần tự xem thông tin vé xe

3.11. Sơ đồ tuần tự hủy vé xe

3.12. Sơ đồ tuần tự tìm vé xe

3.13. Sơ đồ tuần tự đặt vé xe

3.14. Sơ đồ tuần tự xem thông tin đánh giá nhà xe

3.15. Sơ đồ tuần tự đánh giá nhà xe

3.16. Sơ đồ tuần tự xem danh sách lịch tuyến

3.17. Sơ đồ tuần tự đăng nhập

3.18. Sơ đồ tuần tự xem danh sách tài khoản

3.19. Sơ đồ tuần tự thêm tài khoản

3.20. Sơ đồ tuần tự cập nhật tài khoản

3.21. Sơ đồ tuần tự xem danh sách nhà xe

3.22. Sơ đồ tuần tự thêm nhà xe

3.23. Sơ đồ tuần tự cập nhật nhà xe

3.24. Sơ đồ tuần tự xem danh sách bến xe

3.25. Sơ đồ tuần tự thêm bến xe

3.26. Sơ đồ tuần tự cập nhật bến xe

3.27. Sơ đồ tuần tự cập nhật thông tin chuyến xe

3.28. Sơ đồ tuần tự xem danh sách chuyến xe

3.29. Sơ đồ tuần tự xem danh sách vé xe đặt bởi nhà xe

3.30. Sơ đồ tuần tự xem danh sách vé xe chờ chuyển khoản

3.31. Sơ đồ tuần tự xem danh sách vé xe giao tại nhà

3.32. Sơ đồ tuần tự hủy vé

3.33. Sơ đồ tuần tự xác nhận đã thanh toán

3.34. Sơ đồ tuần tự thêm mới lịch tuyến

3.35. Sơ đồ tuần tự cập nhật thông tin lịch tuyến

3.36. Sơ đồ hoạt động xem thông tin vé xe

3.37. Sơ đồ hoạt động hủy vé xe

3.38. Sơ đồ hoạt động tìm vé xe

3.39. Sơ đồ hoạt động đặt vé xe

3.40. Sơ đồ hoạt động xem thông tin đánh giá nhà xe

3.41. Sơ đồ hoạt động đánh giá nhà xe

3.42. Sơ đồ hoạt động xem danh sách lịch tuyến

3.43. Sơ đồ hoạt động đăng nhập

3.44. Sơ đồ hoạt động xem danh sách tài khoản

3.45. Sơ đồ hoạt động thêm tài khoản

3.46. Sơ đồ hoạt động cập nhật tài khoản

3.47. Sơ đồ hoạt động xem danh sách nhà xe

3.48. Sơ đồ hoạt động thêm nhà xe

3.49. Sơ đồ hoạt động cập nhật nhà xe

3.50. Sơ đồ hoạt động xem danh sách bến xe

3.51. Sơ đồ hoạt động thêm bến xe

3.52. Sơ đồ hoạt động cập nhật bến xe

3.53. Sơ đồ hoạt động cập nhật thông tin chuyến xe

3.54. Sơ đồ hoạt động xem danh sách chuyến xe

3.55. Sơ đồ hoạt động xem danh sách vé xe đặt bởi nhà xe

3.56. Sơ đồ hoạt động xem danh sách vé xe chờ chuyển khoản

3.57. Sơ đồ hoạt động xem danh sách vé xe chờ giao vé

3.58. Sơ đồ hoạt động hủy vé

3.59. Sơ đồ hoạt động xác nhận đã thanh toán

4. CHƯƠNG 4: THIẾT KẾ HỆ THỐNG

4.1. Thiết kế cơ sở dữ liệu

4.2. Lược đồ cơ sở dữ liệu tồng quát

4.3. Danh sách mô tả các bảng cơ sở dữ liệu

4.4. Sơ đồ lớp của package Action

4.5. Sơ đồ lớp của package service

4.6. Sơ đồ lớp của package dao

4.7. Sơ đồ lớp của package domain

4.8. Sơ đồ lớp của package dto

3. PHẦN 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

3.1. Kết quả đạt được

3.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

DANH MỤC CÁC TỪ VIẾT TẮT

Tóm tắt

I. Tổng Quan Servlet JSP Struts Nền Tảng Ứng Dụng Web HCMUTE

Servlet, JSP và Struts là những công nghệ cốt lõi trong phát triển ứng dụng web Java. Servlet đóng vai trò trung tâm, xử lý các yêu cầu từ client và tạo phản hồi. JSP giúp đơn giản hóa việc tạo giao diện người dùng động, kết hợp mã Java với HTML. Struts, một framework MVC, xây dựng dựa trên Servlet và JSP, giúp tổ chức ứng dụng web một cách cấu trúc và dễ bảo trì. Bài viết này, dựa trên đồ án tốt nghiệp của sinh viên HCMUTE, sẽ đi sâu vào tìm hiểu từng công nghệ này và cách chúng phối hợp để xây dựng ứng dụng web. Đồ án gốc nhấn mạnh tầm quan trọng của việc nắm vững Servlet, JSP trước khi tiếp cận Struts. "Struts là một Java web framework được sử dụng rộng rãi, nó dựa trên mẫu thiết kế MVC giúp người lập trình dễ dàng xây dựng, quản lý ứng dụng của mình," trích từ tài liệu. Do đó, bài viết sẽ bắt đầu với tổng quan về Servlet và JSP, sau đó chuyển sang Struts framework và cuối cùng là ứng dụng minh họa cụ thể. Ứng dụng minh họa tập trung vào xây dựng website đặt vé xe khách online, một bài toán thực tế với nhiều thách thức về quản lý dữ liệu, xử lý giao dịch và đảm bảo trải nghiệm người dùng tốt. Tính cấp thiết của đề tài được thể hiện qua nhu cầu đặt vé online ngày càng tăng của người dùng, đặc biệt trong bối cảnh công nghệ thông tin phát triển mạnh mẽ. Các phương pháp đặt vé truyền thống bộc lộ nhiều hạn chế, từ việc mất thời gian di chuyển đến địa điểm bán vé đến khó khăn trong việc so sánh giá và lựa chọn nhà xe phù hợp. Website đặt vé xe khách online giúp giải quyết những vấn đề này, mang lại sự tiện lợi và linh hoạt cho người dùng.

1.1. Giới thiệu Servlet Xử lý Request và Response hiệu quả

Servlet là thành phần then chốt trong kiến trúc web Java, đảm nhiệm việc xử lý các yêu cầu từ client và tạo ra các phản hồi tương ứng. Servlet thường được triển khai trên server để tạo các trang web động. Servlet là một kỹ thuật được sử dụng để tạo ứng dụng web trên ngôn ngữ Java. Nó có khả năng nhận request và trả về respond client. Nó hoạt động như một cầu nối giữa client và server, nhận dữ liệu từ client, xử lý và trả về kết quả dưới dạng HTML, XML, JSON hoặc bất kỳ định dạng nào khác. Vòng đời của Servlet bao gồm các giai đoạn: tải Servlet vào bộ nhớ, khởi tạo (init), xử lý yêu cầu (service), và hủy (destroy). Phương thức service() là nơi xử lý chính, nhận các đối tượng HttpServletRequestHttpServletResponse để truy cập thông tin yêu cầu và tạo phản hồi. Servlet có thể được cấu hình thông qua web.xml hoặc sử dụng annotations trong Java EE 5 trở lên. Việc sử dụng Servlet giúp xây dựng các ứng dụng web mạnh mẽ, linh hoạt và dễ mở rộng.

1.2. JSP Tạo giao diện người dùng động và trực quan

JavaServer Pages (JSP) là công nghệ cho phép nhúng mã Java vào trang HTML, tạo ra các trang web động một cách dễ dàng. JSP giúp tách biệt phần giao diện người dùng (HTML) với phần logic xử lý (Java), làm cho code dễ đọc, dễ bảo trì hơn. JSP được biên dịch thành Servlet khi được truy cập lần đầu tiên, sau đó Servlet này sẽ xử lý các yêu cầu tiếp theo. JSP cung cấp các thẻ (tags) như <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty> để truy cập và thao tác với các JavaBeans. Ngoài ra, JSP còn hỗ trợ Expression Language (EL) để truy cập các biến và thuộc tính một cách đơn giản. JSP thường được sử dụng như là một thành phần View của thiết kế MVC, thông thường với JavaBeans như là Model và Java Servlet là Controller. Với JSP, nhà phát triển web có thể xây dựng giao diện người dùng thân thiện, tương tác cao và đáp ứng nhu cầu của người dùng.

1.3. Struts Framework Kiến trúc MVC cho ứng dụng Web Java

Struts là một framework Java mã nguồn mở dựa trên mô hình Model-View-Controller (MVC). Struts cung cấp một kiến trúc rõ ràng và cấu trúc cho việc phát triển các ứng dụng web lớn và phức tạp. MVC giúp tách biệt logic nghiệp vụ (Model), giao diện người dùng (View) và điều khiển luồng ứng dụng (Controller), giúp code dễ quản lý, dễ kiểm tra và dễ bảo trì hơn. Struts cung cấp các thành phần như Action, ActionForm, ActionServlet, và các thẻ (tags) để đơn giản hóa việc phát triển ứng dụng web. Struts giúp giảm sự phụ thuộc giữa các lớp Action và View. Một View có thể quan hệ với nhiều Action và ngược lại. Struts hiện thực đơn giản, các lớp Action không có quan hệ chặt chẽ với ServletContainer, Action class có thể là một POJO đơn giản. Việc sử dụng Struts giúp tăng năng suất phát triển, giảm thiểu lỗi và tạo ra các ứng dụng web chất lượng cao.

II. Thách Thức Giải Pháp Xây Dựng Ứng Dụng Đặt Vé Xe HCMUTE

Xây dựng một website đặt vé xe khách online đặt ra nhiều thách thức. Thách thức đầu tiên là quản lý một lượng lớn dữ liệu, bao gồm thông tin nhà xe, lịch trình, giá vé, thông tin khách hàng, và các giao dịch thanh toán. Dữ liệu này cần được lưu trữ một cách an toàn và truy xuất hiệu quả. Thách thức thứ hai là đảm bảo tính bảo mật của thông tin cá nhân và tài chính của khách hàng. Các biện pháp bảo mật cần được triển khai để ngăn chặn các cuộc tấn công mạng và bảo vệ dữ liệu khỏi bị đánh cắp. Thách thức thứ ba là cung cấp trải nghiệm người dùng tốt, bao gồm giao diện thân thiện, dễ sử dụng, tốc độ tải trang nhanh, và hỗ trợ đa thiết bị. Thách thức cuối cùng là tích hợp với các hệ thống thanh toán trực tuyến và các đối tác khác (ví dụ: cổng thanh toán, ngân hàng, nhà xe). Để giải quyết những thách thức này, đồ án HCMUTE đã đề xuất một số giải pháp cụ thể. Việc sử dụng cơ sở dữ liệu quan hệ (ví dụ: MySQL) giúp quản lý dữ liệu một cách cấu trúc và hiệu quả. Việc áp dụng các chuẩn bảo mật web (ví dụ: SSL/TLS) giúp bảo vệ thông tin truyền tải giữa client và server. Việc sử dụng các công nghệ front-end hiện đại (ví dụ: HTML5, CSS3, JavaScript) giúp tạo ra giao diện người dùng đẹp mắt và thân thiện. Việc sử dụng API (Application Programming Interface) giúp tích hợp với các hệ thống thanh toán và đối tác một cách dễ dàng.

2.1. Bài toán quản lý dữ liệu vé xe MySQL và Hibernate

Quản lý dữ liệu vé xe hiệu quả là yếu tố then chốt để đảm bảo hoạt động trơn tru của website đặt vé. MySQL, một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) phổ biến, cung cấp các công cụ để lưu trữ, truy xuất, và quản lý dữ liệu một cách an toàn và hiệu quả. Hibernate, một framework ORM (Object-Relational Mapping), giúp ánh xạ các đối tượng Java với các bảng trong cơ sở dữ liệu, giảm thiểu code boilerplate và tăng năng suất phát triển. Bằng cách sử dụng MySQL và Hibernate, website đặt vé có thể dễ dàng quản lý thông tin nhà xe, lịch trình, giá vé, thông tin khách hàng, và các giao dịch thanh toán. Hibernate in Action, Manning Publications Co, 2004 là một nguồn tài liệu tham khảo hữu ích trong việc sử dụng Hibernate. Cơ sở dữ liệu cần được thiết kế hợp lý, với các bảng được chuẩn hóa để giảm thiểu redundancy và đảm bảo tính nhất quán của dữ liệu. Ngoài ra, cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

2.2. Bảo mật giao dịch trực tuyến Giải pháp tích hợp Bảo Kim

Bảo mật giao dịch trực tuyến là yếu tố quan trọng để tạo dựng niềm tin cho khách hàng và đảm bảo hoạt động kinh doanh bền vững. Đồ án HCMUTE đề xuất tích hợp với cổng thanh toán Bảo Kim, một giải pháp thanh toán trực tuyến phổ biến tại Việt Nam. Bảo Kim cung cấp các API để website đặt vé có thể dễ dàng tích hợp và xử lý các giao dịch thanh toán một cách an toàn. Việc tích hợp với Bảo Kim giúp website hỗ trợ nhiều phương thức thanh toán khác nhau, bao gồm thanh toán bằng thẻ tín dụng, thẻ ghi nợ, ví điện tử, và chuyển khoản ngân hàng. Ngoài ra, cần áp dụng các chuẩn bảo mật web (ví dụ: SSL/TLS) để bảo vệ thông tin truyền tải giữa client và server. Các biện pháp phòng chống gian lận cũng cần được triển khai để ngăn chặn các giao dịch giả mạo và bảo vệ người dùng khỏi bị lừa đảo. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

2.3. Tối ưu trải nghiệm người dùng Thiết kế giao diện Responsive

Trải nghiệm người dùng tốt là yếu tố quyết định sự thành công của website đặt vé. Website cần có giao diện thân thiện, dễ sử dụng, tốc độ tải trang nhanh, và hỗ trợ đa thiết bị. Thiết kế responsive là một kỹ thuật thiết kế web cho phép website tự động điều chỉnh bố cục và kích thước để phù hợp với các thiết bị khác nhau (ví dụ: máy tính, điện thoại, máy tính bảng). Bằng cách áp dụng thiết kế responsive, website đặt vé có thể cung cấp trải nghiệm tốt cho người dùng trên mọi thiết bị. Ngoài ra, cần tối ưu hóa tốc độ tải trang bằng cách sử dụng các kỹ thuật như nén ảnh, minify code, và caching. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố. Các chức năng sắp xếp danh sách chuyến theo các cột cũng được đánh giá là cần thiết trong báo cáo khảo sát.

III. Ứng Dụng Thực Tiễn Website Đặt Vé Xe Online HCMUTE Struts

Đồ án tốt nghiệp HCMUTE đã xây dựng một website đặt vé xe khách online, minh họa cho việc áp dụng Servlet, JSP và Struts trong thực tế. Website này cung cấp các chức năng cơ bản như tìm kiếm vé xe, đặt vé, thanh toán trực tuyến, quản lý thông tin cá nhân, và đánh giá nhà xe. Website được xây dựng dựa trên kiến trúc MVC, với Struts đóng vai trò là framework chính. Các Action xử lý các yêu cầu từ người dùng, Model chứa dữ liệu và logic nghiệp vụ, và View hiển thị thông tin cho người dùng. Website tích hợp với cổng thanh toán Bảo Kim để hỗ trợ thanh toán trực tuyến. Website cũng sử dụng JavaScript và AJAX để cải thiện trải nghiệm người dùng, cho phép thực hiện các thao tác mà không cần tải lại trang. Mục tiêu của nhóm là xây dựng và triển khai hệ thống đặt vé xe online, cung cấp các phương thức liên lạc giữa nhà xe với khách hàng qua email, sms, nhân viên bán vé có thể dễ dàng quản lý vé xe theo các phương thức thanh toán khác nhau và nâng cao khả năng tự tìm hiểu, làm việc nhóm và trình độ chuyên môn về xây dựng trang Web, frameworkStruts, Hibernate và hệ quản trị cơ sở dữ liệu MySQL.

3.1. Chức năng tìm kiếm vé xe Tìm kiếm theo điểm đi điểm đến

Chức năng tìm kiếm vé xe cho phép người dùng tìm kiếm các chuyến xe phù hợp với nhu cầu của mình. Người dùng có thể nhập điểm đi, điểm đến, ngày đi, và các tiêu chí khác (ví dụ: nhà xe, loại xe) để tìm kiếm các chuyến xe đáp ứng yêu cầu. Website hiển thị danh sách các chuyến xe tìm được, bao gồm thông tin về nhà xe, giờ khởi hành, giờ đến, giá vé, và số chỗ còn lại. Người dùng có thể sắp xếp danh sách chuyến xe theo các tiêu chí khác nhau (ví dụ: giá vé, giờ khởi hành). Chức năng tìm kiếm cần được tối ưu hóa để đảm bảo tốc độ tìm kiếm nhanh chóng và chính xác. Cần có các biện pháp phòng tránh lỗi khi người dùng nhập dữ liệu không hợp lệ.

3.2. Quy trình đặt vé và thanh toán Dễ dàng nhanh chóng và an toàn

Quy trình đặt vé và thanh toán cần được thiết kế một cách dễ dàng, nhanh chóng và an toàn để khuyến khích người dùng sử dụng website. Sau khi tìm kiếm được chuyến xe phù hợp, người dùng có thể chọn chỗ ngồi và nhập thông tin cá nhân. Website hiển thị thông tin tổng quan về đơn hàng, bao gồm giá vé, phí dịch vụ (nếu có), và tổng số tiền cần thanh toán. Người dùng có thể chọn phương thức thanh toán (ví dụ: thẻ tín dụng, thẻ ghi nợ, ví điện tử, chuyển khoản ngân hàng) và thực hiện thanh toán. Sau khi thanh toán thành công, website gửi email xác nhận đơn hàng cho người dùng. Quy trình đặt vé và thanh toán cần được bảo mật để bảo vệ thông tin cá nhân và tài chính của khách hàng.

3.3. Quản lý tài khoản người dùng Thông tin cá nhân lịch sử giao dịch

Chức năng quản lý tài khoản người dùng cho phép người dùng quản lý thông tin cá nhân, lịch sử giao dịch, và các thông tin khác liên quan đến tài khoản. Người dùng có thể cập nhật thông tin cá nhân (ví dụ: tên, địa chỉ, số điện thoại, email). Website hiển thị lịch sử giao dịch của người dùng, bao gồm các đơn hàng đã đặt, các giao dịch thanh toán, và các vé xe đã sử dụng. Người dùng có thể thay đổi mật khẩu và quản lý các cài đặt bảo mật khác. Chức năng quản lý tài khoản cần được bảo mật để bảo vệ thông tin cá nhân của người dùng.

IV. Phân tích và Đánh Giá Ưu Điểm và Hạn Chế của Ứng Dụng HCMUTE

Ứng dụng đặt vé xe online do sinh viên HCMUTE phát triển mang lại nhiều ưu điểm. Đầu tiên, việc áp dụng kiến trúc MVC và sử dụng Struts framework giúp code có cấu trúc rõ ràng, dễ bảo trì và mở rộng. Thứ hai, website tích hợp với cổng thanh toán Bảo Kim, cung cấp nhiều phương thức thanh toán cho người dùng. Thứ ba, giao diện người dùng được thiết kế thân thiện và dễ sử dụng. Tuy nhiên, ứng dụng vẫn còn một số hạn chế. Thứ nhất, chức năng tìm kiếm vé xe chưa được tối ưu hóa, tốc độ tìm kiếm có thể chậm khi có lượng lớn dữ liệu. Thứ hai, website chưa hỗ trợ đa ngôn ngữ. Thứ ba, các biện pháp bảo mật chưa được triển khai đầy đủ. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

4.1. Đánh giá hiệu quả sử dụng Struts Ưu điểm và nhược điểm

Việc sử dụng Struts framework mang lại nhiều lợi ích, bao gồm code có cấu trúc rõ ràng, dễ bảo trì và mở rộng, tăng năng suất phát triển, và giảm thiểu lỗi. Tuy nhiên, Struts cũng có một số nhược điểm, bao gồm độ phức tạp cao, đòi hỏi kiến thức chuyên môn về framework, và hiệu năng có thể không cao so với các framework khác. Cần cân nhắc kỹ lưỡng các ưu điểm và nhược điểm của Struts trước khi quyết định sử dụng framework này cho dự án. Struts in Action, Donald J. Brown,Manning Publications Co, 2008 cung cấp nhiều thông tin hữu ích về Struts.

4.2. So sánh với các website đặt vé xe hiện tại Vexere Futabus

So với các website đặt vé xe hiện tại như Vexere và Futabus, ứng dụng HCMUTE có một số điểm tương đồng và khác biệt. Về điểm tương đồng, cả ba website đều cung cấp các chức năng cơ bản như tìm kiếm vé xe, đặt vé, và thanh toán trực tuyến. Về điểm khác biệt, Vexere cung cấp nhiều lựa chọn nhà xe hơn, Futabus tập trung vào một nhà xe duy nhất, còn ứng dụng HCMUTE là một sản phẩm demo với quy mô nhỏ hơn. Ngoài ra, Vexere và Futabus có giao diện người dùng chuyên nghiệp hơn và các biện pháp bảo mật được triển khai đầy đủ hơn. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

4.3. Khả năng mở rộng và phát triển Các hướng cải tiến trong tương lai

Ứng dụng HCMUTE có tiềm năng lớn để mở rộng và phát triển trong tương lai. Một số hướng cải tiến bao gồm tối ưu hóa chức năng tìm kiếm vé xe, hỗ trợ đa ngôn ngữ, triển khai các biện pháp bảo mật đầy đủ, tích hợp với các mạng xã hội, và cung cấp các dịch vụ giá trị gia tăng khác (ví dụ: đặt phòng khách sạn, thuê xe). Việc áp dụng các công nghệ mới như AI và machine learning có thể giúp cải thiện trải nghiệm người dùng và tăng hiệu quả hoạt động của website. Chẳng hạn, AI có thể được sử dụng để gợi ý các chuyến xe phù hợp với sở thích và thói quen của người dùng, hoặc để dự đoán nhu cầu đi lại và tối ưu hóa lịch trình của nhà xe. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

V. Kết Luận và Tương Lai Ứng Dụng Servlet JSP Struts HCMUTE

Đồ án tốt nghiệp HCMUTE đã thành công trong việc minh họa việc áp dụng Servlet, JSP và Struts để xây dựng một ứng dụng web thực tế. Website đặt vé xe online do sinh viên phát triển cung cấp các chức năng cơ bản và thể hiện tiềm năng lớn để mở rộng và phát triển trong tương lai. Tuy nhiên, cần tiếp tục cải thiện các chức năng hiện có, bổ sung các chức năng mới, và triển khai các biện pháp bảo mật đầy đủ để đáp ứng nhu cầu ngày càng cao của người dùng. Tài liệu về Struts framework, Servlet, JSP tiếng việt còn ít, trong khi các công nghệ này ngày càng được sử dụng nhiều trong các dự án phát triển phần mềm bên ngoài, nên qua đề tài này chúng em hy vọng sẽ góp một phần vào tài liệu cho các sinh viên tiếp cận ban đầu.

5.1. Bài học kinh nghiệm từ dự án Áp dụng MVC vào thực tế

Dự án đặt vé xe online mang lại nhiều bài học kinh nghiệm quý giá về việc áp dụng kiến trúc MVC trong thực tế. Việc tách biệt logic nghiệp vụ, giao diện người dùng, và điều khiển luồng ứng dụng giúp code dễ quản lý, dễ kiểm tra, và dễ bảo trì hơn. Việc sử dụng Struts framework giúp đơn giản hóa việc phát triển ứng dụng web và tăng năng suất. Tuy nhiên, cần có kiến thức chuyên môn về framework để sử dụng hiệu quả. Ngoài ra, cần chú ý đến việc thiết kế cơ sở dữ liệu, tối ưu hóa hiệu năng, và triển khai các biện pháp bảo mật đầy đủ. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

5.2. Hướng phát triển tiếp theo AI Mobile App và tích hợp API

Trong tương lai, website đặt vé xe online có thể được phát triển theo nhiều hướng khác nhau. Một hướng là tích hợp với AI và machine learning để cải thiện trải nghiệm người dùng và tăng hiệu quả hoạt động. Ví dụ, AI có thể được sử dụng để gợi ý các chuyến xe phù hợp với sở thích và thói quen của người dùng, hoặc để dự đoán nhu cầu đi lại và tối ưu hóa lịch trình của nhà xe. Một hướng khác là phát triển ứng dụng di động (mobile app) để người dùng có thể đặt vé xe mọi lúc mọi nơi. Ngoài ra, website có thể tích hợp với các API của các đối tác khác (ví dụ: các nhà xe, các công ty du lịch) để cung cấp các dịch vụ giá trị gia tăng. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

5.3. Tầm quan trọng của Servlet JSP và Struts trong ngành IT

Servlet, JSP và Struts vẫn là những công nghệ quan trọng trong ngành IT, đặc biệt trong lĩnh vực phát triển ứng dụng web Java. Mặc dù có nhiều framework và công nghệ mới ra đời, Servlet, JSP và Struts vẫn được sử dụng rộng rãi trong nhiều dự án lớn và phức tạp. Việc nắm vững các công nghệ này giúp sinh viên có nền tảng vững chắc để tiếp cận các công nghệ mới và phát triển sự nghiệp trong ngành IT. Ngoài ra, cần chú ý đến việc thiết kế cơ sở dữ liệu, tối ưu hóa hiệu năng, và triển khai các biện pháp bảo mật đầy đủ. Cần có các biện pháp sao lưu và phục hồi dữ liệu để phòng tránh mất mát dữ liệu do sự cố.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/09/2025
Đồ án hcmute tìm hiểu servlet jsp struts và viết ứng dụng minh họa

Trích đoạn nội dung tài liệu

MỞ ĐẦU 18 Hình 0.4 Chức năng đặt vé trang hlink bus - Chức năng:  Đặt vé xe.  Kiểm tra vé.  Thanh toán online.  Mã vé được gửi đến khách qua email, tin nhắn điện thoại.

- Ưu điểm:  Có đặt vé tàu hỏa, tàu thủy.  Có chức năng đặt vé khứ hồi. - Khuyết điểm:  Giao diện chưa đẹp, nhìn hơi tối.  Chưa có chức năng sắp xếp danh sách chuyến theo các cột.

PHẦN 1: MỞ ĐẦU 19 http://alovexe.com - Giao diện: Hình 0.5 Trang chủ alovexe - Chức năng chính:  Tìm vé  Đặt vé  Đánh giá - Ưu điểm:  Có nhiều nhà khác nhau cho khách hàng có nhiều lựa chọn. - Nhược điểm:  Chỉ xuất phát từ một nơi là Đà Nẵng.  Không có chức năng đặt vé online. PHẦN 1: MỞ ĐẦU 20 http://busviet.com - Giao diện Hình 0.6 Trang chủ busviet PHẦN 1: MỞ ĐẦU 21 Hình 0.7 Chức năng đặt vé xe trang busviet - Chức năng:  Tìm kiếm thông tin vé xe  Đặt vé xe trực tuyến.

 Kiểm tra vé xe  Vé điện tử  Thanh toán Online - Ưu điểm:  Có đặt vé xe trực tuyến.  Có thanh toán online  Có vé điện tử để mua vé thuận lợi - Nhược điểm:  Chức năng đặt vé còn phức tạp. PHẦN 1: MỞ ĐẦU 22 http://vexere.com - Giao diện: Hình 0.8 Trang chủ vexere.9 Tìm vé xe trang vexere.com - Chức năng:  Tìm kiếm thông tin vé xe  Đặt vé xe trực tuyến.  Kiểm tra vé  Thanh toán Online PHẦN 1: MỞ ĐẦU 23 - Ưu điểm:  Có nhiều nhà khác nhau cho khách hàng có nhiều lựa chọn.

 Giao diện đẹp. - Nhược điểm:  Chưa cung cấp giải pháp cho người không muốn thanh toán online.vn Giao diện: Hình 0.10 Tìm vé xe trang futabus.vn PHẦN 1: MỞ ĐẦU 24 Hình 0.11 Tra cứu vé xe trang futabus.vn Chức năng:  Tìm kiếm thông tin vé xe.  Tra cứu thông tin vé.  Thanh toán online.

Ưu điểm:  Có thanh toán online. Nhược điểm:  Chỉ hỗ trợ tìm vé của một nhà xe.  Giao diện chưa được đẹp.  Không xem được các tiện ích trang bị trên xe.

 Không thể đánh giá, xem đánh giá về chất lượng phục vụ. PHẦN 1: MỞ ĐẦU 25 http://www.com Giao diện: Chức năng chính:  Tìm kiếm vé xe.  Thanh toán online. Ưu điểm:  Có thanh toán online.

Nhược điểm:  Chỉ hỗ trợ tìm vé của một nhà xe.  Không xem được các tiện ích trang bị trên xe. Không thể đánh giá, xem đánh giá về chất lượng phục vụ. PHẦN 1: MỞ ĐẦU 26 1.2 Tính cấp thiết của đề tài Chuyện chiếc vé máy bay điện tử không còn xa lạ gì với cộng đồng mạng Việt Nam.

Nhưng vé xe khách điện tử có thực sự là một bài toán dễ giải đối với hoàn cảnh xã hội hiện nay. Giả sử như bạn đang có nhu cầu đi từ Đà Nẵng vào Sài Gòn. Bạn có thể lựa chọn nhiều phương thức để đi như máy bay, tàu hỏa, xe khách. Giả sử bạn chọn phương tiện xe khách để di chuyển.

Bạn có 2 cách để đi: Ra đường Quốc lộ 1A, gặp xe nào bắt xe đó để đi. Ưu điểm giá rất rẻ nhưng chất lượng không đảm bảo như cảnh nhồi nhét khách, ăn cơm không như ý, … Bạn chọn một hãng xe có thương hiệu như Hoàng Long, Mai Linh,. bạn có thể làm hai cách để mua vé:  Đến văn phòng bán vé mua trực tiếp (bất tiện cho những ai bận rộn).  Gọi điện thoại đặt vé Hai cách này này không thể thấy được loại xe bạn sắp đi cũng như chính sách cơm ăn, phục vụ, … trên toàn tuyến như thế nào? Quan trọng hơn là bạn không thể tham khảo giá của nhiều hãng xe cũng như chất lượng của từng xe.

Kinh tế xã hội ngày càng phát triển, hội nhập kinh tế quốc tế ngày càng mạnh, sự chuyển dịch cơ cấu kinh tế giữa các vùng miền ngày càng cao. Cơ cấu lao động cũng có sự dịch chuyển mạnh mẽ. Từ đó kéo theo sự di chuyển chỗ ở, chỗ làm việc củarất nhiều người. Mọi người có nhu cầu đi lại ngày càng nhiều.

Mặt khác, do kinh tế phát triển nên nhu cầu đi thăm quan, thăm viếng người nhà ở xa tăng. Trên thực tế, đa số các công ty vận tải hành khách đang sử dụng cách quản lý và bán vé xe theo kiểu truyền thống, nên việc quản lý của hãng xe và hành khách gặp rấtnhiều khó khăn, nhất là việc bán vé xe trong các dịp lễ tết. PHẦN 1: MỞ ĐẦU 27 Khi mà công nghệ thông tin phát triển mạnh, mạng Internet về tận từng hộ gia đình, người dân thường xuyên tiếp xúc với máy tính thì một Hệ thống đặt vé xe khách ra đời là rất phù hợp với tình hình thực tiễn. Đặc biệt với những người bận rộn không có thời gian ra bến xe mua vé thì với những cái click chuột mà mua được vé xe thì điềunày thật có ý nghĩa.3 Mục tiêu Từ thực tế em nhận thấy xây dựng một hệ thống đặt vé xe khách là vô cùng cần thiết.

Mục tiêu của nhóm em xây dựng và triển khai hệ thống đặt vé xe online. - Xây dựng một hệ thống giúp khách hàng có thể đặt vé xe trực tuyến, xem, viết đánh giá về nhà xe, cung cấp nhiều phương thức thanh toán khác nhau. - Cung cấp các phương thức liên lạc giữa nhà xe với khách hàng qua email, sms. - Nhân viên bán vé có thể dễ dàng quản lý vé xe theo các phương thức thanh toán khác nhau.

- Nâng cao khả năng tự tìm hiểu, làm việc nhóm và trình độ chuyên môn về xây dựng trang Web, frameworkStruts, Hibernate và hệ quản trị cơ sở dữ liệu MySQL - Học được những kiến thức mới và trau dồi kinh nghiệm.4 Đối tượng và phạm vi nghiên cứu - Các website đặt vé xe online - Nghiên cứu Struts, Servlet, JSP PHẦN 1: MỞ ĐẦU 28 1.5 Phương pháp nghiên cứu - Khảo sát các Website đặt vé xe online trên mạng. - Nghiên cứu lý thuyết thông qua các ebook. Tìm hiểu những ví dụ trên mạng, từng bước áp dụng vào các chương trình thử nghiệm. Sau đó tổng hợp lại kiến thức, hoàn thành báo cáo và sản phẩm demo.6 Ý nghĩa khoa học và thực tiễn của đề tài - Có thể áp dụng vào thực tiễn.

- Tài liệu về Struts framework, Servlet, JSP tiếng việt còn ít, trong khi các công nghệ này ngày càng được sử dụng nhiều trong các dự án phát triển phần mềm bên ngoài, nên qua đề tài này chúng em hy vọng sẽ góp một phần vào tài liệu cho các sinh viên tiếp cận ban đầu. PHẦN 2: NỘI DUNG 29 PHẦN 2: NỘI DUNG TỔNG QUAN Struts là một Java web framework được sử dụng rộng rãi, nó dựa trên mẫu thiết kế MVC giúp người lập trình dễ dàng xây dựng, quản lý ứng dụng của mình. Struts MVC có thành phần Controller được xây dựng trên nền Servlet, View thường là JSPs, vì vậy để hiểu rõ nhất về Struts chúng em xin trình bày về Servlet, JSP trước. Nội dung nghiên cứu bao gồm 3 chương: - Chương 1: Tổng quan về Servlet và JSP: ở chương này chúng ta sẽ tìm hiểu sơ lược về khái niệm, đặc trưng của Servlet và JSP để có được cơ sở khi chúng ta tìm hiểu về Struts - Chương 2: Struts framework: Chương này giớ thiệumô hình MVC, kiến trúc, dòng làm việc và các thành phần cơ bản của nó.

- Chương 3, 4, 5: Xây dựng hệ thống: Nội dung của các chương này là quy trình xây dựng Website đặt vé xe online. CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP 30 CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP 1.1 Servlet là gì ? Servlet là một kỹ thuật được sử dụng để tạo ứng dụng web trên ngôn ngữ Java. Nó có khả năng nhận request và trả về respond client.Thường được sử dụng như là một thành phần web mà được triển khai trên server để tạo các trang web động.2 Vòng đời của Servlet 1. Một request được gửi đến server 2.

Web server nhận request và chuyển đến Servlet container  Container ánh xạ request này với Servlet ánh xạ với Servlet thích hợp  Servlet này sẽ được lấy và tải vào trong không gian địa chỉ của container 3. Container gọi phương thức init()của Servlet  Phương thức này chỉ được gọi khi Servlet được tải lần đầu tiên vào trong bộ nhớ 4. Container gọi phương thức service() của Servlet  Phương thức này được gọi để xử lý một HTTP request  Servlet có thể đọc dữ liệu được cung cấp trong HTTP request  Servlet đưa ra respond cho client 5. Không gian địa chỉ của Servlet còn lại trong container và sẵn sang để xử lý bất kì HTTP request được nhận từ client  Phương thức service() được gọi cho mỗi HTTP request 6.

Container gọi phương thức destroy() để xóa tất cả tài nguyên được cấp phát cho Servlet CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP 31 Hình 1.1 Vòng đời của Servlet CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP 32 1.3 Lịch sử Lịch sử các API của Servlet Phiên bản Servlet Được Nền tảng Thay đổi quan trọng API phát hành Servlet 3.1 5/2013 JavaEE7 Non-blocking I/O, HTTP protocol(websocket) upgrade mechanism Servlet 3.0 12/2009 JavaEE 6, JavaSE 6 Dễ kết hợp, dễ để phát triển, Servlet không đồng bộ, Security, File Uploading Servlet 2.5 9/2005 JavaEE 5, JavaSE 5 Cần JavaSE5, hỗ trợ annotation Servlet 2.xml sử dụng lược đồ XML Servlet 2.2 Thêm Filter Servlet 2.2 Trở thành một phần của J2EE, giới thiệu ứng dụng web độc lập trong file .1 11/1998 Chưa rõ Đặc tả chính thức đầu tiên, them RequestDispatcher và ServletContext Servlet 2.1 Một phần của Java Servlet CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP 33 Development Kit 2.1 Lịch sử hình thành và phát triển của Servlet 1.2 JavaServer Pages Về mặt cấu trúc, JSP có thể được xem như là một dạng tồn tại khác của Servlet của Java Servlet, nó giúp chúng ta có thể viết mã HTML một cách dễ dàng. JSP được chuyển đổi vào trong Servlet ở thời gian chạy, mỗi JSP Servlet được cache và được sử dụng lại cho đến khi file JSP bị thay đổi. JSP có thể được sử dụng độc lập hoặc như là một thành phần View của thiết kế MVC, thông thường với JavaBeans như là Model và Java Servlet là Controller. Đây là kiến trúc Model2.

CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP 34 Hình 1.2 Kiến trúc Model2 JSP cho phép mã Java tương tác được với nội dung tĩnh của web như HTML, với kết quả trang được biên dịch và thực thi trên server. CHƯƠNG 1: TỔNG QUAN VỀ SERVLET VÀ JSP 35 Hình 1.3 Vòng đời JSPs 1.3 Kết luận Trong chương này chúng ta đã hiểu sơ qua về Servlet và JSP.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ