[javascript]
jsp servlet(서블렛)를 통한 ajax, JsonObject, JsonObject key value 편
미나미나미
2018. 4. 21. 23:09
jsp servlet(서블렛)를 통한 ajax, JsonObject, JsonObject key value 편
1. 서블렛 만드는 과정
1-1 이클립스 servlet을 생성합니다.
1-2 이클립스 servlet을 생성할 때,
아래에 jsonSendServlet이라는 이름으로
json 값을 보내줄 것임으로 아래처럼 만들어 줍니다.
function jsonSend(test) {
$.ajax({
type: "POST",
url: "/TistoryExample/jsonSendServlet",
data: test, //json을 보내는 방법
dataType: 'json',
success: function (data) { //서블렛을 통한 결과 값을 받을 수 있습니다.
alert(data);
},
error: function (e) {
alert('저장에 실패했습니다.');
}
});
}
Next 해서 설정을 아시는 분만 건드시고 모르시면 Finish를 눌러주세요
1-3 만들어진 서블렛에서 필요한 부분을 추가합니다.
//추가 import
import java.io.PrintWriter;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
1-4 doget , doPost 메소드 주석 및 제가합니다. (왜냐하면 Post만 사용하기때문)
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// 아래 부분을 주석처리
// 왜냐하면 doGet를 사용하지는 않지만 일단 둡시다.
//response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
}
1-5 그리고 doPost 부분에 이렇게 넣어줍니다.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("jsonSendServlet doPost 메소드가 실행되었습니다.");
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String A = (String)request.getParameter("A");
String B = (String)request.getParameter("B");
String C = (String)request.getParameter("C");
String D = (String)request.getParameter("D");
System.out.println("A => " + A);
System.out.println("B => " + B);
System.out.println("C => " + C);
System.out.println("D => " + D);
//response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print((String)"값을 받았다!!!");
}
결과 화면 - 웹화면
결과화면 - 이클립스