모든 HTTP 요청 (동기 및 비동기)에 대해 Java 서블릿이 JSON을 클라이언트 측에 일관성있게 반환하고 싶습니다. 이 방법으로 모든 프리젠 테이션 로직을 클라이언트 측 (html/css/js)으로 푸시하고 HTML에서 JSP 태그를 최소화 할 수 있습니다.자바 서블릿이 동기 HTTP 요청에서 JSON을 반환합니다.
서블릿이 Ajax 요청을 처리하는 방법을 알고 있습니다. 하지만 요청에서 JSON을 반환하는 가장 좋은 방법은 무엇인지 잘 모르겠습니다. 그래서 서블릿이 JSON을 HTML에 임베드 할 수있는 방법에 대한 실제 예제를 만들었습니다.
다음과 같은 단점이 있습니까? 이 방법을 어떻게 개선 할 수 있습니까?
- 서블릿 다음 written to the HTML document by JSP 것 요구 특성 등 JSON 포맷으로 데이터를 저장한다. JSON은 HTML 문서의 JavaScript 변수 에 저장됩니다.
- jsp (“forwarding to a view”)로 파견합니다.
- 사용자 정의 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>