LẬP TRÌNH WEB VỚI SERVLET
Số trang: 25
Loại file: pdf
Dung lượng: 736.39 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 3 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ạy trênnền web server. Cơ chế hoạt động theo mô hình CGI ( Common Gateway Interface). Chương trình phải được dịch ra ở dạng bytecode(.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.
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH WEB VỚI SERVLET•GV: Vũ Đình Hồng•Khoa: CNTT – TỨD •1 LẬP TRÌNH WEB VỚI SERVLET1. Giới thiệu Servlet2. Lập trình web với Servlet •21. Giới thiệu ServletServlet 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 ( Common Gateway Interface)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. •3Kiến trúc của Servlet •41. Giới thiệu ServletCầ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 •51. Giới thiệu ServletCấ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 } } •61. Giới thiệu ServletBiê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: $/servletsCấ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. •71. Giới thiệu ServletCơ 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. doXxx() để xử lý các request Gọi methods tương ứng theo giao thức HTTP. doGet(..) cho HTTP GET, doPost cho HTTP POST •8Quy trình hoạt động •92. Lập trình web vớiServletLấy dữ liệu từ web client gởi đến bằng servlet: HttpServletRequest Dùng đối tượng của class Các methods để lấy thông số: getParameter(“para-name”) getParameterValues(“para-name”) String username= request.getParameter(“username”); String[] choice = request.getParameterValues(“comments”); HttpServletRequest Dùng đối tượng của class để lấy các thông tin HTTP header •102. Lập trình web vớiServletVí 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]+ “-”); } } } •112. Lập trình web vớiServletLấ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. StringgetHeader(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 •122. Lập trình web vớiServletLấ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”) … •132. Lập trình web vớiServletGởi dữ liệu cho web client: dùng đối tượng của class HttpServletResponse: Tạo đối tượng PrintWriter để ghi dữ liệu gởi PrintWriter out = response.getWriter(); Xử lý các mã HTTP trả về với các method của class HttpServletResponse: void setStatus(int statusCode) : gởi các mã response void sendError(int errorCode,String msg): gởi mã lỗi theo giao thức HTTP và message void sendRedirect(String URL) : chuyển đến một trang URL khác Các mã có thể theo giao thức HTTP hoặc dùng các hằng số trong class HttpServletResponse. •142. Lập trình web vớiServletXử lý Cookie với web browser: Chức năng Cookie Kết hợp với web browser để lưu các thông số cần thiết. Thông tin có thể dùng để thiết lập phiên làm ...
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH WEB VỚI SERVLET•GV: Vũ Đình Hồng•Khoa: CNTT – TỨD •1 LẬP TRÌNH WEB VỚI SERVLET1. Giới thiệu Servlet2. Lập trình web với Servlet •21. Giới thiệu ServletServlet 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 ( Common Gateway Interface)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. •3Kiến trúc của Servlet •41. Giới thiệu ServletCầ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 •51. Giới thiệu ServletCấ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 } } •61. Giới thiệu ServletBiê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: $/servletsCấ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. •71. Giới thiệu ServletCơ 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. doXxx() để xử lý các request Gọi methods tương ứng theo giao thức HTTP. doGet(..) cho HTTP GET, doPost cho HTTP POST •8Quy trình hoạt động •92. Lập trình web vớiServletLấy dữ liệu từ web client gởi đến bằng servlet: HttpServletRequest Dùng đối tượng của class Các methods để lấy thông số: getParameter(“para-name”) getParameterValues(“para-name”) String username= request.getParameter(“username”); String[] choice = request.getParameterValues(“comments”); HttpServletRequest Dùng đối tượng của class để lấy các thông tin HTTP header •102. Lập trình web vớiServletVí 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]+ “-”); } } } •112. Lập trình web vớiServletLấ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. StringgetHeader(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 •122. Lập trình web vớiServletLấ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”) … •132. Lập trình web vớiServletGởi dữ liệu cho web client: dùng đối tượng của class HttpServletResponse: Tạo đối tượng PrintWriter để ghi dữ liệu gởi PrintWriter out = response.getWriter(); Xử lý các mã HTTP trả về với các method của class HttpServletResponse: void setStatus(int statusCode) : gởi các mã response void sendError(int errorCode,String msg): gởi mã lỗi theo giao thức HTTP và message void sendRedirect(String URL) : chuyển đến một trang URL khác Các mã có thể theo giao thức HTTP hoặc dùng các hằng số trong class HttpServletResponse. •142. Lập trình web vớiServletXử lý Cookie với web browser: Chức năng Cookie Kết hợp với web browser để lưu các thông số cần thiết. Thông tin có thể dùng để thiết lập phiên làm ...
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin giáo trình công nghệ thông tin tài liệu công nghệ thông tin lý thuyết công ngGợi ý tài liệu liên quan:
-
52 trang 408 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 289 0 0 -
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 282 0 0 -
74 trang 273 0 0
-
96 trang 272 0 0
-
Làm việc với Read Only Domain Controllers
20 trang 269 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 263 1 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 258 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 250 0 0 -
Tài liệu hướng dẫn sử dụng thư điện tử tài nguyên và môi trường
72 trang 241 0 0