Hãy cho biết lệnh nào sau đây là sai?
<%BoxBean1.getWidth()%>
<%BoxBean1.setWidth(10);%>
Trả lời:
Đáp án đúng: C
Lệnh 3 sai vì cú pháp gọi phương thức getWidth() của đối tượng BoxBean1 trong JSP không chính xác. Để hiển thị giá trị trả về từ phương thức này, ta cần sử dụng biểu thức EL (Expression Language) hoặc scriptlet với <%= ... %>.
Ví dụ, cú pháp đúng có thể là:
<%= BoxBean1.getWidth() %> hoặc ${BoxBean1.width} (nếu có getter chuẩn)
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Lỗi nằm ở dòng lệnh thứ 3: `length:=width:=height :=1;`. Trong Java, toán tử gán là `=`, không phải `:=`. Hơn nữa, cách gán giá trị liên tiếp như vậy không được hỗ trợ trực tiếp trong Java. Cần phải gán riêng lẻ: `length = 1; width = 1; height = 1;` hoặc `length = width = height = 1;` (nếu length, width, height là các biến instance).
Lời giải:
Đáp án đúng: D
Trong đoạn code JavaBean trên, lỗi nằm ở lệnh 3: `public int getLength`. Theo quy ước đặt tên của JavaBean, getter method cho thuộc tính `length` phải là `getLength()`, chứ không phải `getLength` (thiếu cặp ngoặc tròn `()`). Việc thiếu cặp ngoặc tròn này khiến nó không được coi là một phương thức getter, vi phạm quy tắc của JavaBean.
Các lệnh khác đều đúng:
- Lệnh 1 là constructor của class, khởi tạo `PropertyChangeSupport` và gán giá trị ban đầu cho các thuộc tính.
- Lệnh 2 khởi tạo các thuộc tính.
- Lệnh 4 (nếu có một phương thức `return length;` riêng biệt) là nơi giá trị thuộc tính `length` được trả về, nhưng nó phải nằm trong phương thức getter `getLength()` đã được sửa đúng.
Lời giải:
Đáp án đúng: D
Câu hỏi này kiểm tra kiến thức về cách sử dụng JavaBean trong trang JSP, đặc biệt là các thẻ jsp:useBean, jsp:setProperty và jsp:getProperty, cũng như cách truy cập trực tiếp thông qua scriptlet.
* **Lệnh 1:** ` ` Khai báo một JavaBean với id là "TimeBean1" và phạm vi là request. Lệnh này đúng cú pháp và có chức năng khai báo một bean để sử dụng.
* **Lệnh 2:** ` ` Lệnh này thiếu thuộc tính `property`. Để set giá trị cho thuộc tính `hours` của bean `TimeBean1`, ta cần chỉ rõ thuộc tính cần set. Ví dụ: ` `. Vì thiếu `property`, lệnh này sai.
* **Lệnh 3:** ` ` Lệnh này sai vì `name` phải khớp với `id` của bean đã khai báo. Ở lệnh 1, id là `TimeBean1`, trong khi ở lệnh 3 lại là `TimeBean`. Ngoài ra, lệnh này chỉ lấy giá trị nhưng không hiển thị giá trị đó ra trang JSP.
* **Lệnh 4:** `<%TimeBean1.setHours(10);%>` Lệnh này sử dụng scriptlet để gọi phương thức `setHours` của bean `TimeBean1`. Để sử dụng được cách này, bean `TimeBean1` phải được khai báo trước đó. Tuy nhiên, cách này không được khuyến khích vì nó làm mất tính trong sáng của JSP và khó bảo trì.
Trong 4 lệnh trên, lệnh 1 đúng về mặt cú pháp và chức năng khai báo bean. Tuy nhiên, đề bài hỏi lệnh nào đúng trong việc *sử dụng* bean để set và get giá trị. Lệnh 4 có thể đúng nếu bean đã được khởi tạo và có thể truy cập được, nhưng nó sử dụng scriptlet, là cách không được khuyến khích. Lệnh 2 sai vì thiếu thuộc tính property. Lệnh 3 sai vì name không khớp và thiếu hiển thị giá trị. Do đó, không có đáp án nào hoàn toàn đúng theo yêu cầu của đề bài.
Lời giải:
Đáp án đúng: C
Trong ngữ cảnh của JavaBean và JSP (JavaServer Pages), từ khóa scope
được sử dụng để xác định phạm vi (scope) của một JavaBean. Phạm vi này quy định thời gian tồn tại và khả năng truy cập của JavaBean đó. Các phạm vi phổ biến bao gồm:
page
: JavaBean chỉ tồn tại trong trang JSP hiện tại.request
: JavaBean tồn tại trong suốt request hiện tại.session
: JavaBean tồn tại trong suốt session của người dùng.application
: JavaBean tồn tại trong suốt thời gian chạy của ứng dụng web.
Các lựa chọn khác không chính xác vì:
class
: Là từ khóa để định nghĩa một lớp trong Java, không liên quan trực tiếp đến phạm vi của JavaBean trong JSP.useBean
: Là một action tag trong JSP được sử dụng để khởi tạo hoặc tìm kiếm một JavaBean, nhưng không xác định phạm vi của nó.property
: Là một action tag trong JSP được sử dụng để truy cập hoặc thiết lập các thuộc tính của một JavaBean, không liên quan đến phạm vi.
Lời giải:
Đáp án đúng: A
Đoạn mã JSP tạo một bean có tên TimeBean1 thuộc lớp JBean.TimeBean với phạm vi request. Sau đó, nó cố gắng lấy giá trị của thuộc tính "hours" từ bean này và hiển thị nó. Vì TimeBean được khởi tạo mà không gán giá trị cụ thể nào cho thuộc tính hours, và trong constructor mặc định, hours được khởi tạo là 0. Do đó, đoạn mã sẽ hiển thị giá trị 0 trên trình duyệt.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng