2011-01-18 9 views
2

이 문제는 해결되지 않았습니다. 대답은 솔직하게 나올지 모르지만, 내 인생에서 나는 그것을 알 수 없습니다. 내가 출력이되고 싶습니다일반 텍스트 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> 

은 같습니다 여기

내 아주 간단한 JSP 파일입니다 브라우저에서 정확하지만 실제 응답은 html을 원하지 않는 다른 프로세스로 간다.

어떻게하면 응답 주위에 HTML 빌드를 제거 할 수 있습니까? 글래스 피쉬가 설정 했습니까?

+0

(이전에는 본 적이 없지만) 해결 방법 (실제로는 * 올바른 해결책)은 JSP 대신 서블릿을 사용하는 것입니다 . 기본적으로 HTML이 아닌 컨텐트를 JSP로 남용하고 있습니다. – BalusC

+0

서블릿을 살펴 보겠습니다. 신속하고 (더러운) 솔루션이 필요했습니다. – TungstenX

+0

@ TungstenX 정확히 같은 문제가 붙어 있지만 디스패처 서블릿을 사용하고 있습니다. 좀 더 도움을 얻을 수 있을까요? –

답변

4

을 무엇을하고 있는지

귀하의 요청 매개 변수를 점검하고 검토 : 홍당무 : 에픽 실패!

Google 크롬이 텍스트/일반으로 표시되면 위와 같이 html로 감쌀 것입니다. 나는 그런 멍청한 개발자 같아. 나는 다른 브라우저에서 그것을 체크하고 테스트 애플리케이션을 작성해야했다. 어쨌든 BalusC의 조언을 따라 서블릿을 만들었습니다

+1

흥미 롭다. JSON의 경우 실제로는 text/plain이 아닌'application/json'을 사용해야합니다. – BalusC

+0

거룩한 암소! 네가 옳아. 피들러와 함께 확인해 보니 사실입니다. – juliangonzalez

-1

어떤 웹 컨테이너를 사용하고 있습니까? 아파치 톰캣 6.24에서 이것을 시도했다. 하드 코딩 된 json 문자열을 반환하도록 메서드를 변경했습니다. 출력 주위에 HTML 마크 업없이 OK로 작업했습니다. 당신의 SubscriberAPI :: 확인 방법은

+0

OP에 'glassfish'라는 태그가 붙어 있습니다. – BalusC

+0

Glassfish v2. 요청 매개 변수와 자바 코드가 좋다. json 문자열을 반환합니다. (html 포함 안됨) – TungstenX

관련 문제