Danh mục

CHƯƠNG 6: LẬP TRÌNH WEB VỚI CÁC CÔNG NGHỆ PHỔ BIẾN

Số trang: 49      Loại file: ppt      Dung lượng: 285.00 KB      Lượt xem: 8      Lượt tải: 0    
tailieu_vip

Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Servlet là một ứng dụng (class) Java chạytrên nền web server.Cơ chế hoạt động theo mô hình CGI mởrộng.Chương trình phải được dịch ra ở dạngbyte-code(.class), khai báo với webserver. Web server phải hỗ trợ Java.Phải extends class HttpServlet. Không cómethod main.
Nội dung trích xuất từ tài liệu:
CHƯƠNG 6: LẬP TRÌNH WEB VỚI CÁC CÔNG NGHỆ PHỔ BIẾN CHƯƠNG 6: LẬP TRÌNH WEB VỚI CÁC CÔNG NGHỆ PHỔ BIẾN6.1 Giới thiệu Servlet/JSP6.2 Lập trình web với Servlet6.3 Lập trình web với JSP6.4 Giới thiệu ASP6.5 Lập trình web với ASP Lập trình mạng – Chương 6 16.1 Giới thiệu Servlet/JSP• Servlet là một ứng dụng (class) Java chạy trên nền web server.• Cơ chế hoạt động theo mô hình CGI mở rộng.• Chương trình phải được dịch ra ở dạng byte-code(.class), khai báo với web server. Web server phải hỗ trợ Java.• Phải extends class HttpServlet. Không có method main. Lập trình mạng – Chương 6 26.1 Giới thiệu Servlet/JSP• Cần có package servlet.jar để biên dịch (http://java.sun.com/products/servlet/)• Các server hiện hỗ trợ Servlet: – Apache Tomcat (http://jakarta.apache.org) – Sun’s Java Web Server, free, hiện không cho download (http://wwws.sun.com/software/jwebserver/) – New Atlanta’s ServletExec, tích hợp ServletEngine vào các web server(http://newatlanta.com) – http://www.macromedia.com/software/jrun/trial/ –…• Tham khảo các tài liệu về Servlet: http://java.sun.com/products/servlet/docs.html Lập trình mạng – Chương 6 36.1 Giới thiệu Servlet/JSP• Cấu trúc đơn giản của một Servlet: import java.io.*; import java.servlet.*; import java.servlet.http.*; public class Sample extends HttpServlet{ public doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{ //dùng đối tượng “request” để đọc dữ liệu từ client //đối tượng “response” để xuất dữ liệu cho client PrintWriter out = response.getWriter(); //dùng đối tượng out để ghi (method print) dữ liệu cho client } } Lập trình mạng – Chương 6 46.1 Giới thiệu Servlet/JSP• Biên dịch như một class Java.• File *.class dịch được phải đặt vào đúng thư mục quy định sẵn của web server. – Tomcat: $/webpages/WEB-INF/classes – JWS: $/servlets• Cấu hình cho web server đối với mỗi servlet: – Tomcat: hiệu chỉnh file web.xml trong thư mục $/webpages/WEB-INF theo DTD http://java.sun.com/j2ee/dtds/web-app_2_2.dtd – JWS: Cấu hình bằng web-based tool được cung cấp. Lập trình mạng – Chương 6 56.1 Giới thiệu Servlet/JSP• Cơ chế hoạt động của một servlet: – Web server nhận yêu cầu triệu gọi servlet từ client. • Nếu servlet chạy lần đầu, web server load file servlet tương ứng, khởi tạo các thông số bằng qua method init() • Nếu servlet đã được khởi tạo, tạo một thread để xử lý yêu cầu. – Gọi methods doXxx() để xử lý các request tương ứng theo giao thức HTTP. • doGet(..) cho HTTP GET, doPost cho HTTP POST Lập trình mạng – Chương 6 66.2 Lập trình web với Servlet• Lấy dữ liệu từ web client gởi đến bằng servlet: – Dùng đối tượng của class HttpServletRequest – Các methods để lấy thông số: • getParameter(“para-name”) • getParameterValues(“para-name”) String username= request.getParameter(“username”); String[] choice = request.getParameterValues(“comments”); – Dùng đối tượng của class HttpServletRequest để lấy các thông tin HTTP header Lập trình mạng – Chương 6 76.2 Lập trình web với Servlet• Ví dụ lấy tất cả các thông số từ client Enumeration parameter_names = request.getParameterNames(); while(parameter_names.hasMoreElements()){ String para = parameter_names.nextElement(); out.print(para + “ = ”); String[] paraValues = getParameterValues(para); if(paraValues.lenght()==1){ out.println(paraValues[0]); }else{ for(int i = 0, i< paraValues.lenght(),i++){ out.print(paraValues[i]+ “-”); } } } Lập trình mạng – Chương 6 86.2 Lập trình web với Servlet• Lấy các thông số HTTP request header: class HttpServletRequest cung cấp các method để lấy các thông số request header. – String getHeader(header-name): lấy nội dung của header-name – Enumeration getHeaderNames(): lấy tất cả các header-name. – Một số method điển hình: • Cookie[] getCookies(): dãy Cookie từ client • int getContentLength(): trả giá trị Content-Length • int getContentType(): trả giá trị Content-Type • int getRemoteUser(): giá trị username nếu có authenticate Lập trình mạng – Chương 6 96.2 Lập trình web với Servlet• Lấy các thông số HTTP request header: – Lấy các giá trị của biến môi trường CGI: • QUERY_STRING: getQueryString() • REMOTE_ADDR: getRemoteAddr() • REMOTE_HOST: getRemoteHost() • REQUEST_METHOD: getMethod() • PATH_INFO: getPathInfo() • SCRIPT_NAME: getServletPath() • S ...

Tài liệu được xem nhiều: