What happens if we declare a Java Bean with a request scope, but then try to access it in another JSP page via EL (${beanName})?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "The bean will be destroyed when the request ends". Phạm vi request chỉ sống trong một chu kỳ phục vụ: đối tượng được giữ làm thuộc tính của HttpServletRequest, hết lượt thì tham chiếu mất và bộ thu gom rác lấy lại bộ nhớ. Một trang JSP khác chỉ thấy bean đó nếu nó nằm trong cùng lượt gọi, tức khi điều hướng bằng forward; còn khi trình duyệt phát request mới, chẳng hạn sau sendRedirect hay khi gõ lại địa chỉ, dữ liệu cũ không còn. Lựa chọn "The bean still exists and can be accessed" nhầm phạm vi request với phiên hoặc ứng dụng. Lựa chọn "A runtime error occurs" không đúng với cách EL xử lý dữ liệu thiếu: tra khoá không có sẽ cho giá trị rỗng và in ra chuỗi trống, trang vẫn chạy, đó mới là chỗ khó phát hiện. Lựa chọn "The bean will be saved to the session automatically" gán cho container việc nó không làm: muốn dữ liệu sống qua nhiều lượt gọi thì phải tự đặt vào phiên.
Cùng phần 4
What is the purpose of a JSP scriptlet in a web application?Có lời giảiCâu hỏiWhich directive must be used in a JSP page to include another resource at request time?Có lời giảiCâu hỏiWhy is it recommended to set the character encoding to UTF-8 in a JSP page, and where is it commonly set?Có lời giảiCâu hỏiCả 34 câu của chủ đề34 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây