(JSP) System.out.println()과 out.println()의 차이점 / Ajax를 통해 데이터가 오지 않는 경우

구현하려는 것

아이디를 입력하지 않고 중복체크를 클릭하면

  • 경고 ‘ID를 입력하세요’

아이디를 입력하고 중복확인을 누르면

  • 이미 DB에 아이디가 입력되어 있는 경우 중복 확인 지역에서’이미 사용 중
  • DB에 ID가 입력되지 않은 상태에서 사용 가능한 경우 중복 확인 지역에서’사용이 가능하다


=> 궁극적인 목표: ID 중복 체크 수행.


작동하지 않는 부분

값은 콘솔에 정상적으로 출력되지만 데이터 값이 정상적으로 수신되지 않아서 success부터 else까지의 모든 값을 처리하므로 중복 체크가 정상적으로 처리되지 않습니다.


디버깅 화면

콘솔 화면


왜 안 돼

요청 URL “id_check_proc.jsp”값을 던질 때

out.println(결과); 아니다 System.out.println(결과);평소에는 그냥 콘솔에 값이 출력되었으나 화면에 값이 전달되지 않아 데이터가 전달되지 않았습니다.

<%@page import="myPkg.MovieDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%
	String userid = request.getParameter("userid");
	System.out.println("userid : "+ userid);
	
	MovieDao mdao = new MovieDao();
	String checkResult = mdao.searchId(userid);//사용자가 입력한 userid가 db에 있는지 확인해야하기 때문에 userid를 넘김
	
	System.out.println("checkResult : "+ checkResult);
	String result = "";
	if(checkResult.equals("YES")){//F -> DB에 값이 없어, 사용가능함
		result = "YES";
		//System.out.println(result); //이클립스 콘솔에 출력되어서 data값이 안들어옴
		out.println(result);//웹 화면에 출력됨
	}else{//T -> DB에 값이 이미 있다.
		result = "NO";
		//System.out.println(result);
		out.println(result);//웹 화면에 출력됨
	}
%>


System.out.println->out.println 변경시 디버그 화면

졸업 증서

  • System.out.println() : 콘솔에 출력
  • out.println() : 웹 화면에 출력

따라서 ajax를 통해 데이터를 전달하려는 경우

System.out.println() (X)

from.println() (영형)