


자바 형식으로 표현 한 것을 JSON이라고 한다.
자바스크립트 객체
let user2 ={ name:"Khan" , age:50};
만들고
let str = JSON.stringify(user);
undefined
str
'{"name":"James","age":20}'
이게 문자열로 만드는 법
et jstr = '{"name": "홍길동","age":32}';
undefined
jstr;
'{"name": "홍길동","age":32}'
let jobj = JSON.parse(jstr);
undefined
jobj;
{name: '홍길동', age: 32}
jobj.name;
'홍길동'
feedback!!!!
<%@ 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>
</head>
<body>
<button onclick="loadDoc()" id="btn">실행</button>
<div id="demo"></div>
<script>
const btn = document.querySelector("#btn");
btn.addEventListener("click", loadDoc);
function loadDoc() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
let json = this.responseText;
let obj = JSON.parse(json);
document.getElementById("demo").innerHTML = obj.name+"<br>" + obj.age+ "<br>" + obj.tel;
}
//xhttp.open("GET", "feedback?name=Kane&age=20&tel=010-1111-1111", true);
xhttp.open("POST","feedback",true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("name=Hue&age=20&tel=010-2222-3333"); //post방식으로 할거면 send()안에 뭐를 넣어줘야한다.
}
</script>
</body>
</html>
servelt
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
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 org.json.JSONObject;
import Test.UserBean;
@WebServlet("/feedback")
public class FeedBackServelt 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"); request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); String tel = request.getParameter("tel"); UserBean user = new UserBean(name, age, tel); JSONObject jobj = new JSONObject(user); out.print(jobj); // out.print("Love_for_die"); //out.print("{\\"name\\":\\"James\\",\\"age\\":20}"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); String tel = request.getParameter("tel"); UserBean user = new UserBean(name, age, tel); JSONObject jobj = new JSONObject(user); out.print(jobj); }
}
JSONSERvlet
<%@ 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>
</head>
<body>
<button onclick="loadDoc()" id="btn">실행</button>
<hr>
<div id="demo"></div>
<script>
const btn = document.querySelector("#btn");
btn.addEventListener("click", loadDoc);
function loadDoc() {
const xhttp = new XMLHttpRequest();
let user = {
name : "Hong",
age : 32,
tel : "010-3333-4444"
}
let juser = JSON.stringify(user);
xhttp.onload = function() {
// let json = this.responseText;
// let obj = JSON.parse(json);
document.getElementById("demo").innerHTML = this.responseText; //"이름:" + obj.name
// + "|" + "나이:" + obj.age + "|" + "전화번호:" + obj.tel;
}
xhttp.open("POST", "FeedBackJson", true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send(juser);
}
</script>
</body>
</html>
feedbackJSONServlet
package servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
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 org.json.JSONObject;
import DAO.UserDao;
import Test.UserBean;
@WebServlet("/FeedBackJson")
public class FeedBackJsonServelt 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"); request.setCharacterEncoding("UTF-8"); JSONObject user02 = new JSONObject(new UserBean("Ann", 27, "010-1111-1111")); PrintWriter out = response.getWriter(); out.print(user02); // out.print("{\\"name\\":\\"Ann\\",\\"age\\":27}"); // "{name":"Ann","age":27,"tel":"010-1111-1111"}" } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); request.setCharacterEncoding("UTF-8");
// JSONObject user02 = new JSONObject(new UserBean("Ann", 27, "010-1111-1111"));
// out.print(user02);
PrintWriter out = response.getWriter(); BufferedReader br = request.getReader(); String jstr = br.readLine(); JSONObject jobj = new JSONObject(jstr); String name = (String) jobj.get("name"); Integer age = (Integer) jobj.get("age"); String tel = (String) jobj.get("tel"); UserBean user = new UserBean(name, age, tel); UserDao dao = new UserDao(); int result = dao.inserta(user); if (result == 1) { out.print("success!!!"); } else { out.print("실패"); } }
}
Share article