json으로 서버에 데이터 보내기

jinkyung·2021년 2월 4일
0

Ajax

목록 보기
2/8

json 받아오기

updateBatch.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="com.ajaxstudy.contact.domain.*" %>
<%@ page import="com.ajaxstudy.contact.util.*" %>
<%
	request.setCharacterEncoding("UTF-8");
	String status = "ok";
	String message = "";
	
	if(request.getMethod().equals("POST")){
		long no = 0;
		try{
			no = Long.parseLong(request.getParameter("no"));
		}catch(Exception e){
			System.out.println("번호를 정수로 변환할 수 없습니다");
			return;
		}
		String name = request.getParameter("name");
		String tel = request.getParameter("tel");
		String address = request.getParameter("address");
		
		if(name==null || name.equals("") ||
		   tel==null || tel.equals("")){
			status = "fail";
			message = "수정을 원하면 이름과 전화번호는 필수";
		}else{
			Contact c = new Contact(no, name, tel, address);
			int count = SampleDAO.updateContact(c);
			if(count == 1){
				status = "ok";
				message = "일련번호 " + c.getNo() + "번 데이터가 수정되었습니다";
			}else{
				status = "fail";
				message = "수정하려는 데이터가 존재하지 않습니다";
			}
		}
	}else{
		status = "fail";
		message = "POST 메서드만 지원합니다";
	}
%>
{
	"status":"<%=status%>",
	"message":"<%=message%>"
}

json으로 보내겠다.



ContactUpdateBatchServelt

package com.ajaxstudy.contact.servlets;

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 com.ajaxstudy.contact.domain.ContactList;
import com.ajaxstudy.contact.domain.Result;
import com.ajaxstudy.contact.util.Converter;
import com.ajaxstudy.contact.util.SampleDAO;


@WebServlet("/update_batch.do")
@SuppressWarnings("serial")
public class ContactUpdateBatchServelt extends HttpServlet {
	
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8"); 
		
		String status = "ok";
		String message = "";
		
		if(request.getMethod().equals("POST")){
			ContactList contactList = Converter.convertFromJsonStream(request.getInputStream(),ContactList.class);
			if(contactList == null){
				status="fail";
				message = "요청 정보 json 데이터 객체 변환 실패 ";
			}else{
				int count = SampleDAO.updateBatch(contactList);
				if(count>0){
					message = "총 " + count + "건의 업데이트 성공";
				}
			else {		
				status="fail";
				message="업데이트할 데이터가 존재하지 않습니다 ";
				}
			}
		}else {
			
			status="fail";
			message="POST 메서드만 지원합니다.";
			
		}
		
		Result result = new Result(status, message);
		String json = Converter.convertToJson(result);
		
		PrintWriter writer = response.getWriter();
		writer.println(json);
		
	}
}

0개의 댓글

관련 채용 정보