


자바 형식으로 표현 한 것을 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