Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Phát Triển Ứng Dụng Web Với Java - Đề 10
Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Phát Triển Ứng Dụng Web Với Java - Đề 10 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 JavaScript, trang web động thì không.
- B. Trang web động có thể thay đổi nội dung dựa trên tương tác người dùng hoặc dữ liệu, trang web tĩnh thì không.
- C. Trang web tĩnh nhanh hơn trang web động về tốc độ tải trang.
- D. Trang web động luôn yêu cầu kết nối cơ sở dữ liệu, trang web tĩnh thì không.
Câu 2: Trong mô hình client-server cho ứng dụng web, server có trách nhiệm chính nào sau đây?
- A. Hiển thị giao diện người dùng trên trình duyệt.
- B. Xử lý tương tác của người dùng trực tiếp trên máy client.
- C. Xử lý yêu cầu từ client, truy cập dữ liệu và trả về phản hồi.
- D. Lưu trữ toàn bộ mã nguồn và tài nguyên của ứng dụng web.
Câu 3: Công nghệ Servlet trong Java Web được sử dụng chủ yếu để làm gì?
- A. Xử lý yêu cầu HTTP từ client và tạo phản hồi động.
- B. Thiết kế giao diện người dùng web với các thành phần đồ họa.
- C. Quản lý cơ sở dữ liệu cho ứng dụng web.
- D. Thực hiện các hiệu ứng hoạt hình và tương tác trên trình duyệt.
Câu 4: Vòng đời (lifecycle) của một Servlet bao gồm các giai đoạn chính nào theo thứ tự?
- A. service(), init(), destroy()
- B. init(), service(), start()
- C. create(), service(), destroy()
- D. init(), service(), destroy()
Câu 5: Phương thức `service()` trong Servlet có vai trò gì?
- A. Khởi tạo Servlet khi được load lần đầu.
- B. Xử lý các yêu cầu HTTP (GET, POST, v.v.) từ client.
- C. Giải phóng tài nguyên khi Servlet bị hủy.
- D. Cấu hình các tham số khởi tạo cho Servlet.
Câu 6: JSP (JavaServer Pages) được biên dịch thành gì trước khi thực thi trên server?
- A. Mã HTML tĩnh.
- B. Mã JavaScript.
- C. Servlet Java.
- D. File cấu hình XML.
Câu 7: Biến `request` trong JSP là một implicit object (đối tượng ngầm định) thuộc lớp nào?
- A. javax.servlet.jsp.PageContext
- B. javax.servlet.http.HttpServletRequest
- C. javax.servlet.http.HttpServletResponse
- D. javax.servlet.ServletContext
Câu 8: Scriptlet tag trong JSP `<% ... %>` được sử dụng để làm gì?
- A. Khai báo biến và phương thức trong JSP.
- B. In giá trị của biểu thức Java ra output.
- C. Định nghĩa các directive cho trang JSP.
- D. Chèn mã Java vào trang JSP để thực thi logic nghiệp vụ.
Câu 9: Expression tag trong JSP `<%= ... %>` có chức năng gì?
- A. Thực thi khối mã Java phức tạp.
- B. In giá trị của một biểu thức Java trực tiếp vào output HTML.
- C. Khai báo các biến toàn cục cho trang JSP.
- D. Xử lý các ngoại lệ (exceptions) trong JSP.
Câu 10: Directive tag trong JSP `<%@ ... %>` được dùng để làm gì?
- A. Cung cấp hướng dẫn cho JSP engine về cách xử lý trang JSP.
- B. Chèn mã Java để thực thi logic nghiệp vụ.
- C. In giá trị của biểu thức ra output.
- D. Khai báo biến cục bộ trong JSP.
Câu 11: Directive `<%@ page import=
- A. Khai báo biến ArrayList trong trang JSP.
- B. Tạo một đối tượng ArrayList mới.
- C. Import lớp `ArrayList` để sử dụng trong trang JSP.
- D. Chuyển hướng trang đến một trang JSP khác tên ArrayList.
Câu 12: Phạm vi (scope) của đối tượng `session` trong JSP là gì?
- A. Chỉ trong phạm vi một trang JSP hiện tại.
- B. Trong phạm vi một phiên làm việc của người dùng trên ứng dụng web.
- C. Trong phạm vi toàn bộ ứng dụng web.
- D. Chỉ trong phạm vi một yêu cầu (request) từ client.
Câu 13: Để lưu trữ dữ liệu người dùng trong suốt phiên làm việc, bạn nên sử dụng đối tượng nào trong JSP?
- A. Đối tượng `page`.
- B. Đối tượng `request`.
- C. Đối tượng `session`.
- D. Đối tượng `application`.
Câu 14: Phương thức nào của đối tượng `response` được sử dụng để thiết lập mã trạng thái HTTP (HTTP status code)?
- A. getWriter()
- B. setHeader()
- C. sendRedirect()
- D. setStatus()
Câu 15: Để chuyển hướng (redirect) người dùng đến một URL khác từ Servlet, bạn sử dụng phương thức nào của đối tượng `response`?
- A. setStatus()
- B. getWriter()
- C. sendRedirect()
- D. setHeader()
Câu 16: Filter trong Java Web Application được sử dụng để làm gì?
- A. Tạo giao diện người dùng động.
- B. Xử lý các request trước khi chúng đến Servlet và response trước khi gửi về client.
- C. Quản lý session của người dùng.
- D. Kết nối với cơ sở dữ liệu.
Câu 17: Listener trong Java Web Application có vai trò gì?
- A. Điều khiển luồng thực thi của ứng dụng.
- B. Xác thực người dùng.
- C. Tạo phản hồi HTML động.
- D. Lắng nghe và phản ứng với các sự kiện (events) trong lifecycle của ứng dụng web (ví dụ: khởi động, hủy bỏ context, session).
Câu 18: Ưu điểm chính của việc sử dụng JSP so với chỉ sử dụng Servlet để tạo trang web động là gì?
- A. Tách biệt tốt hơn giữa logic nghiệp vụ và giao diện hiển thị.
- B. Hiệu suất thực thi cao hơn Servlet.
- C. Khả năng bảo mật tốt hơn Servlet.
- D. Hỗ trợ tốt hơn cho việc quản lý session.
Câu 19: EL (Expression Language) trong JSP được sử dụng để làm gì?
- A. Viết mã Java phức tạp trong JSP.
- B. Định nghĩa các directive cho trang JSP.
- C. Truy cập và hiển thị dữ liệu từ các đối tượng Java một cách đơn giản trong JSP.
- D. Quản lý vòng đời của Servlet.
Câu 20: JSTL (JSP Standard Tag Library) cung cấp các tag library chuẩn cho mục đích gì?
- A. Tăng hiệu suất thực thi của JSP.
- B. Thực hiện các tác vụ lập trình phổ biến (ví dụ: vòng lặp, điều kiện, định dạng dữ liệu) trong JSP một cách dễ dàng hơn.
- C. Thay thế hoàn toàn mã Java trong JSP.
- D. Quản lý session và cookie trong JSP.
Câu 21: Để hiển thị danh sách sản phẩm từ một ArrayList trong JSP sử dụng JSTL, tag nào thường được dùng?
Câu 22: Trong mô hình MVC (Model-View-Controller) cho ứng dụng web Java, Controller có vai trò gì?
- A. Hiển thị dữ liệu cho người dùng.
- B. Lưu trữ và quản lý dữ liệu ứng dụng.
- C. 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.
- D. Định nghĩa cấu trúc dữ liệu của ứng dụng.
Câu 23: View trong mô hình MVC thường được xây dựng bằng công nghệ nào trong Java Web?
- A. Servlet.
- B. JSP.
- C. Filter.
- D. Listener.
Câu 24: Framework Spring MVC giúp đơn giản hóa việc phát triển ứng dụng web Java theo mô hình nào?
- A. MVC (Model-View-Controller).
- B. Client-Server.
- C. Three-Tier.
- D. Microservices.
Câu 25: Annotation `@WebServlet` trong Servlet 3.0 trở lên được sử dụng để làm gì?
- A. Định nghĩa Filter cho Servlet.
- B. Khai báo Listener cho Servlet.
- C. Thiết lập tham số khởi tạo cho Servlet.
- D. Khai báo và cấu hình Servlet mà không cần file web.xml.
Câu 26: Cookie trong web application được lưu trữ ở đâu?
- A. Trên server.
- B. Trên trình duyệt của client.
- C. Trong session của server.
- D. Trong bộ nhớ cache của server.
Câu 27: Mục đích chính của việc sử dụng session trong ứng dụng web là gì?
- A. Duy trì trạng thái và thông tin của người dùng giữa các request.
- B. Tăng tốc độ tải trang web.
- C. Bảo mật thông tin trên server.
- D. Xác thực người dùng.
Câu 28: Để ngăn chặn tấn công CSRF (Cross-Site Request Forgery), cơ chế bảo mật nào thường được sử dụng trong ứng dụng web Java?
- A. Mã hóa dữ liệu truyền trên mạng (HTTPS).
- B. Xác thực hai yếu tố.
- C. Sử dụng token đồng bộ hóa (Synchronizer Token Pattern).
- D. Kiểm soát truy cập dựa trên vai trò (Role-Based Access Control).
Câu 29: Trong ngữ cảnh RESTful API, phương thức HTTP POST thường được sử dụng cho thao tác nào?
- A. Lấy thông tin tài nguyên.
- B. Tạo mới một tài nguyên.
- C. Cập nhật một tài nguyên hiện có.
- D. Xóa một tài nguyên.
Câu 30: Giả sử bạn cần xây dựng một ứng dụng web Java có khả năng mở rộng cao, xử lý nhiều request đồng thời và duy trì hiệu suất tốt. Lựa chọn kiến trúc nào sau đây sẽ phù hợp nhất?
- A. Ứng dụng web JSP đơn giản.
- B. Ứng dụng web Servlet thuần.
- C. Ứng dụng web sử dụng CGI.
- D. Ứng dụng web microservices kiến trúc phân tán.