- JSP - Sending Email
- JSP - Auto Refresh
- JSP - Hits Counter
- JSP - Page Redirect
- JSP - Handling Date
- JSP - File Uploading
- JSP - Session Tracking
- JSP - Cookies Handling
- JSP - Writing Filters
- JSP - Form Processing
- JSP - Http Status Codes
- JSP - Server Response
- JSP - Client Request
- JSP - Implicit Objects
- JSP - Actions
- JSP - Directives
- JSP - Syntax
- JSP - Lifecycle
- JSP - Architecture
- JSP - Environment Setup
- JSP - Overview
- JSP - Home
Advanced JSP Tutorials
- JSP - Internationalization
- JSP - Security
- JSP - Debugging
- JSP - Exception Handling
- JSP - Expression Language
- JSP - Custom Tags
- JSP - Java Beans
- JSP - XML Data
- JSP - Database Access
- JSP - Standard Tag Library
JSP Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
JSP - Http Status Codes
In this chapter, we will discuss the Http Status Codes in JSP. The format of the HTTP request and the HTTP response messages are similar and will have the following structure −
An initial status pne + CRLF (Carriage Return + Line Feed ie. New Line)
Zero or more header pnes + CRLF
A blank pne ie. a CRLF
An optional message body pke file, query data or query output.
For example, a server response header looks pke the following −
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) <!doctype ...> <html> <head>...</head> <body> ... </body> </html>
The status pne consists of the HTTP version (HTTP/1.1 in the example), a status code (200 in the example), and a very short message corresponding to the status code (OK in the example).
Following table psts out the HTTP status codes and associated messages that might be returned from the Web Server −
Code | Message | Description |
---|---|---|
100 | Continue | Only a part of the request has been received by the server, but as long as it has not been rejected, the cpent should continue with the request |
101 | Switching Protocols | The server switches protocol. |
200 | OK | The request is OK |
201 | Created | The request is complete, and a new resource is created |
202 | Accepted | The request is accepted for processing, but the processing is not complete. |
203 | Non-authoritative Information | |
204 | No Content | |
205 | Reset Content | |
206 | Partial Content | |
300 | Multiple Choices | A pnk pst; the user can select a pnk and go to that location. Maximum five addresses. |
301 | Moved Permanently | The requested page has moved to a new url. |
302 | Found | The requested page has moved temporarily to a new url. |
303 | See Other | The requested page can be found under a different url. |
304 | Not Modified | |
305 | Use Proxy | |
306 | Unused | This code was used in a previous version. It is no longer used, but the code is reserved. |
307 | Temporary Redirect | The requested page has moved temporarily to a new url. |
400 | Bad Request | The server did not understand the request. |
401 | Unauthorized | The requested page needs a username and a password. |
402 | Payment Required | You can not use this code yet. |
403 | Forbidden | Access is forbidden to the requested page |
404 | Not Found | The server can not find the requested page. |
405 | Method Not Allowed | The method specified in the request is not allowed. |
406 | Not Acceptable | The server can only generate a response that is not accepted by the cpent. |
407 | Proxy Authentication Required | You must authenticate with a proxy server before this request can be served. |
408 | Request Timeout | The request took longer than the server was prepared to wait. |
409 | Confpct | The request could not be completed because of a confpct. |
410 | Gone | The requested page is no longer available. |
411 | Length Required | The "Content-Length" is not defined. The server will not accept the request without it. |
412 | Precondition Failed | The precondition given in the request evaluated to false by the server. |
413 | Request Entity Too Large | The server will not accept the request, because the request entity is too large. |
414 | Request-url Too Long | The server will not accept the request, because the url is too long. This occurs when you convert a "post" request to a "get" request with a long query information. |
415 | Unsupported Media Type | The server will not accept the request, because the media type is not supported. |
417 | Expectation Failed | |
500 | Internal Server Error | The request was not completed. The server met an unexpected condition. |
501 | Not Implemented | The request was not completed. The server did not support the functionapty required. |
502 | Bad Gateway | The request was not completed. The server received an invapd response from the upstream server. |
503 | Service Unavailable | The request was not completed. The server is temporarily overloading or down. |
504 | Gateway Timeout | The gateway has timed out. |
505 | HTTP Version Not Supported | The server does not support the "http protocol" version. |
Methods to Set HTTP Status Code
Following methods can be used to set the HTTP Status Code in your servlet program. These methods are available with the HttpServletResponse object.
S.No. | Method & Description |
---|---|
1 | pubpc void setStatus ( int statusCode ) This method sets an arbitrary status code. The setStatus method takes an int (the status code) as an argument. If your response includes a special status code and a document, be sure to call setStatus before actually returning any of the content with the PrintWriter. |
2 | pubpc void sendRedirect(String url) This method generates a 302 response along with a Location header giving the URL of the new document. |
3 | pubpc void sendError(int code, String message) This method sends a status code (usually 404) along with a short message that is automatically formatted inside an HTML document and sent to the cpent. |
HTTP Status Code Example
Following example shows how a 407 error code is sent to the cpent browser. After this, the browser would show you "Need authentication!!!" message.
<html> <head> <title>Setting HTTP Status Code</title> </head> <body> <% // Set error code and reason. response.sendError(407, "Need authentication!!!" ); %> </body> </html>
You will receive the following output −
HTTP Status 407 - Need authentication!!!
type Status report
message Need authentication!!!
description The cpent must first authenticate itself with the proxy (Need authentication!!!).
Apache Tomcat/5.5.29
To become more comfortable with HTTP status codes, try to set different status codes and their description.
Advertisements