如何自定义HTTP 状态响应码(response code)
一、什么是HTTP状态响应码/都有哪些状态响应码?
来自于Mozilla基金会网站的关于HTTP状态码的文章(https://developer.mozilla.org/zh-TW/docs/HTTP/Response_codes)指出HTTP状态码分为5大类,分别代表:
1xx信息化响应(ps:http1.1之前是保留区段,HTTP1.1规定了2项)
2xx成功响应
3xx重定向消息
4xx客户端错误
5xx服务器端错误
二、为什么要自定义状态响应码?
既然HTTP规范已经定义了这么多状态响应码,我们自定义状态响应码有什么用处呢?
目前HTTP规范定义的响应码,各大应用服务器和浏览器厂家都已经实现了这些内容,可以根据请求响应的不同结果返回不同的状态码,浏览器接收到这些状态码后也会做出响应的动作和操作。
我们可以通过自定义的状态响应码,对系统做一下通用的提示,例如当发生某一类问题时,可以通过状态响应码,由系统底层统一给出提示。另外,ajax请求也可以自定义响应码,前端进行判断后进行不同的处理。
三、自定义状态码的实现
int myCode=601; response.setResponseCode(myCode); request.setAttribute("javax.servlet.error.status_code",myCode);
如果使用了spring框架,也可继承SimpleMappingExceptionResolver,调用它的
applyStatusCodeIfPossible(requset,response,code)方法。
四、自定义状态码的应用
ajaxError(function(event,xhr,options.exc){ if(xhr.status=='601'){ dosomething(); } });
相关推荐
86193952 2020-10-27
Mynamezhuang 2020-09-18
充满诗意的联盟 2020-08-23
raksmart0 2020-08-17
yfightfors 2020-08-16
84487600 2020-08-16
qdqht00 2020-07-26
WebVincent 2020-07-21
hzyuhz 2020-07-04
fengchao000 2020-07-04
javaraylu 2020-06-28
baijinswpu 2020-06-28
ZHANGRENXIANG00 2020-06-28
Teamomc 2020-06-28
Catastrophe 2020-06-26
hell0kitty 2020-06-17
我欲疾风前行 2020-06-18