@WebServlet("/jqAjax")
public class jqAjax extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
String msg1 = request.getParameter("msg1");
String msg2 = request.getParameter("msg2");
Message message = new Message(msg1,msg2);
JSONObject jobj = new JSONObject(message);
PrintWriter out = response.getWriter();
// out.print("msg1 : " + msg1);
// out.print("<br>msg2 : " + msg2);
out.print(jobj.toString());
}
}
public class Message {
private String msg1;
private String msg2;
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="jquery/jquery-3.7.0.js"></script>
</head>
<body>
<div class="result"></div>
<hr>
<input type="text" class="txt1">
<input type="text" class="txt2">
<button onclick="run()">데이터 가져오기</button>
<script type="text/javascript">
function run(){
$.ajax({
url:"jqAjax",
type:"get",
data:{
msg1 : $(".txt1").val(),
msg2 : $(".txt2").val()
},
dataType: "text",
success: function(data){
let msg = JSON.parse(data);
$(".result").html("msg1 :" + msg.msg1 +"<br>msg2 :" + msg.msg2);
}
});
}
</script>
</body>
</html>
JSONObject jobj에
jobj.put("msg",message);
이 코드를 이용해 객체를 보내더라도 키를 이용해
객체안의 msg1, msg2에 접근할 방법이 없다.