server response trong servlet

6 92 0
server response trong servlet

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

Thông tin tài liệu

http://vietjack.com/  servlets/index.jsp                                                                                                              Copyright  ©  vietjack.com     Server Response Servlet Như bàn luận chương trước, Web Server phản hồi HTTP Request tới trình duyệt, phản hồi đặc trưng bao gồm dòng Status, số trường Header, dòng trống, tài liệu Một phản hồi đặc trưng giống sau: HTTP/1.1 200 OK Content-Type: text/html Header2: HeaderN: Line) (Blank Dòng Status gồm HTTP version (trong ví dụ HTTP/1.1), Status code ( ví dụ 200), thông báo ngắn tương ứng với Status code (trong ví dụ OK) Dưới trường Header hữu ích phản hồi HTTP 1.1 mà trở lại trình duyệt từ Web Server bạn thường xuyên sử dụng chúng lập trình web: Header Miêu tả Allow Trường xác định phương thức yêu cầu (GET, POST, v.v.) mà Server hỗ trợ Cache-Control Trường xác định hoàn cảnh mà tài liệu phản hồi cache cách an tồn Nó có giá trị publics, private no-cache, v.v Trong đó, publics nghĩa tài liệu cache, private nghĩa tài liệu dành cho người sử dụng lưu giữ riêng (khơng chia sẻ) no-cache nghĩa tài liệu không cache Connection Trường dẫn trình duyệt có sử dụng persistent kết nối HTTP không Một giá trị close trình duyệt khơng sử dụng kết nối HTTP dạng persistent vàkeepalive nghĩa sử dụng kết nối persistent Content-Disposition Trường cho bạn yêu cầu trình duyệt hỏi người sử dụng để lưu phản hồi lên địa file với tên cho Content-Encoding Trường xác định cách mà trang mã hóa truyền tải http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/  servlets/index.jsp                                                                                                              Copyright  ©  vietjack.com     Content-Language Trường xác định ngơn ngữ mà tài liệu viết Ví dụ en, en-us, ru, … Content-Length Trường xác định số byte phản hồi Thông tin cần thiết trình duyệt sử dụng kết nối HTTP dạng persistent (giá trị keep-alive) Content-Type Trường kiểu MIME (Multipurpose Internet Mail Extension) tài liệu phản hồi Expires Trường xác định thời gian nội dung nên xem hết hạn không cache Last-Modified Trường dẫn tài liệu thay đổi lần cuối Sau Client cache tài liệu cung cấp date trường yêu cầu If-Modified-Since yêu cầu sau Location Trường nên bao với tất phản hồi mà có Status code 300 Nó thơng báo cho trình duyệt địa tài liệu Trình duyệt tự động kết nối lại tới vị trí thu nhận tài liệu Refresh Trường xác định trình duyệt nên đề nghị trang update Bạn xác định thời gian với đơn vị số giây sau trang refresh Retry-After Trường sử dụng kết hợp với phản hồi 503 (Service Unavailable) để nói cho Client lặp lại yêu cầu Set-Cookie Trường xác định cookie mà liên kết với trang Các phương thức để thiết lập HTTP Response Header Bảng liệt kê phương thức sử dụng để thiết lập HTTP Response Header chương trình Servlet Các phương thức có có sẵn với đối tượngHttpServletResponse http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/  servlets/index.jsp                                                                                                              Copyright  ©  vietjack.com     STT Phương thức Miêu tả String encodeRedirectURL(String url) Mã hóa URL cho để sử dụng phương thức sendRederect, mã hóa khơng đòi hỏi, trả URL cũ String encodeURL(String url) Mã hóa URL cho việc thêm ID session nó, mã hóa khơng đòi hỏi, trả URL cũ boolean containsHeader(String name) Trả Boolean có hay khơng header phản hồi với tên cho thiết lập boolean isCommitted() Trả Boolean phản hồi commit void addCookie(Cookie cookie) Thêm cookie phản hồi void addDateHeader(String name, long date) Thêm header phản hồi với tên giá trị date cho void addHeader(String name, String value) Thêm header phản hồi với tên giá trị cho void addIntHeader(String name, int value) Thêm header phản hồi với tên giá trị integer cho void flushBuffer() Force nội dung Buffer để ghi tới Client 10 void reset() http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/  servlets/index.jsp                                                                                                              Copyright  ©  vietjack.com     Xóa bất liệu tồn buffer Status code trường header 11 void resetBuffer() Xóa nội dung buffer nằm phản hồi mà khơng xóa trường header status code 12 void sendError(int sc) Gửi phản hồi lỗi tới Client sử dụng Status code cho xóa buffer 13 void sendError(int sc, String msg) Gửi phản hồi lỗi tới Client sử dụng Status code cho 14 void sendRedirect(String location) Gửi phản hồi Redirect tạm thời tới Client sử dụng địc URL để Redirect cho 15 void setBufferSize(int size) Thiết lập kích cỡ buffer cho thân phản hồi 16 void setCharacterEncoding(String charset) Thiết lập mã hóa ký tự (MIME Charset) phản hồi gửi tới Client, ví dụ, thiết lập UTF-8 17 void setContentLength(int len) Thiết lập độ dài nội dung thân phản hồi HTTP Servlet, phương thức thiết lập trường header HTTP Content-Length 18 void setContentType(String type) Thiết lập kiểu nội dung phản hồi gửi tới Client, phản hồi chưa commit 19 void setDateHeader(String name, long date) Thiết lập header phản hồi với tên giá trị date cho http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/  servlets/index.jsp                                                                                                              Copyright  ©  vietjack.com     20 void setHeader(String name, String value) Thiết lập header phản hồi với tên giá trị cho 21 void setIntHeader(String name, int value) Thiết lập header phản hồi với tên giá trị integer cho 22 void setLocale(Locale loc) Thiết lập Locale phản hồi, phản hồi chưa commit 23 void setStatus(int sc) Thiết lập Status code cho phản hồi Ví dụ HTTP Header Response Bạn thấy cách phương thức setContentType() làm việc ví dụ trước ví dụ sau sử dụng phương thức này, sử dụng phương thức setIntHeader()để thiết lập trường Refresh Header: // Import required java libraries import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; // Extend HttpServlet class public class Refresh extends HttpServlet { // Method to handle GET method request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Set refresh, autoload time as seconds response.setIntHeader("Refresh", 5); // Set response content type response.setContentType("text/html"); // Get current time Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = hour+":"+ minute +":"+ second +" "+ am_pm; PrintWriter out = response.getWriter(); String title = "Auto Refresh Header Setting"; String docType = "\n"; out.println(docType + "\n" + "" + title + "\n"+ "\n" + "" + title + "\n" + "

Current Time is: " + CT + "

\n"); } // Method to handle POST method request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } Bây gọi Servlet hiển thị System Time sau 5s sau Bạn chạy đợi để xem kết quả: http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/  servlets/index.jsp                                                                                                              Copyright  ©  vietjack.com     Auto Refresh Header Setting Current Time is: 9:44:50 PM   http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   ... doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Set refresh, autoload time as seconds response. setIntHeader("Refresh", 5); // Set response. .. request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response) ; } } Bây gọi Servlet hiển thị System Time sau... để thiết lập HTTP Response Header Bảng liệt kê phương thức sử dụng để thiết lập HTTP Response Header chương trình Servlet Các phương thức có có sẵn với đối tượngHttpServletResponse http://vietjack.com/

Ngày đăng: 02/12/2017, 22:31

Tài liệu cùng người dùng

Tài liệu liên quan