我想知道在某些标准Java类库中是否存在枚举类型,为所有有效的HTTP响应代码定义符号常量。它应该支持与对应的整数值之间的转换。
我正在调试一些使用javax.ws.rs.core.Response.Status的Java代码。它可以工作,但它只定义了大约一半的有效HTTP响应代码。
我想知道在某些标准Java类库中是否存在枚举类型,为所有有效的HTTP响应代码定义符号常量。它应该支持与对应的整数值之间的转换。
我正在调试一些使用javax.ws.rs.core.Response.Status的Java代码。它可以工作,但它只定义了大约一半的有效HTTP响应代码。
当前回答
在HttpURLConnection类中有精确整数值的静态常量
其他回答
我认为在标准Java类中没有一个是完整的;HttpURLConnection缺少相当多的代码,如HTTP 100/Continue。
在Apache HttpComponents中有一个完整的列表: org.apache.http.HttpStatus(替换了Apache HttpClient中的org.apache.commons.HttpClient.HttpStatus,该状态已达到生命周期结束)
来自servlet API的接口javax.servlet.http.HttpServletResponse具有int常量名称SC_<description>形式的所有响应代码。参见http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html
另一种选择是使用Apache common -httpclient中的HttpStatus类,它会将各种Http状态作为常量提供给你。
使用javax.servlet.http.HttpServletResponse类
例子:
javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED //401
javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR //500
在HttpURLConnection类中有精确整数值的静态常量