VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Servlet Tuts

Servlet là gì? Tại sao bạn nên biết Servlet? Cài đặt môi trường Servlet Vòng đời của Servlet Tạo ứng dụng Servlet trên Eclipse Xử lý Form trong Servlet Ví dụ phương thức GET sử dụng URL Ví dụ phương thức GET sử dụng FORM Ví dụ phương thức POST sử dụng FORM Ví dụ truyền CheckBox trong Servlet Ví dụ đọc tất cả các tham số của Form trong Servlet Request trong Servlet Response trong Servlet HTTP Status Codes Xử lý cookies trong Servlet Session tracking trong Servlet Page redirect trong Servlet
List Câu Hỏi Phỏng Vấn Servlet
1 / 3
❮ ❯

HTTP Status Codes


Response trong Servlet
Xử lý Cookie trong Servlet

Định dạng của HTTP request và HTTP response tương ứng sẽ có cấu trúc như sau:

  • Môt dòng status + CRLF (Carriage Return + Line Feed nghĩa là xuống dòng).
  • Không hoặc nhiều dòng header + CRLF.
  • Một dòng trống, tức là một CRLF.
  • Một mesage tùy chọn như tệp tin, dữ liệu truy vấn hoặc đầu ra truy vấn.

Ví dụ, máy chủ trả về một header như sau:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
   (Blank Line)
<!doctype ...>
<html>
   <head>...</head>
   <body>
      ...
   </body>
</html>

Dòng trạng thái (status) bao gồm: phiên bản HTTP (trong ví dụ là HTTP / 1.1), mã trạng thái (HTTP Status Code - trong ví dụ là 200) và một thông báo rất ngắn tương ứng với mã trạng thái (trong ví dụ là OK).


Nội dung chính

  • Danh sách HTTP Status Codes
  • Các phương thức thiết lập HTTP Status Code
  • Ví dụ HTTP Status Code

Danh sách HTTP Status Codes

Dưới đây là danh sách HTTP Status Codes và các message liên quan được trả về bởi Web Server.

Code Message Mô tả
100 Continue Chỉ một phần của yêu cầu đã được nhận bởi máy chủ, nhưng miễn là nó chưa bị từ chối, khách hàng nên tiếp tục yêu cầu.
101 Switching Protocols Máy chủ chuyển đổi giao thức..
200 OK Yêu cầu là OK.
201 Created Yêu cầu hoàn tất và tạo một tài nguyên mới.
202 Accepted Yêu cầu được chấp nhận để xử lý, nhưng quá trình xử lý không hoàn thành.
203 Non-authoritative Information  
204 No Content  
205 Reset Content  
206 Partial Content  
300 Multiple Choices Danh sách liên kết. Người dùng có thể chọn một liên kết và đi đến vị trí đó. Tối đa năm địa chỉ.
301 Moved Permanently Trang yêu cầu đã chuyển đến một url mới.
302 Found Trang được yêu cầu đã tạm thời chuyển đến một url mới.
303 See Other Trang được yêu cầu có thể được tìm thấy dưới một url khác.
304 Not Modified  
305 Use Proxy  
306 Unused Mã này đã được sử dụng trong một phiên bản trước đó. Nó không còn được sử dụng, nhưng mã được sử dụng riêng.
307 Temporary Redirect Trang được yêu cầu đã tạm thời chuyển đến một url mới.
400 Bad Request TMáy chủ đã không hiểu yêu cầu.
401 Unauthorized Trang được yêu cầu cần tên người dùng và mật khẩu.
402 Payment Required Bạn không thể sử dụng mã này.
403 Forbidden Truy cập bị cấm vào trang được yêu cầu.
404 Not Found Máy chủ không thể tìm thấy trang yêu cầu.
405 Method Not Allowed Phương thức được chỉ định trong yêu cầu không được phép.
406 Not Acceptable Máy chủ chỉ có thể tạo ra một phản ứng mà không được chấp nhận bởi khách hàng.
407 Proxy Authentication Required Bạn phải xác thực với một máy chủ proxy trước khi yêu cầu này có thể được phục vụ.
408 Request Timeout Yêu cầu đã lâu hơn so với máy chủ đã được chuẩn bị để chờ đợi.
409 Conflict Yêu cầu không thể hoàn thành do xung đột.
410 Gone Trang được yêu cầu không còn nữa.
411 Length Required "Content-Length" không được định nghĩa. Máy chủ sẽ không chấp nhận yêu cầu mà không có nó.
412 Precondition Failed Điều kiện tiên quyết đưa ra trong yêu cầu được đánh giá là sai bởi máy chủ.
413 Request Entity Too Large Máy chủ sẽ không chấp nhận yêu cầu vì đơn vị yêu cầu quá lớn.
414 Request-url Too Long Máy chủ sẽ không chấp nhận yêu cầu, vì url quá dài. Xảy ra khi bạn chuyển đổi yêu cầu "đăng" thành yêu cầu "nhận" với thông tin truy vấn dài.
415 Unsupported Media Type Máy chủ sẽ không chấp nhận yêu cầu vì loại phương tiện truyền thông không được hỗ trợ.
417 Expectation Failed  
500 Internal Server Error Yêu cầu không hoàn thành. Máy chủ gặp một điều kiện bất ngờ.
501 Not Implemented Yêu cầu không hoàn thành. Máy chủ không hỗ trợ chức năng được yêu cầu.
502 Bad Gateway Yêu cầu không hoàn thành. Máy chủ nhận được phản hồi không hợp lệ từ máy chủ lưu trữ.
503 Service Unavailable Yêu cầu không hoàn thành. Máy chủ đang tạm thời quá tải hoặc giảm.
504 Gateway Timeout Cổng đã hết thời gian.
505 HTTP Version Not Supported Máy chủ không hỗ trợ phiên bản "http protocol".

Các phương thức thiết lập HTTP Status Code

Bạn có thể sử dụng một vài phương thức của đối tượng HttpServletResponse để thiết lập HTTP Status Code.

No. Phương thức & Mô tả
1 public void setStatus(int statusCode)

Phương thức này đặt mã trạng thái tùy ý. Nếu phản hồi của bạn bao gồm mã trạng thái đặc biệt và tài liệu, hãy chắc chắn gọi setStatus trước khi thực sự trả về bất kỳ nội dung nào bằng PrintWriter.

2 public void sendRedirect(String url)

Phương thức này tạo ra một phản hồi 302 cùng với header Location cho URL của tài liệu mới.

3 public void sendError(int code, String message)

Phương thức này gửi mã trạng thái (thường là 404) cùng với một tin nhắn ngắn được tự động định dạng bên trong một tài liệu HTML và được gửi đến client.


Ví dụ HTTP Status Code

Sau đây là ví dụ sẽ gửi mã lỗi 407 đến trình duyệt của client và trình duyệt sẽ hiển thị cho bạn mesage "Need authentication!!!".

Tạo file ShowError .java

package vn.viettuts;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//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);
    }
}

Cấu hình servlet ShowError trong file web.xml

<servlet>
    <servlet-name>ShowError</servlet-name>
    <servlet-class>vn.viettuts.ShowError</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ShowError</servlet-name>
    <url-pattern>/ShowError</url-pattern>
</servlet-mapping> 

Gọi servlet trên sẽ tạo ra kết quả sau:

Ví dụ HTTP Status Code
Response trong Servlet
Xử lý Cookie trong Servlet

Recent Updates

Servlet là gì?Cài đặt môi trường ServletHTTP Status CodesPage redirect trong ServletRequest trong ServletResponse trong ServletSession tracking trong ServletTạo ứng dụng Servlet trên EclipseVí dụ đọc tất cả Parameters của Form trong ServletVí dụ phương thức GET sử dụng FormVí dụ phương thức GET sử dụng URLVí dụ phương thức POST sử dụng FormSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml