3

我被困在这个问题上。答案可能是直截了当的,但对于我的生活,我无法弄清楚。

这是我非常简单的jsp文件:

<%@page contentType="text/plain" 
import="java.util.*" 
import="subscriberapi.SubscriberAPI"
pageEncoding="UTF-8"%>
<%!private String Check(String jsonText)
{
    SubscriberAPI subscriberAPI = new SubscriberAPI();
    return subscriberAPI.Check(jsonText);
}%>
<%response.setContentType("text/plain");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("pragma","no-cache");%>
<%=Check(request.getParameter("jsonText"))%>

我希望输出为:

{"Status":true,"Message":"All good"}

但我得到的输出是:

<html>
<head></head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;">{"Status":true,"Message":"All good"}</pre>
</body>
</html>

它在浏览器中看起来是正确的,但实际响应会转到另一个不需要 html 的进程。

如何摆脱围绕响应的 html 构建?这是 Glassfish 设置的吗?

4

2 回答 2

5

:blush: 史诗般的失败!

当 Google Chrome 显示text/plain时,它会将其包装在 html 中(如上)。我觉得自己像个菜鸟开发者。我应该在其他浏览器上检查它,或者编写一个测试应用程序。无论如何,我遵循 BalusC 的建议并制作了一个 Servlet

于 2011-01-21T11:20:38.927 回答
-1

您使用的是什么网络容器?在 Apache Tomcat 6.24 中试过这个。我更改了您的方法以返回硬编码的 json 字符串。工作正常,输出周围没有 html 标记。

检查您的请求参数并查看您的 SubscriberAPI::Check 方法正在做什么

于 2011-01-20T10:31:08.663 回答