Eclipse package
(1) org.kh.ajax.model
package org.kh.ajax.model;
public class User {
private int userNo;
private String userName;
private String userAddr;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(int userNo, String userName, String userAddr) {
super();
this.userNo = userNo;
this.userName = userName;
this.userAddr = userAddr;
}
public int getUserNo() {
return userNo;
}
public void setUserNo(int userNo) {
this.userNo = userNo;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserAddr() {
return userAddr;
}
public void setUserAddr(String userAddr) {
this.userAddr = userAddr;
}
}
(2) org.kh.ajax.controller
1. Ajax 서버에 전송값 보내기
package org.kh.ajax.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class AjaxTest1Servlet
*/
@WebServlet(name = "AjaxTest1", urlPatterns = { "/ajaxTest1" })
public class AjaxTest1Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest1Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String msg = request.getParameter("msg");
System.out.println(msg);
}
/**
* @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);
}
}
2. 버튼 클릭 시 서버에서 보낸 값 사용자가 수신
package org.kh.ajax.controller;
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;
/**
* Servlet implementation class AjaxTest2Servlet
*/
@WebServlet(name = "AjaxTest2", urlPatterns = { "/ajaxTest2" })
public class AjaxTest2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest2Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String msg = "Hello World";
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print(msg);
}
/**
* @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);
}
}
3. 서버로 기본형 전송값을 보내고, 결과로 문자열을 받아서 처리
package org.kh.ajax.controller;
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;
/**
* Servlet implementation class AjaxTest3Servlet
*/
@WebServlet(name = "AjaxTest3", urlPatterns = { "/ajaxTest3" })
public class AjaxTest3Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest3Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int firstNum = Integer.parseInt(request.getParameter("firstNum"));
int secondNum = Integer.parseInt(request.getParameter("secondNum"));
int result = firstNum + secondNum;
//보낼때
PrintWriter out = response.getWriter();
out.print(result);
}
/**
* @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);
}
}
4. 서버로 object형 전송값 보내기
package org.kh.ajax.controller;
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;
/**
* Servlet implementation class AjaxTest4Servlet
*/
@WebServlet(name = "AjaxTest4", urlPatterns = { "/ajaxTest4" })
public class AjaxTest4Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest4Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String addr = request.getParameter("addr");
System.out.println(name+"/"+age+"/"+addr);
}
/**
* @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);
}
}
5. 서버로 기본형 데이터를 보내고, 결과로 객체를 받아서 처리
package org.kh.ajax.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.ArrayList;
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.simple.JSONObject;
import org.kh.ajax.model.User;
/**
* Servlet implementation class AjaxTest5Servlet
*/
@WebServlet(name = "AjaxTest5", urlPatterns = { "/ajaxTest5" })
public class AjaxTest5Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest5Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//DB라 생각!
ArrayList<User> list = new ArrayList<User>();
User user1 = new User(1, "홍길동1" ,"서울");
User user2 = new User(2, "홍길동2" ,"경기");
User user3 = new User(3, "홍길동3" ,"제주");
User user4 = new User(4, "홍길동4" ,"부산");
User user5 = new User(5, "홍길동5" ,"대구");
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);
int userNum = Integer.parseInt(request.getParameter("userNum"));
User user = list.get(userNum-1); //사용자가 1번 선택 -> 0번 인덱스 가져옴
//사용자가 편하게 하려고
JSONObject result = new JSONObject();
result.put("userNo", user.getUserNo());
result.put("userName", URLEncoder.encode(user.getUserName(), "UTF-8")); //한글처리때문에 인코딩(특수문자도가능)
result.put("userAddr", URLEncoder.encode(user.getUserAddr(), "UTF-8"));
//JSON을 넘길거라는 신호
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(result);
out.flush(); //버퍼링되어 아직 기록되지않은 데이터를 출력스트림에 모두 출력
out.close(); //출력되지않은 데이터가 있으면 먼저 출력하고 스트림을 닫음
}
/**
* @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);
}
}
6. 서버로 기본형 전송값을 보내고, 결과로 리스트 객체를 받아서 처리
package org.kh.ajax.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.ArrayList;
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.simple.JSONArray;
import org.json.simple.JSONObject;
import org.kh.ajax.model.User;
/**
* Servlet implementation class AjaxTest6Servlet
*/
@WebServlet(name = "AjaxTest6", urlPatterns = { "/ajaxTest6" })
public class AjaxTest6Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest6Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<User> list = new ArrayList<User>();
User user1 = new User(1, "홍길동1" ,"서울");
User user2 = new User(2, "홍길동2" ,"경기");
User user3 = new User(3, "홍길동3" ,"제주");
User user4 = new User(4, "홍길동4" ,"부산");
User user5 = new User(5, "홍길동5" ,"대구");
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);
int userNum = Integer.parseInt(request.getParameter("userNum"));
//리스트 타입 넘겨줄때
JSONArray userArray = new JSONArray();
if(userNum>=0 && userNum<=4) { //수학 부등식 안됨
JSONObject userinfo = new JSONObject();
User user = list.get(userNum);
userinfo.put("userNo", user.getUserNo());
userinfo.put("userName",URLEncoder.encode(user.getUserName(),"UTF-8"));
userinfo.put("userAddr",URLEncoder.encode(user.getUserAddr(),"UTF-8"));
userArray.add(userinfo);
}else {
for(User user : list) {
JSONObject userinfo = new JSONObject();
userinfo.put("userNo", user.getUserNo());
userinfo.put("userName",URLEncoder.encode(user.getUserName(),"UTF-8"));
userinfo.put("userAddr",URLEncoder.encode(user.getUserAddr(),"UTF-8"));
userArray.add(userinfo);
}
}
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(userArray);
out.flush();
out.close();
}
/**
* @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);
}
}
7. 여러 전송값을 보내고, 결과로 리스트를 받아서 처리
package org.kh.ajax.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.ArrayList;
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.simple.JSONArray;
import org.json.simple.JSONObject;
import org.kh.ajax.model.User;
/**
* Servlet implementation class AjaxTest7Servlet
*/
@WebServlet(name = "AjaxTest7", urlPatterns = { "/ajaxTest7.do" })
public class AjaxTest7Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest7Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<User> list = new ArrayList<User>();
User user1 = new User(1, "홍길동1" ,"서울");
User user2 = new User(2, "홍길동2" ,"경기");
User user3 = new User(3, "홍길동3" ,"제주");
User user4 = new User(4, "홍길동4" ,"부산");
User user5 = new User(5, "홍길동5" ,"대구");
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);
String userNum = request.getParameter("userNum");
JSONArray userArray = new JSONArray();
String [] userList = userNum.split(",");
//userList = [1,2,3]
for(int i = 0; i< userList.length; i++) {
if(Integer.parseInt(userList[i])>=0 && Integer.parseInt(userList[i])<=4){
JSONObject userInfo = new JSONObject();
User user = list.get(Integer.parseInt(userList[i])-1);
userInfo.put("userNo", user.getUserNo());
userInfo.put("userName", URLEncoder.encode(user.getUserName(),"UTF-8"));
userInfo.put("userAddr", URLEncoder.encode(user.getUserAddr(),"UTF-8"));
userArray.add(userInfo);
}
}
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(userArray);
out.flush();
out.close();
}
/**
* @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);
}
}
8. 여러 전송값을 보내고, 결과로 맵 객체를 받아서 처리
package org.kh.ajax.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.StringTokenizer;
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.simple.JSONObject;
import org.kh.ajax.model.User;
/**
* Servlet implementation class AjaxTest8Servlet
*/
@WebServlet(name = "AjaxTest8", urlPatterns = { "/ajaxTest8.do" })
public class AjaxTest8Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest8Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<User> list = new ArrayList<User>();
User user1 = new User(1, "홍길동1" ,"서울");
User user2 = new User(2, "홍길동2" ,"경기");
User user3 = new User(3, "홍길동3" ,"제주");
User user4 = new User(4, "홍길동4" ,"부산");
User user5 = new User(5, "홍길동5" ,"대구");
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);
String userNums = request.getParameter("userNum");
StringTokenizer sT = new StringTokenizer(userNums, ",");
ArrayList<Integer> userNum = new ArrayList<Integer>();
while(sT.hasMoreTokens()) {
userNum.add(Integer.parseInt(sT.nextToken())-1);
}
//userNum [1,3,5] -> userNum.get(0) -> 1
// userNum.get(1) -> 3
// userNum.get(2) -> 5
//JSON은 키 : value -> value에 JSON객체를 넣으면 map 형태
JSONObject map = new JSONObject();
int index =0;
while(index < userNum.size()) {
JSONObject userInfo = new JSONObject();
User user = list.get(userNum.get(index));
userInfo.put("userNo", user.getUserNo());
userInfo.put("userName",URLEncoder.encode(user.getUserName(),"UTF-8"));
userInfo.put("userAddr",URLEncoder.encode(user.getUserAddr(),"UTF-8"));
map.put(user.getUserName(), userInfo);
index++;
}
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(map);
out.flush();
out.close();
}
/**
* @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);
}
}
9. 서버 유저 정보 테이블로 표현하기
package org.kh.ajax.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.ArrayList;
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.simple.JSONArray;
import org.json.simple.JSONObject;
import org.kh.ajax.model.User;
/**
* Servlet implementation class AjaxTest9Servlet
*/
@WebServlet(name = "AjaxTest9", urlPatterns = { "/ajaxTest9.do" })
public class AjaxTest9Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest9Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<User> list = new ArrayList<User>();
User user1 = new User(1, "홍길동1" ,"서울");
User user2 = new User(2, "홍길동2" ,"경기");
User user3 = new User(3, "홍길동3" ,"제주");
User user4 = new User(4, "홍길동4" ,"부산");
User user5 = new User(5, "홍길동5" ,"대구");
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);
JSONArray userArray = new JSONArray();
// JSONObject userInfo = null;
for(User user : list) {
JSONObject userInfo = new JSONObject();
userInfo.put("userNo", user.getUserNo());
userInfo.put("userName",URLEncoder.encode(user.getUserName(),"UTF-8"));
userInfo.put("userAddr",URLEncoder.encode(user.getUserAddr(),"UTF-8"));
userArray.add(userInfo);
}
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(userArray);
out.flush();
out.close();
}
/**
* @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);
}
}
10. GSON을 이용한 LIST반환
package org.kh.ajax.controller;
import java.io.IOException;
import java.util.ArrayList;
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.kh.ajax.model.User;
import com.google.gson.Gson;
/**
* Servlet implementation class AjaxTest10Servlet
*/
@WebServlet(name = "AjaxTest10", urlPatterns = { "/ajaxTest10.do" })
public class AjaxTest10Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest10Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArrayList<User> list = new ArrayList<User>();
User user1 = new User(1, "홍길동1" ,"서울");
User user2 = new User(2, "홍길동2" ,"경기");
User user3 = new User(3, "홍길동3" ,"제주");
User user4 = new User(4, "홍길동4" ,"부산");
User user5 = new User(5, "홍길동5" ,"대구");
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
list.add(user5);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
new Gson().toJson(list,response.getWriter()); // list가 json으로 바껴서 넘어감!
// User user = new User();
// user.getUserName();
// new User().getUserName(); // 단 한번만 사용하는경우 이렇게도 쓸수있음!
//
}
/**
* @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);
}
}
11. GSON을 이용한 MAP반환
package org.kh.ajax.controller;
import java.io.IOException;
import java.util.HashMap;
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.kh.ajax.model.User;
import com.google.gson.Gson;
/**
* Servlet implementation class AjaxTest11Servlet
*/
@WebServlet(name = "AjaxTest11", urlPatterns = { "/ajaxTest11.do" })
public class AjaxTest11Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AjaxTest11Servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user1 = new User(1, "홍길동1" ,"서울");
User user2 = new User(2, "홍길동2" ,"경기");
User user3 = new User(3, "홍길동3" ,"제주");
User user4 = new User(4, "홍길동4" ,"부산");
User user5 = new User(5, "홍길동5" ,"대구");
HashMap<String, User> map = new HashMap<String,User>();
map.put(user1.getUserName(), user1);
map.put(user2.getUserName(), user2);
map.put(user3.getUserName(), user3);
map.put(user4.getUserName(), user4);
map.put(user5.getUserName(), user5);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
Gson gson = new Gson();
gson.toJson(map,response.getWriter());
}
/**
* @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);
}
}
(3)view
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="/WEB-INF/views/common/header.jsp" %>
<section>
<div class="container" style="color:black">
<h3>1. Ajax 서버에 전송값 보내기</h3>
<input type = "text" class="form-control" id="msg1">
<button class="btn btn-primary" onclick="jsFunction();">JS로 보내기</button><br>
<button id = "JQ1" class="btn btn-danger">JQuery로 보내기</button>
<br><hr><br>
<h3>2. 버튼 클릭 시 서버에서 보낸 값 사용자가 수신</h3>
<button id="JQ2" class="btn btn-info">서버에서 보낸 값</button>
<p id ="p2" class="border border-info"></p><br><hr>
<h3>3. 서버로 기본형 전송값을 보내고, 결과로 문자열을 받아서 처리</h3>
<p>두개의 숫자 값을 보내고 더한 값을 받아옴</p>
첫번째 숫자 : <input type="text" id="firstNum"><br>
두번째 숫자 : <input type="text" id="secondNum"><br>
<button class="btn btn-info" id="JQ3">실행</button>
<p id="p3" class="border border-info"></p><br><hr>
<h3>4. 서버로 Object 형 전송값 보내기</h3>
이름 : <input type = "text" id="name"><br>
나이 : <input type = "text" id="age"><br>
주소 : <input type = "text" id="addr"><br>
<button class="btn btn-info" id="JQ4">실행</button><br><hr>
<h3>5. 서버로 기본형 데이터를 보내고, 결과로 객체를 받아서 처리</h3>
<p>JSON을 사용</p>
유저 번호 입력 : <input type="text" id="userNum"><br>
<button class="btn btn-info" id="JQ5">실행</button><br>
<p id="p5" class="border border-info"></p><br><hr>
<h3>6.서버로 기본형 전송값을 보내고, 결과로 리스트객체를 받아서 처리</h3>
<p>JSON객체이용</p>
<p>유저번호 보내서 해당 유저 정보 가져오기 -> 없는 경우 전체 리스트 가져오기</p>
유저번호 입력 : <input type="text" id ="userNum2"><br>
<button class="btn btn-info" id="JQ6">실행</button><br>
<p id="p6" class="border border-info"></p><br><hr>
<br><hr>
<h3>7. 여러 전송값을 보내고, 결과로 리스트를 받아서 처리</h3>
유저번호입력(번호,번호,번호) : <input type="text" id="userNum3"><br>
<button class="btn btn-info" id="JQ7">실행</button><br>
<p id="p7" class="border border-info"></p><br><hr>
<h3>8. 여러 전송값을 보내고, 결과로 맵 객체를 받아서 처리</h3>
유저번호입력(번호,번호,번호) : <input type="text" id="userNum4"><br>
<button class="btn btn-info" id="JQ8">실행</button><br>
<p id="p8" class="border border-info"></p><br><hr>
<h3>9. 서버 유저 정보 테이블로 표현하기</h3>
<button class="btn btn-info" id="JQ9">실행</button><br>
<table id ="userTbl" class="table">
<thead>
<tr>
<th>번호</th>
<th>이름</th>
<th>주소</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<hr>
<h3>10. GSON을 이용한 LIST반환</h3>
<p>GSON사용</p>
<button class="btn btn-info" id="JQ10">실행</button><br>
<select id="select10"></select>
<hr>
<h3>11. GSON을 이용한 MAP반환</h3>
<p>GSON사용</p>
<button class="btn btn-info" id="JQ11">실행</button><br>
<select id="select11"></select>
</div>
</section>
<script>
function jsFunction(){
//1. XMLHttpRequest 객체 생성
var xhttp = new XMLHttpRequest();
var msg = document.getElementById("msg1").value;
//2. 요청정보 설정 ( 어느 servlet에 보낼지)
xhttp.open("GET","/ajaxTest1?msg="+msg,true);
//3. 데이터 처리에따라 작동 할 함수 설정
xhttp.onreadystatechange = function(){
if(this.readyState==4 && this.status == 200){ //정상처리된 경우
console.log("서버 전송 성공");
}else if(this.readyState==4 && this.status == 404){
console.log("서버 전송 실패")
}
}
//서버에 요청
xhttp.send();
}
$("#JQ1").click(function(){
var message = $("#msg1").val();
$.ajax({
url : "/ajaxTest1",
data : {msg:message},
type : "get",
success : function(){
console.log("서버 전송 성공");
},
error : function(){
console.log("서버 전송 실패");
},
complete : function(){
console.log("무조건 호출");
}
});
});
$("#JQ2").click(function(){
//보내 줄 데이터가 없을 때 바로 시작
$.ajax({
url : "/ajaxTest2",
type : "get",
success : function(data){ //data 매개변수
$("#p2").html(data);
},
error : function(data){
console.log("실패")
},
});
});
$("#JQ3").click(function(){
// input 값이 있었을때 변수를 써 줘야함
var firstNum = $("#firstNum").val();
var secondNum = $("#secondNum").val();
$.ajax({
url : "/ajaxTest3",
type : "get",
data : {firstNum:firstNum, secondNum:secondNum},
success : function(data){
$("#p3").html(data);
},
error : function(){
console.log("실패")
}
});
});
$("#JQ4").click(function(){
var name = $("#name").val();
var age = $("#age").val();
var addr = $("#addr").val();
var student = {name:name, age:age, addr:addr};
$.ajax({
url : "/ajaxTest4",
type : "get",
data : student, //{}자바스크립트에서 객체임 / 여기는 객체만 써주면됨
success : function(){
console.log("성공");
}
});
});
$("#JQ5").click(function(){
var userNum = $("#userNum").val();
$.ajax({
url : "/ajaxTest5",
type : "get",
data : {userNum:userNum},
success : function(data){
var userNo = data.userNo;
var userName = decodeURIComponent(data.userName); //인코딩해서 넘어온거 디코딩
var userAddr = decodeURIComponent(data.userAddr);
$("#p5").html('유저번호 : ' + userNo + "<br>" + "유저이름 : "
+ userName + "<br>" + "유저주소 : " + userAddr);
}
});
});
$("#JQ6").click(function(){
var userNum = $("#userNum2").val();
$.ajax({
url:"/ajaxTest6",
type : "get",
data : {userNum:userNum},
success : function(data){
var resultText="";
for(var i=0; i<data.length; i++){
var userNo = data[i].userNo;
var userName = decodeURIComponent(data[i].userName);
var userAddr = decodeURIComponent(data[i].userAddr);
resultText += "유저번호 : " +userNo+ "/유저이름 : " +userName+
"/유저주소 : " +userAddr+"<br>";
}
$("#p6").html(resultText);
}
});
});
$("#JQ7").click(function(){
var userNum = $("#userNum3").val();
$.ajax({
url : "/ajaxTest7.do",
type : "get",
data : {userNum:userNum},
success : function(data){
var resultText="";
for(var i=0; i<data.length; i++){
var userNo = data[i].userNo;
var userName = decodeURIComponent(data[i].userName);
var userAddr = decodeURIComponent(data[i].userAddr);
resultText += "유저번호 : " +userNo+ "/유저이름 : " +userName+
"/유저주소 : " +userAddr+"<br>";
}
$("#p7").html(resultText);
}
});
});
$("#JQ8").click(function(){
var userNum = $("#userNum4").val();
$.ajax({
url : "/ajaxTest8.do",
type : "get",
data : {userNum : userNum},
success : function(data){
var resultText ="";
var keys = Object.keys(data); // 키 값만 추출!
for(var i =0; i<keys.length; i++){
var userNo = data[keys[i]].userNo; //keys안에 담아놔서
var userName = decodeURIComponent(data[keys[i]].userName);
var userAddr = decodeURIComponent(data[keys[i]].userAddr);
resultText += "유저번호 : " +userNo+ "/유저이름 : " +userName+
"/유저주소 : " +userAddr+"<br>";
}
$("#p8").html(resultText);
}
});
});
$("#JQ9").click(function(){
$.ajax({
url : "/ajaxTest9.do",
type : "get",
success : function(data){
var tbody = $("#userTbl tbody");
for(var i=0; i<data.length; i++){
var tr = $("<tr>");
var noTd = $("<td>").html(data[i].userNo);
var nameTd = $("<td>").html(decodeURIComponent(data[i].userName));
var addrTd = $("<td>").html(decodeURIComponent(data[i].userAddr));
tr.append(noTd).append(nameTd).append(addrTd);
tbody.append(tr);
}
}
});
});
$("#JQ10").click(function(){
$.ajax({
url : "/ajaxTest10.do",
type : "get",
success : function(data){
var select = $("#select10");
for(var index in data){ // Java의 foreach문과 동일
var option = $("<option>");
option.html(data[index].userName);
select.append(option);
}
}
});
});
$("#JQ11").click(function(){
$.ajax({
url : "/ajaxTest11.do",
type : "get",
success : function(data){
var select = $("#select11");
for(var key in data){
var option = $("<option>");
option.html(data[key].userName);
select.append(option);
}
}
});
});
</script>
</body>
</html>
'이공계전문기술연수 > Servlet | JSP' 카테고리의 다른 글
<이공계기술전문연수> 16. Servlet / JSP API 실습 (0) | 2019.11.22 |
---|---|
<이공계기술전문연수> 14. Servlet / JSP MVC2 실습(6) 사진등록(ajax) (0) | 2019.11.21 |
<이공계기술전문연수> 13. Servlet / JSP MVC2 실습(5) 공지사항 (0) | 2019.11.21 |
<이공계기술전문연수> 12. Servlet / JSP MVC2 실습(4) 아이디찾기 / 비밀번호찾기 / 아이디 중복체크 (2) | 2019.11.20 |
<이공계기술전문연수> 11. Servlet / JSP MVC2 실습(3) 회원정보 수정/회원 탈퇴/마이 페이지 / 회원 전체 관리 / 회원 정보 검색 (0) | 2019.11.20 |