在这种情况下,我正在为webapp编写自定义错误页面(主要是为了减少servlet容器的默认错误页面中的信息泄露)。因为我需要为每个错误状态代码创建一个错误页面,所以我必须对每个代码都有一个合理的响应。据我所知,这些错误页面并不一定是用户友好的,但是简单地将所有内容重定向到一个“它出错了”错误页面就会使诊断问题变得非常困难。
因此,我想知道是否有一个Java库可以很好地映射HTTP状态代码和简单的人类可读的描述(理想情况下是一个2-4个单词的“摘要”,用作页面标题,以及在摘要上扩展的1-3句语句)。然后,我可以在JSP中使用它来提供一些关于错误类的反馈。如果没有,我相信我可以自己写一个,但是如果轮子已经发明了,我很乐意使用它们。
发布于 2009-12-26 09:33:50
因此,我想知道是否有一个Java库可以很好地映射HTTP状态代码和简单的人类可读的描述(理想情况下是一个2-4个单词的“摘要”,用作页面标题,以及在摘要上扩展的1-3句语句)。
是的,Apache共用HttpClient有这个功能。HttpStatus类具有与其他地方相同的int常量列表,但它还有一个返回可读的状态代码描述的static String getStatusText(int)方法。
下面是Maven依赖项:
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>示例代码:
import org.apache.commons.httpclient.HttpStatus;
String responseMessage = HttpStatus.getStatusText(HttpStatus.SC_OK);
System.out.println(responseMessage);指纹:
OK发布于 2010-01-26 00:31:39
我想您可能喜欢Spring解决方案:http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/http/HttpStatus.html
发布于 2014-12-10 12:35:29
最新的apache http组件v4+ ( httpCoponents )
介绍以下内容: HttpStatus作为包含所有httpStatuses的枚举
用于描述: EnglishReasonPhraseCatalog.INSTANCE.getReason(code,Locale.ENGLISH);
其中您的状态代码==代码,例如: 200
例如:
HttpStatus.SC_FORBIDDEN == 403
EnglishReasonPhraseCatalog.INSTANCE.getReason(403, Locale.ENGLISH) == "Forbidden"https://stackoverflow.com/questions/1637750
复制相似问题