Jsp Ajax 활용


1. Ajax 활용 calculate


<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Ajax 계산기</title>
<script type="text/javascript"
	src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script type="text/javascript">

	$(function(){
		$('#btn').click(function(){

			$.ajax({
				data: $('form').serialize(),  // $('form').serialize을 통해 데이터 보내기  // form 아이디로도 가능
        //{ op1 : $('#op1').val() , op2 : $('#op2').val() , opr : $('#opr').val() },
				type: 'get',
				url : './jsp/calc-action.jsp',
				success: function(res){
					$('#result').text(res)
				},
				error : function(e){
					alert('에러'+e)
				},
				dataType : 'text'			  // 받아 올 데이터 타입		
			})

			return false;	// return false => 기존의 submit 이벤트 기능 막음
		})

	})

</script>

</head>
<body>

	<form action="./jsp/calc-action.jsp" method="get">
	<input name="op1" id='op1' size="3">
	<select name="opr" id='opr'>
		<option>+</option>
		<option>-</option>
		<option>*</option>
		<option>/</option>
		<option>%</option>
	</select>
	<input name="op2" id='op2' size="3">
	<input type="submit" id='btn' value=" = ">
	</form>
	<fieldset>
		<legend>실행결과</legend>
		<div id="result"></div>
	</fieldset>

</body>
</html>


  • calc_action.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

// param => param일는 객체를 통해 전송받아온 json데이터에 접근
// param => 기본객체
${param.op1 }+${param.op2 }


  • calc_form-json.html

json 구조 처리하기

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Ajax 계산기 JSON</title>
<script type="text/javascript"
	src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script type="text/javascript">

	$(function(){
		$('#btn').click(function(){

			$.ajax({
				data: $('form').serialize(),
				type: 'get',
				url : './jsp/calc-action-json.jsp',
				success: function(res){
					$('#result').text(res.result);	// res.result => 받아온 json데이터에 접근
				},
				error : function(e){
					alert('에러'+e)
				},
				dataType : 'json'		// 받아 올 타입 json  // 이번엔 서버에서 진짜 json형식으로 전송되어짐			
			})

			return false;	// return false => 기존의 submit 이벤트 기능 막음
		})

	})

</script>		

</head>
<body>

	<form action="./jsp/calc-action.jsp" method="get">
	<input name="op1" id="op1" size="3">
	<select name="opr" id="opr" >
		<option>+</option>
		<option>-</option>
		<option>*</option>
		<option>/</option>
		<option>%</option>
	</select>
	<input name="op2" id="op2" size="3">
	<input type="submit" id='btn' value=" = ">
	</form>
	<fieldset>
		<legend>실행결과</legend>
		<div id="result"></div>
	</fieldset>

</body>
</html>


  • calc-action-json.jsp
<%@ page language="java" contentType="application/json; charset=UTF-8"
    pageEncoding="UTF-8"%>

    {
    	"op1":${param.op1},
    	"op2":${param.op2},
    	"opr": "${param.opr}",
    	"result":${param.op1 + param.op2}
    }


  • IdForm.html

Ajax 활용 아이디 중복체크 검사 JDBC의 경우 원래는 JAVA(DAO)에서 따로 처리함

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>아이디 중복 검사</title>
<script type="text/javascript"
	src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script type="text/javascript">
	$(function() {

		$('#id_check').click(function() {

			var data = { userid : $('#userinput').val() }

			$.ajax({
				type : 'post',
				data : data,
				url : "IdCheck.jsp",
				success : function(res) {
					if(res.trim() == "YES"){	// 공백처리 해주어야 함
						$('#idmessage').text("이미 사용중인 아이디입니다");

					}else{
						$('#idmessage').text("사용 가능한 아이디입니다.");
					}
				},
				dataType : 'text'
			})
		})

	})
</script>

</head>
<body>

	<input name="id" type="text" class="userinput" id='userinput' size="15" />
	<button type="button" id="id_check">중복체크</button>
	<br />
	<br />
	<div id="idmessage" style="display:show;"></div>

</body>
</html>
  • IdCheck.jsp
<%@ page contentType="text/xml; charset=utf-8" %>
<%@ page language="java" import="java.sql.*"%>

<%
String driver="oracle.jdbc.driver.OracleDriver";
String user="KIHYUK";
String pass="3927";
String dbURL="jdbc:oracle:thin:@192.168.0.216:1521:orcl";


	Class.forName(driver);
	Connection connection=DriverManager.getConnection(dbURL,user,pass);

	String sql = "select * from mem_team where ID='" + request.getParameter("userid")+"'";
	System.out.println(sql);
	Statement stmt = connection.createStatement();
	ResultSet rs = stmt.executeQuery(sql);		

	String result="NO";
	if (rs.next()){		
		result = "YES";
	}		
	out.print(result);
%>