302 Moved Temporarily

           今天操作ajaxupload的时候请求webwork后台action返回的xml是:
<result name="error" type="redirect">
				 <param name="location">/train/operate/resultjson2.jsp</param>
			</result>

而前台出现了这个状态302 Moved Temporarily,因为以前只有接触什么304,404,500,200,这个状态没有见过,就查询学习下。
         302 Moved temporarily,直译是暂时移动,这里是你所连接的页面进行了Redirect,也就是上面result的type是redirect,或者servlet的sendRedirect方法也是这个效果。
         但新的URL应该被视为临时性的替代,而不是永久性的。在HTTP1.0中对应的状态信息是“Moved Temporatily”,而HttpServletResponse中相应的常量是SC_MOVED_TEMPORARILY,而不是SC_FOUND。出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。为此,Servlet提供了一个专用的方法,即sendRedirect。使用response.sendRedirect(url)比使用response.setStatus(response.SC_MOVED_TEMPORARILY)和response.setHeader("Location",url)更好。这是因为:

首先,代码更加简洁。
第二,使用sendRedirect,Servlet会自动构造一个包含新链接的页面(用于那些不能自动重定向的老式浏览器)。
最后,sendRedirect能够处理相对URL,自动把它们转换成绝对URL。
注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。
严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。

以上大部分是百度知道来的。结合本地做的总结。
分享让更多人受益!

你可能感兴趣的:(浏览器,servlet)