CHƯƠNG I: GIỚI THIỆU CHUNG VỀ HỆ THỐNG 1.1 Lý do chọn đề tài Cho đến năm 2022, thị trường cho thuê xe tại Việt Nam rất đa dạng do có nhiều gói thuê, ngày thuê và các yếu tố khác. Thị trường có các dịch vụ như thuê xe theo ngày, thuê xe qua đêm, thuê xe đi nghỉ dưỡng và nhiều lựa chọn tùy theo số km. Theo Mordor Intelligence, cho thuê xe tại Việt Nam là một thị trường phân mảnh với các công ty chủ chốt có thể chia thành hai nhóm: Tập đoàn Mỹ bao gồm Enterprise Holdings, Avis Budget Group và Hertz Corporation; Nhóm công ty Việt Nam bao gồm Mai Linh và Vinasun. Các công ty này đang tích cực mở rộng tại các thành phố lớn của Việt Nam như Thành phố Hồ Chí Minh và Hà Nội.
Tháng 6 vừa qua, Avis đã khai trương chi nhánh mới tại xã Dương Tơ, thành phố Phú Quốc - cách sân bay Phú Quốc khoảng 2 km. Công ty này cung cấp dịch vụ cho thuê xe ô tô với giá khởi điểm từ 600. Bên cạnh tỷ lệ sở hữu ô tô thấp, đại dịch cũng góp phần khiến thị trường này trở nên hấp dẫn hơn khi người dân hạn chế tiếp xúc để ngăn chặn dịch bệnh lây lan, kéo theo nhu cầu thuê ô tô tăng đáng kể. Nhận thấy các vấn đề hiện tại và cơ hội phát triển, em đã chọn đề tài “ Thiết kế phát triển ứng dụng thuê xe sử dụng Servlet Api” nhằm có thể đưa ra các giải pháp , linh hoạt và nhanh chóng cho người dùng 1.2 Một số ứng dụng thuê xe hiện có 1.1: Giao diện Sigo 2 Sigo hiện là nền tảng đặt xe trực tuyến số 1 tại Việt Nam.
Với Sigo, bạn sẽ có một chuyến đi đầy trải nghiệm. Với Sigo, việc đặt xe… trở nên nhanh chóng, thuận tiện và dễ dàng. Sigo là ứng dụng đặt xe tự lái với một số chức năng chính như sau: • Quản lý thông tin cá nhân • Quản lý cho thuê xe tự lái • Đặt xe để tự lái • Xác minh thông tin xe • Xác minh thông tin người dùng 1.2: Giao diện Mioto Mioto là sự lựa chọn cho sự mới mẻ, trẻ trung trong dịch vụ thuê xe tự lái hiện nay. Để tiết kiệm thời gian và mang đến sự thuận tiện trong việc thuê phương tiện cá nhân, Mioto ngày càng phát triển với các tính năng sau: • Quản lý phương tiện • Đặt lịch hẹn thuê xe • Quản lý thông tin cá nhân • Hỗ trợ thanh toán trực tuyến • Xác minh xe và thông tin cá nhân 1.3 Mục đích phát triển đề tài 3 Mục đích của dự án Thiết kế và phát triển ứng dụng thuê xe sử dụng Servlet API là tạo ra một hệ thống cho phép người dùng thuê xe trực tuyến.
Với ứng dụng này, người dùng có thể dễ dàng tìm kiếm, xem thông tin chi tiết và đặt xe theo nhu cầu của mình. Dự án này được phát triển sử dụng Servlet API, một công nghệ phổ biến trong phát triển ứng dụng web Java. Với việc áp dụng Servlet API, chúng ta có thể xây dựng các thành phần phía máy chủ mạnh mẽ để xử lý logic và tương tác với cơ sở dữ liệu.2 Yêu cầu và giải pháp 1.1 Yêu cầu đặt ra Các người dùng và cửa hàng cho thuê xe cần 1 ứng dụng web thuê xe trực tuyến để phục vụ khách hàng và 1 trang quản lý hoạt động kinh doanh. Bài toán đặt ra: Xây dựng hệ thống phần mềm quản lý thuê xe cho người dùng và cửa hàng cho thuê xe gồm bao gồm các chức năng của 1 ứng dụng thuê xe trực tuyến phục vụ cho người dùng sử dụng không những thế người dùng cũng có thể cho người khác thuê xe của mình ngay trên hệ thống và 1 trang quản lý hoạt động kinh doanh.2 Chức năng Là một hệ thống bao gồm Website thuê xe tự lái và hệ thống quản lý xe và người dùng.
Hệ thống có cấu trúc như sau: a. Trang chủ website Hiến thị danh sách các xe theo từng điều kiện nhất định Hiển thị thông tin người thuê xe cho chủ xe Quản lý thông tin cho thuê Thêm xe mới của mình để thành chủ xe cho thuê Lịch sử danh sách yêu cầu thuê xe Cập nhật liên tục các thay đổi của xe, thông tin người dùng Một số chức năng nhằm xây dựng giao diện trang chủ website thêm sinh động b. Trang quản trị viên Thống kê và quản lý thông tin của xe và giấy tờ người dùng Xác minh giấy tờ của xe và người dùng Có thể vào xem chi tiết thông tin người dùng và thông tin xe để xem và đánh giá có nên chấp nhận người dùng này không Chức năng cơ bản: Thêm, sửa, xóa, update, thông tin xe danh sách xe cho người thuê.3 Giải pháp Đối với hệ thống thuê xe bao gồm 2 phần: Website người dùng và trang quản trị viên. Số lượng UC lớn nên giải pháp cho việc xây dựng và bảo trì là xây dựng theo mô hình MVC và sử dụng các công nghệ.
Frontend 4 JSP: JSP là viết tắt của JavaServer Pages, là một công nghệ được sử dụng trong lập trình web để phát triển các trang web động. JSP có khả năng kết hợp mã Java với HTML để tạo ra nội dung động trên trang web. Với JSP, chúng ta có thể viết mã Java trong tệp tin JSP và sử dụng các thẻ JSP để nhúng mã Java vào mã HTML. HTML: HTML là viết tắt của cụm từ Hypertext Markup Language (tạm dịch là Ngôn ngữ đánh dấu siêu văn bản).
HTML được sử dụng để tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, titles, blockquotes… CSS: CSS (chữ viết tắt của Cascading Style Sheets) nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu. JS: JavaScript (JS) là một ngôn ngữ lập trình phổ biến và mạnh mẽ được sử dụng phổ biến trên web. Ngôn ngữ này được sử dụng để điều khiển các phần tử trên trang web, thay đổi nội dung của chúng một cách động, và tương tác với người dùng. Backend Java Servlet: Java Servlet là một công nghệ phát triển ứng dụng Web sử dụng ngôn ngữ lập trình Java.
Nó cho phép tạo ra các thành phần được chạy trên máy chủ web để xử lý yêu cầu từ các trình duyệt. Với việc giúp kết nối người dùng với cơ sở dữ liệu và tương tác với các tài nguyên khác. DataBase MySQL: MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Lưu trữ dự án Github: GitHub là một trang web và dịch vụ dựa trên đám mây giúp các nhà phát triển lưu trữ và quản lý mã của họ, cũng như theo dõi và kiểm soát các thay đổi đối với mã của họ. GitHub là một nền tảng phát triển phần mềm trực tuyến. Nó được sử dụng để lưu trữ, theo dõi và cộng tác trong các dự án phần mềm. Triển khai hệ thống Apache Tomcat: Tomcat là một máy chủ ứng dụng web mã nguồn mở, phổ biến và mạnh mẽ được Apache Software Foundation phát triển.
Nó cung cấp môi trường chạy ứng dụng web Java và hỗ trợ các công nghệ như Servlet và JSP. Tomcat có thể được sử dụng để triển khai và quản lý các ứng dụng web dựa trên Java trên các máy chủ.3 Tổng quan về phát triển phần mềm 1.1 Giới thiệu về Servlet Api Trong đồ án thiết kế phát triển ứng dụng thuê xe sử dụng Servlet API, API sẽ được sử dụng Servlet API, API sẽ được sử dụng để kết nối ứng dụng web với hệ thống quản lý dữ liệu thuê xe. API sẽ cung cấp các phương thức để truy vấn dữ liệu về xe Servlet API là một API tiêu chuẩn được sử dụng để tạo các servlet, là các chương trình Java được chạy trên máy chủ web. Servlet API cung cấp các lớp và giao diện để hỗ trợ việc xử lý yêu cầu HTTP và trả về phản hồi.
Servlet API được phát triển bởi Java Community Process (JCP) và được định nghĩa trong các tài liệu tiêu chuẩn của Java. Servlet API là một phần của Java EE, một tập hợp các API và công nghệ được sử dụng để tạo các ứng dụng web. Các lớp và giao diện chính của Servlet API Servlet API bao gồm các lớp và giao diện sau: Giao diện Servlet: Đây là giao diện bắt buộc phải được triển khai bởi tất cả các servlet. Giao diện này cung cấp các phương thức cơ bản cho việc xử lý yêu cầu và phản hồi.
Lớp GenericServlet: Đây là lớp cha chung của tất cả các servlet. Lớp này cung cấp các phương thức triển khai mặc định cho giao diện Servlet. Lớp HttpServlet: Đây là lớp con của GenericServlet, cung cấp các phương thức bổ sung để xử lý các yêu cầu HTTP. Cách thức hoạt động của Servlet API 1.
Yêu cầu (Request): Client gửi yêu cầu HTTP đến máy chủ web. Quản lý Yêu cầu: Servlet container (ví dụ: Tomcat) quản lý yêu cầu và tìm servlet phù hợp. Khởi tạo và Gọi Service(): Nếu cần, servlet được tải và khởi tạo, sau đó gọi phương thức service() của servlet. Xử lý Yêu cầu: Phương thức service() phân tích yêu cầu và gọi phương thức thích hợp như doGet() hoặc doPost() để xử lý.
Trả lời (Response): Servlet tạo phản hồi, bao gồm mã trạng thái, header, và dữ liệu trả về. Gửi Phản hồi: Phản hồi được gửi từ máy chủ web đến trình duyệt của client. Quá trình này cho phép servlet xử lý yêu cầu và tạo ra phản hồi động, thường được sử dụng trong ứng dụng web để đáp ứng động với người dùng.3 : Một servlet HTTP xử lý các yêu cầu GET và POST Ví dụ, nếu một yêu cầu GET được gửi đến máy chủ web, thì phương thức doGet() sẽ được gọi. Phương thức doGet() sẽ trả về một phản hồi HTTP cho máy khách, chẳng hạn như một trang web tĩnh.
Nếu một yêu cầu POST được gửi đến máy chủ web, thì phương thức doPost() sẽ được gọi. Phương thức doPost() sẽ xử lý dữ liệu đầu vào từ người dùng, chẳng hạn như dữ liệu từ một biểu mẫu web. Sau đó, phương thức doPost() sẽ trả về một phản hồi HTTP cho máy khách.