Ứng dụng J2EE được tạo thành từ các thành phần. Một thành phần J2EE là một đơn vị chức năng phần mềm khép kín được lắp ghép vào một ứng dụng J2EE, nó có liên quan đến các lớp, các tập tin và nó giao tiếp với các thành phần khác. Các J2EE đặc tả định nghĩa các thành phần J2EE sau đây:
Ứng dụng khách hàng và các applet là những thành phần chạy trên máy khách.
Thành phần công nghệ Java Servlet và JavaServer Pages (JSP ) là các thành phần web chạy trên máy chủ.
Enterprise JavaBeans (EJB) là thành phần nghiệp vụ kinh doanh chạy trên máy chủ. J2EE được viết bằng ngôn ngữ lập trình Java và được biên dịch trong cùng một cách như bất kỳ chương trình cùng ngôn ngữ. Sự khác biệt giữa J2EE và các lớp Java “tiêu chuẩn” là các thành phần J2EE lắp ráp thành một ứng dụng J2EE, được xác minh và
Browser Client Web Server Servlet Database Servlet Request <HTTP> Response
tuân thủ với các đặc tả J2EE, và được triển khai tại nơi mà chúng chạy và được quản lý bởi máy chủ J2EE.
Tổng quan về JSP/ServLet 2.2.3.12. Servlet
Servlet là đoạn chương trình java thực thi trên Web Server hỗ trợ người lập trình Java xây dựng trang web động mà không cần học ngôn ngữ lập trình web mới Servlets nhận request – yêu cầu từ client, sao đó thực hiện các yêu cầu xử lý để gửi response – phản hồi đến người dùng sử dụng HTTP. Servlet được load sẵn ở Web Server duy nhất lần đầu tiên khi ứng dụng được deploy và đáp ứng tức thời yêu cầu của người dùng thông qua Web Container. Servlet được server hỗ trợ cơ chế multithread giúp giảm tài nguyên và quá tải trong việc xử lý của server hay container.
Cơ chế hoạt động
o Khi có request từ client gửi đến Server hay Web Container
o Container sẽ lựa chọn một instance Servlet tương ứng để đáp ứng request đó (người dùng sẽ không bao giờ biết instance nào được lựa chọn, nó lựa chọn khi nào, servlet xử lý khi nào)
o Servlet lựa chọn sẽ thực hiện xử lý và kết nối Database nếu cần.
o Sau khi servlet thực hiện xong, sẽ gửi kết quả ra container để gửi response về cho người dùng.
o Browser đón nhận kết quả và trình bày ra màn hình dữ liệu.
Chu kì tồn tại của servlet trong server hay container
o Khi một ứng dụng chưa được deploy vào trong server thì servlet chưa được khởi tạo
o Khi ứng dụng được deloy vào server thì container sẽ thực hiện khởi tạo instance cho servlet, trong lúc khởi tạo kích hoạt hà init
o Khi có một request đến servlet của người dùng, container đón nhận request và chọn instance bean bất kỳ tương ứng với yêu cầu để đáp ứng.
o Sau khi chọn được bean, container sẽ kích hoạt hàm service tương ứng
Khi servlet được cập nhật mới hay server bị crash hay undeloy ứng dụng ra khỏi server- container, thì hàm destroy của servlet được kích hoạt.
Mô hình Servlet Request và Response
Request là thông tin được gửi từ client tới 1 server. Respone là thông tin được gửi đến client tới 1 server. Nhiệm vụ của Servlet:
Nhận client request (hầu hết ở dạng http request)
Trích xuất một số thông tin từ request.
Xử lý nghiệp vụ (truy cập database, gọi EJBs..)
Tạo và gửi trả response cho client (hầu hết ở dạng HTTP response) hoặc forward request cho servlet khác cho JSP
Hình 6: Mô hình Servlet Request và Response