Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
纯文本JSP响应_Jsp_Glassfish_Response_Plaintext - Fatal编程技术网

纯文本JSP响应

纯文本JSP响应,jsp,glassfish,response,plaintext,Jsp,Glassfish,Response,Plaintext,我被这个问题困住了。答案可能是直截了当的,但就我个人而言,我无法找到答案 这是我非常简单的jsp文件: <%@page contentType="text/plain" import="java.util.*" import="subscriberapi.SubscriberAPI" pageEncoding="UTF-8"%> <%!private String Check(String jsonText) { SubscriberAPI subscriberAP

我被这个问题困住了。答案可能是直截了当的,但就我个人而言,我无法找到答案

这是我非常简单的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"))%>
但我得到的结果是:

<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设置的吗?

您使用的web容器是什么?在ApacheTomcat6.24中尝试了这一点。我更改了您的方法以返回硬编码的json字符串。工作正常,输出周围没有html标记

检查您的请求参数并查看SubscriberAPI::Check方法正在执行的操作

:blush:Epic失败


当GoogleChrome显示为text/plain时,它会将其包装为html(如上所述)。我觉得自己像个noob开发者。我应该在其他浏览器上检查它,或者编写一个测试应用程序。在任何情况下,我都遵循BalusC的建议,创建了一个Servlet

并不是一个答案(我以前从未见过这个),而是一个解决方法(实际上,是正确的解决方案)是使用Servlet而不是JSP。您在这里基本上滥用JSP来处理非HTML内容。然后我会看看Servlet,我需要一个快速(肮脏)的解决方案。@TungstenX我遇到了完全相同的问题,但我使用的是dispatcher Servlet。我能得到更多的帮助吗?玻璃鱼v2。请求参数和java代码都很好。它返回一个json字符串(不包括html),这很有趣,我也不知道。注意,对于JSON,实际上应该使用
application/JSON
而不是
text/plain
。天哪!你说得对。刚刚和Fiddler核实过,这是真的。
<html>
<head></head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;">{"Status":true,"Message":"All good"}</pre>
</body>
</html>