2014-12-07 8 views
0

모든 HTTP 요청 (동기 및 비동기)에 대해 Java 서블릿이 JSON을 클라이언트 측에 일관성있게 반환하고 싶습니다. 이 방법으로 모든 프리젠 테이션 로직을 클라이언트 측 (html/css/js)으로 푸시하고 HTML에서 JSP 태그를 최소화 할 수 있습니다.자바 서블릿이 동기 HTTP 요청에서 JSON을 반환합니다.

서블릿이 Ajax 요청을 처리하는 방법을 알고 있습니다. 하지만 요청에서 JSON을 반환하는 가장 좋은 방법은 무엇인지 잘 모르겠습니다. 그래서 서블릿이 JSON을 HTML에 임베드 할 수있는 방법에 대한 실제 예제를 만들었습니다.

다음과 같은 단점이 있습니까? 이 방법을 어떻게 개선 할 수 있습니까?

  1. 서블릿 다음 written to the HTML document by JSP 것 요구 특성 등 JSON 포맷으로 데이터를 저장한다. JSON은 HTML 문서의 JavaScript 변수 에 저장됩니다.
  2. jsp (“forwarding to a view”)로 파견합니다.
  3. 사용자 정의 JavaScript는 HTML 문서의 내장 JSON에서 데이터를 가져 와서 표시합니다.

합니다 (의 doGet 메소드 몸에) 작업 예

서블릿

req.setAttribute("json", gson.toJson(article)); 
RequestDispatcher view = req.getRequestDispatcher("/WEB-INF/show.jsp"); 
view.forward(req, resp); 

JSP

<script> 
    var json = ${json}; 
    alert(JSON.stringify(json)); 
</script> 

답변

0

그것하지만 자바 서블릿에서 일한 오랜 시간이 나는 경우 생각 응답 개체의 MIME 형식을 "application/json"으로 설정하면 제대로 작동합니다.

나는이 게시물이 도움이되기를 바랍니다.

JSON response is returning as text

관련 문제