728x90
반응형
model2 방식에서 뷰는 jsp페이지를 가장 많이 사용하지만 jsp가 아닌 json 이나 xml등의 문자 포맷 방식도 가능하다. 다음의 예는 컨트롤러 레이어(servlet)에서 뷰를 json포맷방식으로 보내는 방법이다. json방식이나 xml방식의 뷰는 html페이지에서 ajax방식으로 읽을 수도 있고, 스마트폰의 앱에서도 읽을 수 있다.
-
package controller;
-
-
import java.io.IOException;
-
import java.io.PrintWriter;
-
import java.util.ArrayList;
-
-
import javax.servlet.ServletException;
-
import javax.servlet.annotation.WebServlet;
-
import javax.servlet.http.HttpServlet;
-
import javax.servlet.http.HttpServletRequest;
-
import javax.servlet.http.HttpServletResponse;
-
-
import com.google.gson.Gson;
-
-
import domain.User;
-
-
@WebServlet("/JSONController")
-
public class JSONController extends HttpServlet {
-
private static final long serialVersionUID = 1L;
-
-
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
response.setCharacterEncoding("utf-8");
-
response.setContentType("application/json");
-
-
// 문자열 타입
-
// String str = "안녕하세요";
-
// 배열 타입
-
// int[] arr = {1,2,3,4,5};
-
// 객체 타입
-
// User user = new User(0,"guest");
-
// 컬렉션 타입
-
list.add(new User(1,"ruffy"));
-
list.add(new User(2,"zoro"));
-
list.add(new User(3,"nami"));
-
-
Gson gson = new Gson();
-
// String jsonStr = gson.toJson(str);
-
// String jsonArr = gson.toJson(arr);
-
// String jsonUser = gson.toJson(user);
-
-
// System.out.println(jsonStr);
-
// System.out.println(jsonArr);
-
// System.out.println(jsonUser);
-
// System.out.println(jsonList);
-
-
// out.write(str);
-
// out.write(arr);
-
// out.write(user);
-
out.write(jsonList);
-
out.flush();
-
out.close();
-
}
-
-
protected void doPost(HttpServletRequest request, HttpServletaResponse response) throws ServletException, IOException {
-
doGet(request, response);
-
}
-
-
}
ajax요청으로 json 응답받기
-
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-
<!DOCTYPE html>
-
<html>
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
<title>Insert title here</title>
-
-
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
-
<script type="text/javascript">
-
$('button').on('click',function(){
-
-
/* $.ajax({
-
url:'/view_test/JSONController',
-
type:'POST',
-
success:function(data){
-
alert(data);
-
}
-
}); */
-
-
});
-
});
-
});
-
});
-
</script>
-
-
</head>
-
<body>
-
<button>User목록</button>
-
<div>
-
</div>
-
</body>
-
</html>
728x90
반응형
'Chart 라이브러리 > FLOT차트개발수집자료' 카테고리의 다른 글
FLOTCHART Y축 콤마 찍기, 날짜형식 설정 (0) | 2014.09.11 |
---|---|
Spring jsp Ajax 적용 문제 (0) | 2014.08.27 |
[java] HashMap 업그레이드 ! 순서 있는 HashMap ! LinkedHashMap 이란 ?? (3) | 2014.08.20 |
Java HashMap은 어떻게 동작하는가? (0) | 2014.08.19 |
jQuery를 이용한 Ajax + json (0) | 2014.08.19 |
FLOT 차트 개발중검색 (0) | 2014.08.19 |
jquery ajax get, post, json, xml, async (0) | 2014.08.19 |
jQuery ajax 자세한 사용방법 (0) | 2014.08.19 |