- Ajax로 보낸 JSON 데이터 서블릿(Servlet)으로 받아오기
화면에서 Ajax POST로 데이터를 보냈는데, Servlet에서 null이 떴다.
→ 해당 프로젝트는 Spring을 사용하지 않고 Servlet으로만 구성되고 있다.
보낼 데이터를 객체가 아니라 JSON 형태로 변경하였고, Servlet 쪽에서도 JSON 파싱 구문을 넣어줬다.
//JSON Parsing
StringBuffer jb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jb.append(line);
} catch (Exception e) {/* report an error */ }
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(jb.toString());
long id = element.getAsJsonObject().get("id").getAsLong();
String type = element.getAsJsonObject().get("type").getAsString();
- JSON 인코딩 깨짐 해결방법
JSON으로 값은 잘 넘어온 듯 하나, 데이터의 인코딩이 깨졌다.
// request의 인코딩을 지정해준다.
request.setCharacterEncoding("UTF-8");