首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

服务器状态码的一些说明 经典的404再有说明呢

2012-08-30 
服务器状态码的一些说明 经典的404还有说明呢?package endual?import java.io.IOExceptionimport java.i

服务器状态码的一些说明 经典的404还有说明呢?

package endual;

?

import java.io.IOException;

import java.io.PrintWriter;

?

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

?

/**

?* 100-199 表示的是信息性的,标示客户应该采取的其他动作

?* 200-299 表示的是请求成功了

?* 300-399 表示的值用于那些已经移走的文件,常常包括location报头,指出新的地址

?* 400-499 表示的是由于客户端引起的

?* 500-599 表明由客户引发的错误

?*?

?* 100 Continue 继续

?* 如果服务器接收到的值是100-continue的Expect的请求报头,这表示客户程序在询问是否可以在随后的

?* 请求中发送附属文档。这种情况下,服务器应该以状态100回应,告诉客户程序继续下去。或者使用417告诉浏览器

?* 不接收该文档,这是http1.1新引人的

?*?

?* 200 表示OK

?* 200表示一切正常,如果是get和post 那么文档后面就跟在后面,对于serlet,这是默认值,如果没有调用setStatus,那么默认值就是200了

?*?

?* 202 Acceoted 已经接收

?* 202告诉客户请求已经接收了 但处理尚未完成

?*?

?* 204 No Content, 没有新的文档

?* 状态代码 204 要求浏览器继续显示之前的文档,因为没有新的文档,如果用户周期性的单击reload按钮来重新

?* 载入页面,那么这个行为就比较有用,您可要确定前面的页面已经是最新的了

?*?

?* 205 重置内容

?* 表示没有心的文档,但是浏览器应该重置文档视图,因此这个状态代码用来指示游览器消除表单的字段。它是HTTP1.1新引人

?* 的状态的代码

?*?

?* 301 表示文档被移动到别的地方,文档的新URL在location响应报头中给出,浏览器应该依据这个链接跳转到新的url

?*?

?* 302 找到

?* 这个值类似于301 只是原则上应该将location报头给出的url看做是非永久性的临时代替,在实际中,大多数的浏览器都是等同的对待301和302

?*?

?* 307类似

?* ?400 错误的请求

?* ?400 表示的是客户请求中含有语法的错误

?* ?401 为授权

?* ?401表示的是客户程序视图访问密码保护的页面,但是在请求的authorization的报头中没有正确的身份标示信息。

?* ?相应必须www-authenticate报头。

?* ?403 资源不可用

?* ?状态代码403 表示服务器拒绝提供相关的资源,不管是否拥有授权,这个状态常常是由服务器上文件或者目录的许可权限到导致的

?* ?

?* ?404 未找到

?* ?页面没有。在给定的地址找补到任何的资源。这个值的标准的no such page相应。由于这个相应太过常用而且有效,因此在httpservletrespones

?* ?类中为它提供了一个专门的方法,就是sendError("message")。

?* ?

?* ?405 方法不允许

?* ?405表示的值,这个特定资源不预习使用该方法请求,get post head put delete 这是1.1新引人的代码

?* ?417 期望不能满足

?* ?如果服务器接收到的值为100-continue的Excep请求报头,那么表示客户程序在询问是否可以在后续的请求中发送附加的文档。

?* ?500 服务器内部错误了,服务器内部陷入了混论的不正常的代码 它常常是由于cgi程序或servlet崩溃或饭后格式不正确的报头而造成的

?* ?

?* ?501 未实现

?* ?501 状态通知客户程序,服务器不支持能够满足该请求的功能,它用于表示服务器不支持客户程序的命令,比如put

?* ?

?* ?503 服务器不可以用

?* ?状态代码503表示,由于维护工作或者是超负荷工作,服务器不能做出相应,例如如果线程池或者数据库连接池当前被全部占有那么servklet

?* ?可能就要返回这个报头了

?* ?

?* ?505 不支持http版本

?* ?505代码表示服务器不支持请求行中给出的http版本,这是http1.1引入的状态代码

?*?

?* @author Endual

?*

?*/

public class SetStatueServlet extends HttpServlet {

?

/**

* The doGet method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to get.

*?

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

?

response.setContentType("text/html");

/**

* 设置的是任意的状态代码的,需要使用的是setStatus方法。如果相应的是状态代码比较特殊,并且伴有相关的文档内容

* 那一定要再用printWriter实际返回任何内容之前调用setStatus,之所以需要这样做,是因为http请求的有状态行,一个或者多个

* 行头,一个空行,以及实际的文档安装比较理出的次序组成的

*/

response.setStatus(1440) ;

/**

* 虽然设置状态代码的调用方法是直接调用的response.setStatue(int)

* 但是,httpServletRespone专门为两种常见的情况提供了快捷的方法。

* 需要注意的是,这两个方法都是抛出的是IOException异常,而setStatue不会

* 由于doGet和doPost方法拍抛出的是IOException因此仅当将相应对象床单给其他方法的时候,才需要注意这样昂的情况

*/

response.sendRedirect("") ; //命令游览器连接到新的位子中,生成302相应以及location报头,给出新的文档的url

response.sendError(100) ; // 状态404用于服务器没有找到文档的情况。sendError方法发送状态代码以及一小段简短的消息,而这个消息会被自动安排到html文档中发送给客户的

PrintWriter out = response.getWriter();

out

.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");

out.println("<HTML>");

out.println(" ?<HEAD><TITLE>A Servlet</TITLE></HEAD>");

out.println(" ?<BODY>");

out.print(" ? ?This is ");

out.print(this.getClass());

out.println(", using the GET method");

out.println(" ?</BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

?

/**

* The doPost method of the servlet. <br>

*

* This method is called when a form has its tag value method equals to post.

*?

* @param request the request send by the client to the server

* @param response the response send by the server to the client

* @throws ServletException if an error occurred

* @throws IOException if an error occurred

*/

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

?

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out

.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");

out.println("<HTML>");

out.println(" ?<HEAD><TITLE>A Servlet</TITLE></HEAD>");

out.println(" ?<BODY>");

out.print(" ? ?This is ");

out.print(this.getClass());

out.println(", using the POST method");

out.println(" ?</BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

?

}


热点排行