JSP Response Set Status
JSP Response Set Status
In this tutorial you will learn about how to set the HTTP status code in JSP.
In Java you can specify a HTTP-specific functionality regarding to send response. An interface HttpServletResponse provides these facility. This interface provides some static final fields to set the status which are indicating their respective status code, these codes are used for indicating their respective operations. There are number of fields are defined some of them fields value with their status code are given here :
Field's Name | Status Code |
---|---|
SC_ACCEPTED | Status code (202) which shows a request was admitted for processing, but could not be completed. |
SC_BAD_GATEWAY | Status code (502) which shows HTTP server got an invalid response from a server it looked up when acting as a proxy or gateway. |
SC_BAD_REQUEST | Status code (400) which shows a request sent by the client is syntactically incorrect. |
SC_CONFLICT | Status code (409) which shows a request could not be completed due to a conflict with the current state of the resource. |
SC_CONTINUE | Status code (100) which shows a client can continue. |
SC_CREATED | Status code (201) which shows a request succeeded and created a new resource on the server. |
SC_EXPECTATION_FAILED | Status code (417) which shows the server could not meet the expectation given in the Expect request header. |
SC_FORBIDDEN | Status code (403) which shows the server understood the request but refused to fulfill it. |
SC_FOUND | Status code (302) which shows a resource reside temporarily under a different URI. |
SC_GATEWAY_TIMEOUT | Status code (504) which shows the server did not receive a timely response from the upstream server while acting as a gateway or proxy. |
SC_GONE | Status code (410) which shows the resource is no longer available at the server and no forwarding address is known. |
SC_HTTP_VERSION_NOT_SUPPORTED | Status code (505) which shows the server does not support or refuses to support the HTTP protocol version that was used in the request message. |
SC_INTERNAL_SERVER_ERROR | Status code (500) which shows an error inside the HTTP server which prevented it from fulfilling the request. |
SC_LENGTH_REQUIRED | Status code (411) which shows a request cannot be handled without a defined Content-Length. |
SC_MOVED_PERMANENTLY | Status code (301) which shows a resource has permanently moved to a new location, and that future references should use a new URI with their requests. |
SC_MOVED_TEMPORARILY | Status code (302) which shows a resource has temporarily moved to another location, but that future references should still use the original URI to access the resource. |
SC_NOT_FOUND | Status code (404) which shows a requested resource is not available. |
SC_NOT_IMPLEMENTED | Status code (501) which shows the HTTP server does not support the functionality needed to fulfill the request. |
SC_REQUEST_TIMEOUT | Status code (408) which shows a client did not produce a request within the time that the server was prepared to wait. |
SC_REQUEST_URI_TOO_LONG | Status code (414) which shows the server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. |
SC_USE_PROXY | Status code (305) which shows a requested resource MUST be accessed through the proxy given by the Location field. |
Above mentioned statuses can be set using setStatus() method of HttpServletResponse interface.
Syntax of setStatus() method
void setStatus(int sc)
Argument of this method is a specified field name given in the above table.
Example :
Here I am giving a simple example which will demonstrate you about how to set the HTTP status code. In this example I have created a JSP page where designed a form to take input from the user. In the first input textbox, name of the website (e.g. google, facebook, orkut) have to be given and in the second input textbox domain (like com, in. uk) of that website have to be given and taken a submit button to submit a form. In further steps used scriptlet to write the java code where I have gotten both the values provided in the textboxes and created a new url using URL class of java.net package and converted the newly created url into a String because in the next steps where I have used the setHeader() method to set the response header takes String value only. Then I have used the setStatus() method of HttpServletResponse interface to set the status and gave the value response.SC_MOVED_TEMPORARILY (moves resource to another location) as an argument and also used the setHeader() method to set the header value. First argument of this method is a String and the value "location" is a common response header which specifies where the client should go to get document.
jspSetStatus.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.net.URL, java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP HTTP setStatus</title>
</head>
<body>
<form>
<table>
<tr>
<td>Enter website's name only : <br>
(e.g. devmanuals, google)</td>
<td><input type="text" name="webAdd"/></td>
</tr>
<tr>
<td>Enter domain of website : <br>
(like com, net, in)</td>
<td><input type="text" name="domain"/></td>
</tr>
<tr>
<td></td><td><input type="submit" value="submit"/></td>
</tr>
</table>
</form>
<%
String webAddress = request.getParameter("webAdd");
String dom = request.getParameter("domain");
URL newUrl = new URL("http://"+webAddress+"."+dom);
String url = newUrl.toString();
if(webAddress != null)
{
// resource will be moved to another location
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", url);
}
%>
</body>
</html>
Output :
When you will execute the above JSP page output will be as follows :
1. At first, a page will be displayed to input the values in the textboxes.
2. When you will click a submit button, resource will be moved to that website (if available).
JSP Response Set Status的更多相关文章
- 【FAQ】【JSP】HTTP Status 500 - Summary(问题排查时候应该仔细分析所有的错误打印说明)
Question 1.HTTP Status 500 - Unable to compile class for JSP:'***' cannot be resolved to a type 原因分析 ...
- Jsp——response对象
<%@ page language="java" contentType="text/html; charset=UTF-8" import=" ...
- JSP response.setCharacterEncoding与response.setContentType的区别
问题描述 昨天在参考别人的项目时,发现页面引用js,css等文件总是乱码,后来才发现是MIME类型统一设置为text/html,并且仅仅编码设置了浏览器端的解析编码.另外,可以先通过文本编辑器(如no ...
- jsp response对象
所属接口:javax.servlet.http.HttpServletResponse,其父接口是ServletResponse,而且 ServletResponse也现在只有唯一一个HttpServ ...
- request 和response
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...
- Servlet&jsp基础:第二部分
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- HTTP Response Splitting攻击探究 <转>
第一小节:HTTP Basics:使用Proxy软件(例如Webscarab)来截断浏览器(客户端)和Server之间的HTTP通信,之后任意篡改得到预期结果即可. 第二小节:HTTP Splitti ...
- JSP处理AJAX
register.jsp: <script type="text/javascript"> var req; function validate() { var idF ...
- #HTTP协议学习# (一)request 和response 解析
注:本文转自:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html , 粉字[]内内容为个人笔记 当今web程序的开发技术真是 ...
随机推荐
- CS Academy Distinct Neighbours(经典dp)
CS Academy Distinct Neighbours(经典dp) 题意: 求相邻无相同数字的合法的排列数 题解: 题解 先将相同的数字分为一类,假设共有n组 定义\(dp[i][j]\)表示前 ...
- mysql截取字符串与reverse函数
mysql的函数大全: http://www.jb51.net/Special/606.htm 这个网页上很多知识点,可以学习下,关于mysql的函数,也可以作为API查询: 这里只说下mysql的截 ...
- Linux下mknod详解
mknod - make block or character special filesmknod [OPTION]... NAME TYPE [MAJOR MINOR] option 有用的就是 ...
- [bzoj2127]happiness——最小割
这个题太恶心了...并不想继续做了... 本代码在bzoj上TLE! 大致说一下思路: 建立ST,首先由S连边(S,u,a)a代表学文的分数,连向T(u,T,b)b表示学理的分数,这样构造出了两个人独 ...
- for...in与点语法
语法 for...in语句循环一个指定的变量来循环一个对象所有可枚举的属性.如下所示 for (variable in object){ statements } 问题 在实际的使用过程中发现,在fo ...
- UVA 10330 Power Transmission
题意:懒得打了.LUCKY CAT 里有 http://163.32.78.26/homework/q10330.htm 第一个网络流题目.每个节点都有一个容量值.需要拆点.拆成i - > i ...
- web应用性能优化经验总结
常见性能优化要求 在我经历的性能优化案例中,常见的问题都是这样开始的: a) 前台访问很慢,请帮忙分析优化 b) 用户对性能很不满意,再不解决就要投诉 c) 数 ...
- 【Android开发日记】之入门篇(一)——开发环境的搭建
写给自己的话:至此,大学的时光已经剩下一年的时光,下一年等毕业设计结束后就算是正式地踏入社会.自己学android也不过几个月的时间,为了更好管理文档,写点东西记录下自己曾经做过的点点滴滴是一个不错的 ...
- IFC and BFC
BFC and IFC 1,IFC -- 针对行内元素 -- 行内格式上下文 BFC --针对块级元素 -- 块级格式上下文 2,IFC特点: 行框的高度由包含元素的高度和有没有float元素决定. ...
- django的url匹配流程
URL匹配流程(路由解析顺序): URL匹配流程说明 域名.端口.端口后的 /,以及查询字符串(问号后面的键值参数)不参与匹配 先到项目下的 urls.py 进行匹配,再到应用的 urls.py 匹配 ...