我已经创建了一个将在JBoss中部署的Java Servlet。在进行一些计算后,它只是向客户端响应文本“OK”或“Fail”。它在使用Tomcat 6的开发服务器中运行良好,但当应用服务器是生产服务器上的JBoss 4.2时却不是这样。似乎JBoss将头添加到servlet响应中,因此我的客户端无法处理结果。 Servlet有点像这样(我把所有东西放在doGet函数中):
public void doGet(HttpServletRequest request,HttpServletResponse response)
throw IOException, ServletException {
String input = request.getParameter("input");
response.setHeader("Content-Type", "text/plain");
// response.setContentType("text/plain");
try {
if (functionToDoSomething(input)){
response.getWriter().println("OK");
}
else {
response.getWriter().println("FAIL.");
}
response.getWriter().flush();
}
catch (Exception e) {
e.printStackTrace();
}
}
通常,客户端会收到纯文本“OK”或“FAIL”以继续此过程。但是,当在JBoss中部署Servlet时,客户端会收到类似的内容:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type></HEAD>
<BODY><PRE>OK
</PRE></BODY></HTML>
在Servlet代码中,我尝试更改内容类型,但似乎不起作用。
JBoss中是否有任何设置使其追加/覆盖Servlet响应的内容类型?提前感谢所有的帮助。
大卫