1. Trang chủ
  2. » Tất cả

CH06

49 269 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Lập trình mạng – Chương 6 1 CHƯƠNG 6: LẬP TRÌNH WEB VỚI CÁC CÔNG NGHỆ PHỔ BIẾN 6.1 Giới thiệu Servlet/JSP 6.2 Lập trình web với Servlet 6.3 Lập trình web với JSP 6.4 Giới thiệu ASP 6.5 Lập trình web với ASP Lập trình mạng – Chương 6 2 6.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 3 6.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 4 6.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 5 6.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 6 6.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 7 6.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 8 6.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 9 6.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 10 6.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() • SERVER_NAME: getServerName() • SERVER_PORT: getServerPort() • HTTP_XXX_YYY: getHeader(“Xxx-Yyy”) • … 123doc.vn

Ngày đăng: 12/03/2013, 17:29

Xem thêm

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN