Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Phát Triển Ứng Dụng Web Với Java - Đề 03
Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Phát Triển Ứng Dụng Web Với Java - Đề 03 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Sự khác biệt chính giữa trang web tĩnh và trang web động là gì?
- A. Trang web tĩnh sử dụng HTML, trang web động sử dụng Java.
- B. Trang web tĩnh hiển thị nội dung cố định, trang web động tạo nội dung theo thời gian thực hoặc tương tác người dùng.
- C. Trang web tĩnh nhanh hơn trang web động.
- D. Trang web tĩnh bảo mật hơn trang web động.
Câu 2: Giao thức HTTP hoạt động ở tầng nào trong mô hình OSI?
- A. Tầng Vật lý (Physical Layer)
- B. Tầng Liên kết Dữ liệu (Data Link Layer)
- C. Tầng Mạng (Network Layer)
- D. Tầng Ứng dụng (Application Layer)
Câu 3: Phương thức HTTP nào thường được sử dụng để gửi dữ liệu từ trình duyệt web lên máy chủ khi người dùng gửi biểu mẫu?
- A. GET
- B. PUT
- C. POST
- D. DELETE
Câu 4: Điều gì xảy ra khi máy chủ web nhận được yêu cầu GET cho một trang JSP?
- A. Máy chủ web trả về mã nguồn JSP trực tiếp cho trình duyệt.
- B. Máy chủ web chuyển yêu cầu đến Servlet Container để biên dịch và thực thi JSP, sau đó trả về HTML cho trình duyệt.
- C. Máy chủ web lưu trang JSP vào bộ nhớ cache của trình duyệt.
- D. Máy chủ web chuyển hướng yêu cầu đến một máy chủ ứng dụng khác.
Câu 5: Trong JSP, scriptlet `<% ... %>` được sử dụng để làm gì?
- A. Chèn mã Java để thực thi logic nghiệp vụ.
- B. Khai báo biến và phương thức Java.
- C. Hiển thị giá trị của biểu thức Java.
- D. Định nghĩa các chỉ thị trang JSP.
Câu 6: Biểu thức JSP `<%= ... %>` khác với scriptlet `<% ... %>` như thế nào?
- A. Biểu thức JSP dùng để khai báo biến, scriptlet dùng để hiển thị giá trị.
- B. Biểu thức JSP thực thi mã Java, scriptlet dùng để hiển thị giá trị.
- C. Biểu thức JSP dùng để hiển thị giá trị của một biểu thức Java, scriptlet dùng để thực thi các đoạn mã Java.
- D. Biểu thức JSP chỉ dùng trong trang tĩnh, scriptlet dùng trong trang động.
Câu 7: Chỉ thị trang JSP `<%@ page import=
- A. Khai báo một biến ArrayList trong trang JSP.
- B. Nhập gói `java.util.ArrayList` để sử dụng lớp ArrayList trong trang JSP.
- C. Tạo một đối tượng ArrayList mặc định.
- D. Định nghĩa một trang JSP thuộc loại ArrayList.
Câu 8: Đối tượng ngầm định `request` trong JSP thuộc lớp nào?
- A. javax.servlet.jsp.JspWriter
- B. javax.servlet.http.HttpSession
- C. javax.servlet.ServletContext
- D. javax.servlet.http.HttpServletRequest
Câu 9: Phương thức nào của đối tượng `request` được sử dụng để lấy giá trị tham số từ URL hoặc biểu mẫu gửi theo phương thức GET?
- A. getParameter()
- B. getAttribute()
- C. getRequestDispatcher()
- D. getSession()
Câu 10: Session trong web application dùng để làm gì?
- A. Tăng tốc độ tải trang web.
- B. Duy trì thông tin trạng thái của người dùng trên nhiều trang web.
- C. Bảo mật thông tin truyền giữa client và server.
- D. Quản lý kết nối cơ sở dữ liệu.
Câu 11: Cookie và Session khác nhau như thế nào về nơi lưu trữ dữ liệu?
- A. Cookie lưu trữ dữ liệu trên server, session lưu trữ dữ liệu trên client.
- B. Cả cookie và session đều lưu trữ dữ liệu trên server.
- C. Cả cookie và session đều lưu trữ dữ liệu trên client.
- D. Cookie lưu trữ dữ liệu trên client (trình duyệt), session lưu trữ dữ liệu trên server.
Câu 12: Servlet trong Java web application là gì?
- A. Một loại trang web tĩnh được viết bằng Java.
- B. Một thư viện JavaScript để tạo giao diện người dùng web.
- C. Một thành phần phía server trong Java EE để xử lý yêu cầu và trả về phản hồi HTTP.
- D. Một công cụ để thiết kế bố cục trang web.
Câu 13: Vòng đời của một Servlet bao gồm các phương thức nào theo thứ tự?
- A. service(), init(), destroy()
- B. init(), service(), destroy()
- C. destroy(), service(), init()
- D. service(), destroy(), init()
Câu 14: Phương thức `service()` trong Servlet có vai trò gì?
- A. Khởi tạo Servlet khi Servlet được tải.
- B. Giải phóng tài nguyên khi Servlet bị hủy.
- C. Cấu hình Servlet trước khi xử lý yêu cầu.
- D. Xử lý các yêu cầu HTTP (GET, POST, v.v.) và tạo phản hồi.
Câu 15: Làm thế nào để cấu hình một Servlet trong ứng dụng web Java?
- A. Viết mã cấu hình trực tiếp trong trang JSP.
- B. Sử dụng giao diện dòng lệnh của máy chủ web.
- C. Sử dụng file `web.xml` (Deployment Descriptor) hoặc annotation.
- D. Cấu hình tự động bởi trình duyệt web.
Câu 16: Container (ví dụ: Tomcat) cung cấp môi trường runtime cho Servlet và JSP có vai trò gì?
- A. Quản lý vòng đời Servlet, cung cấp các dịch vụ như session management, và môi trường runtime cho ứng dụng web Java.
- B. Biên dịch mã Java thành bytecode.
- C. Quản lý cơ sở dữ liệu cho ứng dụng web.
- D. Cung cấp giao diện người dùng cho ứng dụng web.
Câu 17: Filter trong Servlet dùng để làm gì?
- A. Tạo giao diện người dùng động.
- B. Chặn và sửa đổi request trước khi nó đến Servlet và response trước khi nó về client.
- C. Quản lý session và cookie.
- D. Kết nối với cơ sở dữ liệu.
Câu 18: Listener trong Servlet context được sử dụng để làm gì?
- A. Lắng nghe yêu cầu HTTP từ client.
- B. Lắng nghe sự kiện click chuột của người dùng.
- C. Lắng nghe các sự kiện trong vòng đời của ứng dụng web, ví dụ: khởi động và tắt ứng dụng.
- D. Lắng nghe các thay đổi trong file cấu hình.
Câu 19: JSP và Servlet, công nghệ nào thích hợp hơn để xử lý logic hiển thị giao diện người dùng (view)?
- A. JSP phù hợp hơn vì nó được thiết kế để dễ dàng tạo ra giao diện người dùng bằng HTML và các thẻ JSP.
- B. Servlet phù hợp hơn vì nó có hiệu suất cao hơn trong việc hiển thị giao diện.
- C. Cả JSP và Servlet đều phù hợp như nhau cho việc hiển thị giao diện.
- D. Không công nghệ nào trong hai công nghệ trên phù hợp cho việc hiển thị giao diện.
Câu 20: Mô hình MVC (Model-View-Controller) giúp ích gì trong phát triển ứng dụng web?
- A. Tăng tốc độ xử lý yêu cầu của ứng dụng web.
- B. Cải thiện bảo mật cho ứng dụng web.
- C. Giảm thiểu việc sử dụng cơ sở dữ liệu.
- D. Tách biệt logic nghiệp vụ, giao diện người dùng và điều khiển, giúp ứng dụng dễ bảo trì và phát triển.
Câu 21: Trong mô hình MVC, Controller có vai trò gì?
- A. Lưu trữ và quản lý dữ liệu của ứng dụng.
- B. Xử lý yêu cầu từ người dùng, tương tác với Model và chọn View phù hợp để trả về phản hồi.
- C. Hiển thị giao diện người dùng cho ứng dụng.
- D. Xác thực người dùng và phân quyền truy cập.
Câu 22: JPA (Java Persistence API) được sử dụng để làm gì trong phát triển ứng dụng web Java?
- A. Tạo giao diện người dùng web động.
- B. Quản lý session và cookie.
- C. Quản lý dữ liệu và tương tác với cơ sở dữ liệu quan hệ một cách dễ dàng hơn thông qua ORM.
- D. Triển khai ứng dụng web lên server.
Câu 23: WAR file (Web Application Archive) được sử dụng để làm gì?
- A. Lưu trữ mã nguồn Java của ứng dụng web.
- B. Cấu hình máy chủ web.
- C. Tạo cơ sở dữ liệu cho ứng dụng web.
- D. Đóng gói tất cả các thành phần của ứng dụng web (JSP, Servlet, class, library,...) để triển khai lên server.
Câu 24: Security context trong ứng dụng web Java giúp ích gì?
- A. Tăng tốc độ tải trang web.
- B. Quản lý thông tin bảo mật của người dùng, xác thực và phân quyền truy cập vào các tài nguyên của ứng dụng.
- C. Tối ưu hóa hiệu suất cơ sở dữ liệu.
- D. Giảm thiểu lỗi lập trình trong ứng dụng web.
Câu 25: Cross-site scripting (XSS) là loại tấn công bảo mật web như thế nào?
- A. Tấn công từ chối dịch vụ (DoS).
- B. Tấn công SQL Injection.
- C. Tấn công bằng cách chèn mã script độc hại vào trang web, thực thi trên trình duyệt của người dùng khác.
- D. Tấn công bằng cách giả mạo yêu cầu từ người dùng hợp lệ.
Câu 26: SQL Injection là loại tấn công bảo mật web như thế nào?
- A. Tấn công bằng cách chèn mã SQL độc hại vào các truy vấn cơ sở dữ liệu của ứng dụng.
- B. Tấn công bằng cách gửi quá nhiều yêu cầu đến máy chủ.
- C. Tấn công bằng cách đánh cắp session của người dùng.
- D. Tấn công bằng cách thay đổi cấu hình máy chủ web.
Câu 27: Để ngăn chặn tấn công XSS, biện pháp phòng ngừa nào quan trọng nhất?
- A. Sử dụng HTTPS cho tất cả các kết nối.
- B. Mã hóa đầu ra (output encoding) và xác thực đầu vào (input validation) dữ liệu người dùng.
- C. Thường xuyên quét virus máy chủ web.
- D. Sử dụng tường lửa mạnh mẽ.
Câu 28: Dependency Injection (DI) là gì và lợi ích của nó trong phát triển ứng dụng Java?
- A. Một kỹ thuật để tăng tốc độ biên dịch mã Java.
- B. Một phương pháp bảo mật ứng dụng web.
- C. Một mẫu thiết kế giúp giảm sự phụ thuộc giữa các thành phần, tăng tính linh hoạt, dễ bảo trì và kiểm thử.
- D. Một công cụ để quản lý phiên làm việc của người dùng.
Câu 29: RESTful API là gì và nó thường được sử dụng cho mục đích gì?
- A. Một loại cơ sở dữ liệu NoSQL.
- B. Một framework phát triển giao diện người dùng web.
- C. Một giao thức truyền tải file nhanh hơn HTTP.
- D. Một kiến trúc thiết kế web service, giúp xây dựng các API dễ mở rộng, dễ bảo trì và tương tác giữa các hệ thống khác nhau.
Câu 30: JSON (JavaScript Object Notation) thường được sử dụng trong web application để làm gì?
- A. Định dạng dữ liệu trao đổi giữa client và server, đặc biệt trong các RESTful API và ứng dụng web hiện đại.
- B. Ngôn ngữ lập trình phía client.
- C. Định dạng file cấu hình cho máy chủ web.
- D. Công nghệ mã hóa dữ liệu bảo mật.