http://vietjack.com/ servlets/index.jsp Copyright © vietjack.com Status Code Servlet Định dạng thông báo HTTP request HTTP response tương tự có cấu trúc sau: • Một dòng status + CRLF ( Carriage Return + Line Feed ví dụ: New Line) • nhiều dòng header + CRLF • Một dòng trống, ví dụ: CRLF • Một thân thông báo tùy ý file, liệu truy vấn (Query Data) kết truy vấn (Query output) Ví dụ, header phản hồi từ Server trơng giống sau: HTTP/1.1 200 OK Content-Type: text/html Header2: HeaderN: Line) (Blank Dòng Status gồm phiên HTTP (trong ví dụ HTTP/1.1), status code (trong ví dụ 200), thông báo ngắn tương ứng với Status code (trong ví dụ OK) Bảng liệt kê HTTP Status code thơng báo tương ứng mà trả từ Web Server: Code Thông báo Miêu tả 100 Continue Chỉ phần yêu cầu nhận Server, cần khơng bị loại bỏ, Client nên tiếp tục với yêu cầu 101 Switching Protocols Server chuyển đổi giao thức 200 OK Yêu cầu OK 201 Created Yêu cầu hoàn thành, nguồn tạo 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 202 Accepted 203 Non-authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices Một danh sách link Người dùng chọn link tới trang Tối đa địa 301 Moved Permanently Trang yêu cầu chuyển tới URL 302 Found Trang yêu cầu chuyển tới URL 303 See Other Trang u cầu tìm với URL khác 304 Not Modified 305 Use Proxy 306 Unused Code sử dụng phiên trước Nó khơng sử dụng nữa, lưu trữ 307 Temporary Redirect Trang yêu cầu tạm thời chuyển tới URL 400 Bad Request Server không hiểu yêu cầu Yêu cầu chấp nhận để xử lý, việc xử lý chưa hoàn thành 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 401 Unauthorized Trang yêu cầu cần thiết username password 402 Payment Required Bạn sử dụng code 403 Forbidden Sự truy cập bị cấm với trang yêu cầu 404 Not Found Server khơng tìm thấy trang u cầu 405 Method Not Allowed Phương thức xác định yêu cầu không cho phép 406 Not Acceptable Server tạo phản hồi mà khơng chấp nhận Client 407 Proxy Authentication Required Bạn phải xác nhận với Proxy server trước yêu cầu phục vụ 408 Request Timeout Yêu cầu tốn thời gian lâu so với thời gian server đợi 409 Conflict u cầu khơng thể hồn thành có conflict 410 Gone Trang u cầu khơng có sẵn 411 Length Required "Content-Length" khơng định nghĩa Server không chấp nhận yêu cầu mà khơng có 412 Precondition Failed Điều kiện tiên (precondition) cung cấp yêu cầu tính toán false Server 413 Request Entity Too Large Server khơng chấp nhận u cầu này, đối tượng yêu cầu lớn 414 Request-url Too Server khơng chấp nhận u cầu này, URL dài Xảy bạn biến đổi yêu cầu POST thành yêu 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 Long cầu GET với thông tin truy vấn dài 415 Unsupported Media Type Server khơng chấp nhận u cầu, MIME type không hỗ trợ 417 Expectation Failed 500 Internal Server Error Yêu cầu chưa hoàn thành Server gặp trường hợp không mong muốn 501 Not Implemented u cầu chưa hồn thành Server khơng hỗ trợ tính yêu cầu 502 Bad Gateway Yêu cầu chưa hoàn thành Server nhận phản hồi không hợp lệ từ Server tuyến 503 Service Unavailable Yêu cầu chưa hoàn thành Server tạm thời tải hỏng 504 Gateway Timeout Gateway hết hạn 505 HTTP Version Not Supported Server không hỗ trợ phiên "http protocol" Phương thức để thiết lập HTTP Status Code Dưới liệt kê phương thức sử dụng để thiết lập HTTP Status code chương trình Servlet Các phương thức có sẵn với đối tượng HttpServletResponse STT Phương thức & Miêu tả public void setStatus ( int statusCode ) Phương thức thiết lập Status code tùy ý Phương thức setStatus nhận int (là status code) tham số Nếu phản hồi bạn bao gồm Status code 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 đặc biệt tài liệu, đảm bảo bạn gọi setStatus trươc thực trả nội dung vào với PrintWriter public void sendRedirect(String url) Phương thức tạo phản hồi 302 với Location header cung cấp URL tài liệu public void sendError(int code, String message) Phương thức gửi Status code (thường 404) với thông báo ngắn mà tự động định dạng bên tài liệu HTML gửi tới Client Ví dụ HTTP Status Code Ví dụ sau gửi code lỗi 407 tới trình duyệt Client trình duyệt hiển thị thơng báo “Need authentication” // Import required java libraries import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; // Extend HttpServlet class public class showError extends HttpServlet { // Method to handle GET method request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Set error code and reason response.sendError(407, "Need authentication!!!" ); } // 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ị kết sau: HTTP Status 407 - Need authentication!!! type Status report messageNeed authentication!!! 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 Miêu tảThe client must first authenticate itself with the proxy (Need authentication!!!) Apache Tomcat/5.5.29 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 ... tả public void setStatus ( int statusCode ) Phương thức thiết lập Status code tùy ý Phương thức setStatus nhận int (là status code) tham số Nếu phản hồi bạn bao gồm Status code http://vietjack.com/... Phương thức để thiết lập HTTP Status Code Dưới liệt kê phương thức sử dụng để thiết lập HTTP Status code chương trình Servlet Các phương thức có sẵn với đối tượng HttpServletResponse STT Phương... String message) Phương thức gửi Status code (thường 404) với thông báo ngắn mà tự động định dạng bên tài liệu HTML gửi tới Client Ví dụ HTTP Status Code Ví dụ sau gửi code lỗi 407 tới trình duyệt