ANDROID
json으로 안드로이드 에뮬 회원가입
장꾸꾸
2020. 12. 29. 16:47
**기존에 쓰던 Join.do(JoinService.java)에서 android로 response를 보내면 404 오류가 뜬다.
그건 원래 쓰던 constrollerAction이 response를 무조건 해당 페이지로 보내게 세팅되어 있기 때문에
그래서 Servlet을 하나 더 만들어줘야 한다. response에 JSON만 String으로 넣을거니까**
package com.android.service;
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;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import com.login.dao.LoginDAO;
import com.login.dto.LoginDTO;
@WebServlet(name = "androidJoinServlet", urlPatterns = { "/androidJoin.do" })
public class androidJoinServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
////////////////////////////////////
System.out.println("안드로이드 회원가입 service");
////////////////////////////////////
String id=request.getParameter("id");
String pass=request.getParameter("join_pass");
String name=request.getParameter("name");
String phone=request.getParameter("phone");
LoginDTO dto=new LoginDTO();
dto.setMid(id);
dto.setMpw(pass);
dto.setMname(name);
dto.setMphone(phone);
// insert DB
LoginDAO dao=new LoginDAO();
// dao 성공 1, 실패 0
int n=dao.registration(dto);
request.setAttribute("n", n);
JSONObject loginCk = new JSONObject();
JSONArray arr = new JSONArray();
if(n==1) {
System.out.println("회원가입 성공");
loginCk.put("result", "ok");
}else {
System.out.println("회원가입 실패");
loginCk.put("result", "nk");
}
response.setContentType("application/x-json; charset=UTF-8");
System.out.println(loginCk.toString());
response.getWriter().print(loginCk.toString());
}
}
안드로이드 파일(JoinActivity.java)은 경로를 다음과 같이 변경해준다.
데이터가 잘 들어가고 response가 JSON으로 들어오는 것을 확인