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)"값을 받았다!!!");
}




결과 화면 - 웹화면








결과화면 - 이클립스 












블로그 이미지

미나미나미

,