Lớp GenericServlet là phần cài đặt tổng quát cho đặc tả giao tiếp( interface) mang tên Servlet. Theo đặc tả của giao tiếp Servlet do Sun đưa ra một servlet cần có những phương thức phục vụ cho các nhu cầu: khởi tạo(init), hoạt động và phục vụ( sevice), hủy( destroy), trả về thông tin cấu hình lớp giao tiếp Servlet được mô tả như sau:
interface Servlet { void destroy();
ServletConfig getServletConfig(); String getServletInfo();
void init(Servletconfig config);
void service(ServeltRequest req, ServletResponse res); }
Lớp GenericServlet cài đặt tất cả các phương thức của giao tiếp Servlet trên đây. Khí tạo ra một servlet mới đơn giản chỉ nên kế thừa lại GenericServlet và xây dựng chồng (override) các phương thức muốn sử dụng.
a)Phương thức khởi tạo init().
public void init()
Phương thức khởi tạo này được gọi khi lần đầu tiên trình chủ Web server nạp mã thực thi của servlet từ tập tin .class vào bộ nhớ và bắt đầu cho phép servlet hoạt động. Bạn có thể dựa vào phương thức này để khởi tạo các biến môi trường f và giá trị ban đầu cần thiết cho quá trình thực thi servlet sẽ diễn ra tiếp theo. Thường trong phương thức init() ta khở tạo giá trị mảng, tạo sẵn kết nối với cơ sở dữ liệu, nạp các lớp thư viện cần thiết…. Ví dụ ta có thể nạp trình điều khiển JDBC truy xuất cơ sở dữ liệu, tạo sẵn kết nối đến nguồn dữ liệu cho servlet trong phương thức init() như sau:
public class CSDL extends GenerricServlet {
String DBDriver=”sun.jdbc.odbc.JdbcOdbcDriver”; String strConn=”jdbc:odbc:CSDL”;
Connection con; public class init() {
Class.forName(DBDriver).newInstance(); conn=DriverManager.getConnection(strConn); }
}
b)Phương thức phục vụ service().
public void service( ServletRequest req, ServletResponse res) throws IOException
Sau khi phương thức init đã hoàn tất, trình chủ Web servlet sẽ triệu gọi đến phương thức phục vụ service(). Phương thức này được xem là trung tâm xử lý của servlet mà bạn cần phải cài đặt. Khi trình chủ nạp servlet vào bộ nhớ, phương thức init() chỉ được gọi duy nhất một lần trong khi phương thức service() có thể được triệu gọi nhiều lần ứng với mỗi yêu cầu servlet phát sinh từ trình duyệt phía máy khách. Bên trong phương thức service() bạn có thể sử dụng
đối tượng tham số ServletRequest và ServletResponse để tiếp nhận dữ liệu từ trình khách chuyển lên và kết xuất kết quả phản hồi trở lại trình khách.
Ví dụ sau :
public void service(ServletRequest request, ServletResponse response) throws IOException { response.setContenType(“text/html”); PrintWriter out=response.getWriter(); out.println(“<html>”); out.println(“body”); out.println(“<h1>Welcome Servlet !</h1>”); … }
c)Phương thức hủy bỏ destroy()
Khi servlet không còn dùng đến nữa hoặc hết thời gian qui định lưu giữ trong bộ nhớ của trình chủ destroy() sẽ được gọi. Nếu như ta dùng phương thức init() để thực hiện khởi tạo biến cho servlet thì phương thức destroy() ngược lại có thể dùng để dọn dẹp tài nguyên mà các biến chiếm giữ, đóng các kết nối mà phương thức init() đã mở…
d)Phương thức getServletConfig() và getServletInfo().
Hai phương thức này nhằm mục đích cung cấp thông tin. Phương thức getServletConfig() giúp cho người sử dụng servlet có được đối tượng ServletConfig chứa các thông tin khởi tạo từ môi trường ngoài đưa vào servlet. getServeltInfo() trả về một chuỗi thông tin mô tả ý nghĩa và mục đích của servlet.
3.1.3.JSP( Javaserver Pages).3.1.3.1.Giới thiệu chung về JSP. 3.1.3.1.Giới thiệu chung về JSP.
Công nghệ JavaServer Pages (viết tắt là JSP) là công nghệ lập trình Web phí máy chủ của Java, dựa trên nền J2EE để xây dựng những ứng dụng chứa nội dung trang Web động như: HTML, DHTML, XHTML và XML. Công nghệ JSP có khả năng tạo ra những trang Web với nội dung linh hoạt, có vai trò quan trọng trong việc phát triển các ứng dụng Web.
Một trang JSP ( .jsp) là một trang HTML hay XML trong đó có chứa mã Java, phần HTML chịu trách nhiệm về việc định dạng văn bản, mã chương trình xen lẫn trong văn bản dùng để diễn đạt các thao tác xử lý dữ liệu hoặc nối kết với CSDL ( Database). Trang Web truyền thống ( dùng HTML) được trình chủ Web gửi ngay đến cho máy khách (Client) khi có yêu cầu, còn các trang JSP phải chạy qua một bộ máy ( Engine) riêng biệt, ở đó phần mã chương trình được tách ra khỏi trang JSP, được thi hành và kết quả xử lý được ghi trở lại trang Web đang xét, tạo thành trang HTML thuần tuý.
Trang JSP khi chạy, mã Java sẽ được biên dịch thành JavaServlet và Servlet này chạy trên máy ảo Java (JVM) ở phía máy chủ (Web Server). Mã Java được biên dịch khi máy khách truy xuất trang JSP lần đầu tiên. Tập tin .jspcó cấu trúc giống như tập tin .html truyền thống, nhưng khác ở chỗ là tập tin .jsp có xen lẫn mã Java. Mã Java được tách biệt với phần HTML thông thường bằng cặp dấu < % và %>.