Đối tượng ẩn (Implicit) trong JSP



Đối tượng ẩn (Implicit Object) trong JSP là các đối tượng Java mà JSP container làm nó có sẵn tới các lập trình viên trong mỗi trang và lập trình viên có thể gọi chúng một cách trực tiếp mà không phải khai báo rõ ràng. Đối tượng ẩn trong JSP cũng được gọi là các biến tiền định nghĩa.

JSP hỗ trợ 9 đối tượng ẩn sau đây:

Đối tượng Miêu tả
requestĐây là đối tượng HttpServletRequest mà liên kết với Request
responseĐây là đối tượng HttpServletResponse mà liên kết với Response tới Client
outĐây là đối tượng PrintWriter được sử dụng để gửi output tới Client
sessionĐây là đối tượng HttpSession mà liên kết với Request
applicationĐây là đối tượng ServletContext mà liên kết với application context
configĐây là đối tượng ServletConfig mà liên kết với page
pageContextSự gói gọn này sử dụng các đặc trưng Server-Spcific giống như hiệu năng cao JspWriters.
pageĐược sử dụng để gọi các phương thức được định nghĩa bởi lớp Servlet đã được phiên dịch
ExceptionĐối tượng Exception cho phép dữ liệu exception để được truy cập bởi JSP đã chỉ rõ

Đối tượng request trong JSP

Đối tượng request trong JSP là một minh họa của đối tượng javax.servlet.http.HttpServletRequest. Mỗi khi một Client yêu cầu một trang, thì JSP engine tạo một đối tượng mới để biểu diễn yêu cầu đó.

Các đối tượng request cung cấp các phương thức để nhận thông tin HTTP header bao gồm Form data, cookie, phương thức HTTP, …

Bạn sẽ thấy tập hợp toàn bộ các phương thức liên kết với đối tượng request trong chương: Client Request trong JSP.

Đối tượng response trong JSP

Đối tượng response là một minh họa của đối tượng javax.servlet.http.HttpServletResponse. Ngay khi Server tạo đối tượng request, nó cũng tạo một đối tượng để biểu diễn phản hồi tới Client.

Đối tượng response cũng định nghĩa các Interface mà thực hiện việc tạo các HTTP header mới. Thông qua đối tượng này, lập trình viên JSP có thể thêm các Cookie mới hoặc Date, HTTP Status code, …

Chúng ta sẽ bàn luận chi tiết về các phương thức liên kết với đối tượng response trong chương: Server Response trong JSP.

Đối tượng out trong JSP

Đối tượng out là đối tượng ẩn trong JSP và là một minh họa của đối tượng javax.servlet.jsp.JspWriter, được sử dụng để gửi content trong một phản hồi.

Đối tượng JspWriter ban đầu được khởi tạo một cách khác nhau phụ thuộc vào việc có hay không trang được đệm hoặc không. Có thể dễ dàng ngừng việc buffer này bởi sử dụng thuộc tính buffered="false" của page directive trong JSP.

Đối tượng JspWriter chứa hầu hết các phương thức giống như trong lớp java.io.PrintWriter. Tuy nhiên, JspWriter cũng có một số phương thức bổ sung được thiết kế để xử lý trình buffer. Không giống đối tượng PrintWriter, JspWriter ném IOExceptions.

Dưới đây là các phương thức quan trọng sẽ được sử dụng để viết Boolean, char, int, double, Object, String, …

Phương thức Miêu tả
out.print(dataType dt)In một giá trị dataType
out.println(dataType dt)In một giá trị dataType, sau đó kết thúc dòng với ký tự newline (dòng mới)
out.flush()Flush luồng đó

Đối tượng session trong JSP

Đối tượng session là một minh họa của javax.servlet.http.HttpSession và vận hành hoàn toàn giống như cách đối tượng session hoạt động trong Java Servlet.

Đối tượng session được sử dụng để lần theo dấu Client session giữa các Client Request. Chúng ta sẽ thảo luận chi tiết cách sử dụng đối tượng session trong chương: Session Tracking trong JSP.

Đối tượng application trong JSP

Đối tượng application là bao quan trực tiếp đối tượng ServletContext cho Servlet đã được tạo và thực tế, nó là một minh họa của đối tượng javax.servlet.ServletContext.

Đối tượng này là một sự biểu diễn của JSP page thông qua cả vòng đời của nó. Đối tượng application được tạo khi JSP page được khởi tạo và sẽ được gỡ bở khi JSP page bị gỡ bỏ bởi phương thức jspDestroy().

Bằng việc thêm một thuộc tính tới đối tượng application, bạn có thể bảo đảm rằng tất cả JSP file, mà tạo ứng dụng web của bạn, có quyền truy cập tới nó.

Bạn xem xét sự sử dụng của đối tượng application trong: Hit counter trong JSP.

Đối tượng config trong JSP

Đối tượng config là một sự thuyết minh của đối tượng javax.servlet.ServletConfig và là bao quanh trực tiếp đối tượng ServletConfig cho Servlet đã được tạo.

Đối tượng này cho phép lập trình viên JSP truy cập tới các tham số khởi tạo Servlet engine hoặc JSP engine, chẳng hạn như path hoặc vị trí file, …

Đây là cú pháp của phương thức config trong JSP:

 
config.getServletName();

Nó trả về một tên Servlet, là một chuỗi được chứa trong phần tử được định nghĩa trong WEB-INF\web.xml file.

Đối tượng pageContext trong JSP

Đối tượng pageContext là một minh họa của đối tượng javax.servlet.jsp.PageContext. Đối tượng này được sử dụng để biểu diễn toàn bộ JSP page.

Đối tượng pageContext trong JSP như là một phương thức để truy cập thông tin về trang trong khi tránh xa hầu hết các chi tiết về sự triển khai.

Đối tượng này lưu giữ các tham chiếu tới các đối tượng request và response cho mỗi yêu cầu. Các đối tượng application, config, session, và out được nội suy bởi truy cập các thuộc tính của đối tượng này.

Đối tượng pageContext cũng chứa thông tin về các directive mà được thông báo tới JSP page, bao gồm thông tin đệm, errorPageURL và phạm vi (scope) trang.

Lớp PageContext định nghĩa một số các trường, bao gồm PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, và APPLICATION_SCOPE, mà nhận diện 4 phạm vi. Nó cũng hỗ trợ hơn 40 phương thức, trong đó khoảng một nửa là kế thừa từ lớp javax.servlet.jsp.JspContext.

Một trong những phương thức quan trọng là removeAttribute, mà chấp nhận một hoặc hai tham số. Ví dụ, pageContext.removeAttribute ("attrName") gỡ bỏ thuộc tính từ tất cả scope, trong khi code sau chỉ gỡ bỏ nó từ page scope.

 
pageContext.removeAttribute("attrName", PAGE_SCOPE);

Bạn truy cập chương: Upload file trong JSP để tìm hiểu chi tiết cách sử dụng của pageContext.

Đối tượng page trong JSP

Đối tượng page là một tham chiếu thực sự tới page. Nó có thể được xem như một đối tượng mà biểu diễn toàn bộ JSP page.

Đối tượng exception trong JSP

Đối tượng exception là một wrapper chứa exception được ném từ page trước. Đặc trưng, nó được sử dụng để tạo một phản hồi thích hợp tới điều kiện lỗi đó.

Bạn sẽ thấy chi tiết cách sử dụng của đối tượng này trong chương: Xử lý ngoại lệ (Exeption) trong JSP.

Các bài học JSP khác tại VietJack: