1

我创建了一个 Java Servlet,它将部署在 JBoss 中。它只是在一些计算后向客户端响应文本“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”以继续该过程。但是,当 Servlet 部署在 JBoss 中时,客户端会收到如下信息:

<!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 响应的内容类型?提前感谢所有帮助。

大卫

4

0 回答 0