2013-02-19 91 views
3

我正在使用带有Fixpack 1的Websphere 8.5 Liberty Profile并遇到以下似乎违反Servlet API的问题。Websphere 8.5 Liberty Profile - Servlet API setLocale

如果在响应输出流(HttpServletResponse#getOutputStream())上写入响应正文,则在response.setLocale()之后未设置Content-Language响应标头。如果身体上的反应作家写它正常工作,而不是(HttpServletResponse的#的getWriter())

下面的JSP不返回内容语言响应头:

<%@ page contentType="text/plain;charset=ISO-8859-1" session="false" import="java.util.*" %><% 
response.setLocale(Locale.ITALY); 

java.io.OutputStream os = response.getOutputStream(); 
try { 
    os.write("Hello World".getBytes("ISO-8859-1")); 
} finally { 
    os.close(); 
} 
%> 

注意,JSP不得包含<%...%>之外的任何字符,甚至不包括文件结尾的尾随换行符。我在这里使用JSP来复制案例 - 当然作者是正常的路要走。我们在Java代码中内部使用#getOutputStream。

我的假设是正确的,这种行为违反了Servlet规范吗?如果是这样,那么向IBM报告这些错误的最佳方式是什么?

我发现与内容语言响应头略微相关的bug报告,这是只针对Liberty配置文件报道(和已固定在FP1):http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PM67523

回答

2

我会建议报告虫子IBM在WASdev社区使用this page。如果您不熟悉WASdev社区,那么它也是了解更多关于Liberty概要文件的好地方,并且它有一些很棒的教程。

+0

谢谢。提到的页面仅用于测试版本,但我能够用8.5.next.beta重现问题并打开了一个问题。 – ahu 2013-03-05 15:15:16

+0

对于发行的版本,您可以打开IBM服务请求[此处](https://www-947.ibm.com/support/servicerequest/Home.action)。 – 2013-03-05 17:03:27

相关问题