Data Scientist 옌

매일 발전하는 IT문제해결사

국비지원교육 (22.01-22.07)/강의노트

22-04-13(수) 053일차 [Oracle, HTML, JavaScript] 데이터 받기, 로그인 페이지 만들기

옌炎 2022. 6. 3. 12:10
728x90

수업내용


1교시 (09:30-10:20)

  • 지난 시간 복습
  • checkbox_js.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CHECKBOX TAG</title>

<!-- CDN -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">

	//체크박스 체크 함수
	function checkOnly(chk){
		
		alert("checkOnly chk >>> : " + chk);
		
		var chkObj = document.getElementsByName("mnumCheck");
		alert("chkObj >>> : " + chkObj);
		console.log("chkObj >>> : " + chkObj);
		
		for (var i=0; i < chkObj.length; i++){
			
			if (chkObj[i] != chk){
				chkObj[i].checked = false;
			}
		}
	}
	
	$(document).ready(function(){
		
		// 체크박스 
		function chkInfo(){			
			
			var obj = document.getElementsByName("mnumCheck");
			var nCnt = 0;			
			
			for(var i=0; i < obj.length; i++){ 
	          	
				if (obj[i].checked == true){ 
	          		nCnt++;
	          	}		          			            
	        }			
			console.log('nCnt >>> : ' + nCnt);			
			
			return nCnt;
		}
		
		// 수정 		
		$("#U").click(function(){			
			
			alert("U");
			
			var nCnt = chkInfo();			
			
			if (nCnt == 0){	
				alert("체크박스 체크하세요");
			}else{				
				alert("어디로 보낼까요 ");
			}		
		});
		
		// 삭제 
		$("#D").click(function(){			
			
			alert("D");
			
			var nCnt = chkInfo();
			
			if (nCnt == 0){	
				alert("체크박스 체크하세요");
			}else{	
				alert("어디로 보낼까요 ");
			}					
		});		
	});
</script>
<style type="text/css">

	table {
		border: 1px solid blue;
		width: 300px;
		height: 50px;
		margin: 5px auto;
		text-align: center;
	}
	
	h3,hr {
		text-align: center;
	}
</style>
</head>
	<body>
		<div class="wrap">
			<h3>CHECKBOX TAG</h3>
			<hr>	
			<form name="check_form_1" id="check_form_1">
				<table>
					<thead>
						<tr>
							<td class="tt">
								<input type="checkbox" class="chkAll" name="chkAll" id="chkAll">
							</td>
							<td class="tt">순번</td>
							<td class="tt">회원번호</td>
							<td class="tt">이름</td>
						</tr>
					</thead>
						<%	
							for(int i=0; i<5; i++){	
						%>					
					<tbody>
						<tr>
							<td class="tt">
								<input 	type="checkbox" class="numCheck"  name="mnumCheck" id="mnumCheck" 
										value=<%= i %>  onclick="checkOnly(this)">
							</td>		
							<td class="tt"><%= i + "_순번" %></td>
							<td class="tt"><%= i + "_회원번호" %> </td>
							<td class="tt"><%= i + "_이름" %> </td>		
						</tr>	
						<%
							}//end of if
						%>						
						<tr>
							<td colspan="5" align="right">
								<input type="hidden" name="ISUD_TYPE" id="ISUD_TYPE" value="">			
								<input type="button" value="등록" id="I">
								<input type="button" value="조회" id="SALL">
								<input type="button" value="수정" id="U">
								<input type="button" value="삭제" id="D">									
							</td>
						</tr>	
					</tbody>			
				</table>
			</form>	
		</div>	
	</body>
</html>
  • checkbox_jquery.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CHECKBOX TAG</title>

<!-- CDN -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">	
	
	$(document).ready(function(){
				
		/*
			CSS 선택자 우선순위 점수
			직접기입  : style='' : 1000 점 
			id : #mnumCheck : 100점
			class : .mnumCheck : 10점
			속성 : [name="mnumCheck"] : 10점
		*/
		
		/*
			prop() javaScript property vs attr() html attribute
			1.  jQuery 1.6 이후 부터는 
				form 요소 (element)의  disabled, selected, checked 속성 값을
				확인 또는 변경하는 경우는 prop() 함수 사용 권장
			2. 	prop() 	: element의 활성화, 체크, 선택여부  disabled, selected, checked 등에 사용
			3. 	attr()	: element의 속성값, 정보 조회나 세팅에 사용 
		*/			   
		
		// mnumCheck
		$(document).on("click", "#mnumCheck", function(){
			
			alert("mnumCheck >>> : ");		
			
			if($(this).prop('checked')){			 			
				
				//$('input[type="checkbox"][name="mnumCheck"]').prop('checked',false);
				$('.mnumCheck').prop('checked',false);
				$(this).prop('checked',true);
			}
		});
		
		
		//  U
		$(document).on("click", "#U", function(){
			
			// alert("U >>> : ");	
			if ($('.mnumCheck:checked').length == 0){
			
				alert("수정할 글번호 하나를 선택하세요!!");
				return;
				
			}else{
				alert("체크박스 선텍 :: action은 어디로 ");
			}
		});
		
		//  D
		$(document).on("click", "#D", function(){
		
			//alert("D >>> : ");	
			if ($('.mnumCheck:checked').length == 0){
			
				alert("삭제할 글번호 하나를 선택하세요!!");
				return;
			}else{
				alert("체크박스 선텍 :: action은 어디로 ");
			}	
		});
	});
</script>
<style type="text/css">

	table {
		border: 1px solid blue;
		width: 300px;
		height: 50px;
		margin: 5px auto;
		text-align: center;
	}
	
	h3,hr {
		text-align: center;
	}
</style>
</head>
<body>
<h3>CHECKBOX TAG</h3>
<hr>
<div class="wrap">
<form name="check_form_1" id="check_form_1">
<table>
<thead>
<tr>
	<td class="tt"><input type="checkbox" class="chkAll" name="chkAll" id="chkAll"></td>
	<td class="tt">순번</td>
	<td class="tt">회원번호</td>
	<td class="tt">이름</td>
</tr>
</thead>
<%	
	for(int i=0; i<5; i++){	
%>					
<tbody>
<tr>
	<td class="tt">
		<input type="checkbox" class="mnumCheck"  name="mnumCheck" id="mnumCheck" value=<%= i %> >
	</td>		
	<td class="tt"><%= i + "_순번" %></td>
	<td class="tt"><%= i + "_회원번호" %> </td>
	<td class="tt"><%= i + "_이름" %> </td>		
</tr>	
<%
	}//end of if
%>						
<tr>
	<td colspan="5" align="right">
		<input type="hidden" name="ISUD_TYPE" id="ISUD_TYPE" value="">			
		<input type="button" value="등록" id="I">
		<input type="button" value="조회" id="SALL">
		<input type="button" value="수정" id="U">
		<input type="button" value="삭제" id="D">									
	</td>
</tr>	
</tbody>			
</table>
</form>	
</div>	
</body>
</html>
  • mem_jquery_1.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 가입 폼</title>

<!-- 디바이스에 최적화된 크기로 출력됨 --------------------------------------->
<meta name="viweport" content="width=device-width, iitail-scale=1">

<!-- jQuery CDN 불러오기  -------------------------------------------->
<script  src="http://code.jquery.com/jquery-latest.min.js"></script>

<!-- 다음 주소록 OPEN API CDN 불러오기  ----------------------------------->
<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>

<script type="text/javascript">
	
	$(document).ready(function(){
		alert("ready >>> : ");
		
		/*====== memForm 태그 START ==========================================*/
		// memForm 태그에 바인딩 된 데이터 jsp 로 보내기 
		$("#memInsertBtn").click(function(){
			alert("mzone_btn >>> : ");
			console.log("mzone_btn >>> : ");
			
		
			// jQuery id
			//=================================================================
			// mname
			var mname = $("#mname");
			console.log("mname >>> : " + mname);
			console.log("mname >>> : " + JSON.stringify(mname));
			
			var mname_val = mname.val();
			console.log("mname_val >>> : " + mname_val);
			console.log("mname_val >>> : " + JSON.stringify(mname_val));
			
			// mhp	
			var mhp = $("#mhp");
			console.log("mhp >>> : " + mhp);
			console.log("mid >>> : " + JSON.stringify(mid));
			
			var mhp_val = mhp.val();
			console.log("mhp_val >>> : " + mhp_val);
			console.log("mhp_val >>> : " + JSON.stringify(mhp_val));
			
			var mhp_length = $("#mhp").length;
			console.log("mhp_length >>> : " + mhp_length);
			console.log("mhp_length >>> : " + JSON.stringify(mhp_length));
			
			var mhp_option = $("#mhp option:selected");
			console.log("mhp_option >>> : " + mhp_option);
			console.log("mhp_option >>> : " + JSON.stringify(mhp_option));
			
			var mhp_option_val = $("#mhp option:selected").val();
			console.log("mhp_option_val >>> : " + mhp_option_val);
			console.log("mhp_option_val >>> : " + JSON.stringify(mhp_option_val));
			
			var mhp_option_text = $("#mhp option:selected").text();
			console.log("mhp_option_text >>> : " + mhp_option_text);
			console.log("mhp_option_text >>> : " + JSON.stringify(mhp_option_text));
			
			
			// mgender
			var mgender = $("#mgender");
			console.log("mgender >>> : " + mgender);
			console.log("mgender >>> : " + JSON.stringify(mgender));
			var mgender_val = mgender.val();
			console.log("mgender_val >>> : " + mgender_val);
			console.log("mgender_val >>> : " + JSON.stringify(mgender_val));
			var mgender_length = mgender.length;
			console.log("mgender_length >>> : " + mgender_length);
			console.log("mgender_length >>> : " + JSON.stringify(mgender_length));
			
			var mgender_checked = $("#mgender:checked");
			console.log("mgender_checked >>> : " + mgender_checked);
			console.log("mgender_checked >>> : " + JSON.stringify(mgender_checked));
			
			var mgender_checked_val = $("#mgender:checked").val();
			console.log("mgender_checked_val >>> : " + mgender_checked_val);
			console.log("mgender_checked_val >>> : " + JSON.stringify(mgender_checked_val));
			
			var mgender_id_01 = $("input:radio[id='mgender']:input[value='01']").val();
			console.log("mgender_id_01 >>> : " + mgender_id_01);
			console.log("mgender_id_01 >>> : " + JSON.stringify(mgender_id_01));
			var mgender_id_02 = $("input:radio[id='mgender']:input[value='02']").val();
			console.log("mgender_id_02 >>> : " + mgender_id_02);
			console.log("mgender_id_02 >>> : " + JSON.stringify(mgender_id_02));

						
			// mhobby 
			var mhobby = $("#mhobby");
			console.log("mhobby >>> : " + mhobby);
			console.log("mhobby >>> : " + JSON.stringify(mhobby));
			
			var mhobby_val = mhobby.val();
			console.log("mhobby_val >>> : " + mhobby_val);
			console.log("mhobby_val >>> : " + JSON.stringify(mhobby_val));
			
			var mhobby_length = mhobby.length;
			console.log("mhobby_length >>> : " + mhobby_length);
			console.log("mhobby_length >>> : " + JSON.stringify(mhobby_length));
						
			var mhobby_checked = $("#mhobby:checked");
			console.log("mhobby_checked >>> : " + mhobby_checked);
			console.log("mhobby_checked >>> : " + JSON.stringify(mhobby_checked));
			
			
			// var mhobby_checked_val = $("#mhobby:checked").val();
			// console.log("mhobby_checked_val >>> : " + mhobby_checked_val);
			// console.log("mhobby_checked_val >>> : " + JSON.stringify(mhobby_checked_val));
			
			// jquery name 
			//=================================================================
				
			// mname				
			var mname_name = $("input[name=mname]");
			console.log("mname_name >>> : " + mname_name);
			console.log("mname_name >>> : " + JSON.stringify(mname_name));
			var mname_name_val = $("input[name=mname]").val();
			console.log("mname_name_val >>> : " + mname_name_val);
			console.log("mname_name_val >>> : " + JSON.stringify(mname_name_val));
			
			// mhp
			var mhp_name = $("select[name=mhp]");
			console.log("mhp_name >>> : " + mhp_name);
			console.log("mhp_name >>> : " + JSON.stringify(mhp_name));
			
			var mhp_name_val = $("select[name=mhp]").val();
			console.log("mhp_name_val >>> : " + mhp_name_val);
			console.log("mhp_name_val >>> : " + JSON.stringify(mhp_name_val));
			
			var mhp_name_length = $("select[name=mhp]").length;
			console.log("mhp_name_length >>> : " + mhp_name_length);
			console.log("mhp_name_length >>> : " + JSON.stringify(mhp_name_length));
			
			var mhp_name_option = $("select[name=mhp] option:selected");
			console.log("mhp_name_option >>> : " + mhp_name_option);
			console.log("mhp_name_option >>> : " + JSON.stringify(mhp_name_option));
			
			var mhp_name_option_val = $("select[name=mhp] option:selected").val();
			console.log("mhp_name_option_val >>> : " + mhp_name_option_val);
			console.log("mhp_name_option_val >>> : " + JSON.stringify(mhp_name_option_val));
			
			var mhp_name_option_text = $("select[name=mhp] option:selected").text();
			console.log("mhp_name_option_text >>> : " + mhp_name_option_text);
			console.log("mhp_name_option_text >>> : " + JSON.stringify(mhp_name_option_text));
			
			
			// mgender
			var mgender_name = $("input:radio[name='mgender']");
			console.log("mgender_name >>> : " + mgender_name);
			console.log("mgender_name >>> : " + JSON.stringify(mgender_name));
			
			var mgender_name_val = $("input:radio[name='mgender']").val();
			console.log("mgender_name_val >>> : " + mgender_name_val);
			console.log("mgender_name_val >>> : " + JSON.stringify(mgender_name_val));
			
			var mgender_name_length = $("input:radio[name='mgender']").length;
			console.log("mgender_name_length >>> : " + mgender_name_length);
			console.log("mgender_name_length >>> : " + JSON.stringify(mgender_name_length));
			
			var mgender_name_checked = $("input:radio[name='mgender']:checked");
			console.log("mgender_name_checked >>> : " + mgender_name_checked);
			console.log("mgender_name_checked >>> : " + JSON.stringify(mgender_name_checked));
		
			var mgender_name_checked_length = $("input:radio[name='mgender']:checked").length;
			console.log("mgender_name_checked_length >>> : " + mgender_name_checked_length);
			console.log("mgender_name_checked_length >>> : " + JSON.stringify(mgender_name_checked_length));
			
			
			var mgender_name_01_is = $("input:radio[name='mgender']:input[value='01']").is(":checked");
			console.log("mgender_name_01_is >>> : " + mgender_name_01_is);
			console.log("mgender_name_01_is >>> : " + JSON.stringify(mgender_name_01_is));
			
			var mgender_name_02_is = $("input:radio[name='mgender']:input[value='02']").is(":checked");
			console.log("mgender_name_02_is >>> : " + mgender_name_02_is);
			console.log("mgender_name_02_is >>> : " + JSON.stringify(mgender_name_02_is));
			
			
			
			var mgender_name_checked_val = $("input:radio[name='mgender']:checked").val();
			console.log("mgender_name_checked_val >>> : " + mgender_name_checked_val);
			console.log("mgender_name_checked_val >>> : " + JSON.stringify(mgender_name_checked_val));
			
			var mgender_name_01 = $("input:radio[name='mgender']:input[value='01']").val();
			console.log("mgender_name_01 >>> : " + mgender_name_01);
			console.log("mgender_name_01 >>> : " + JSON.stringify(mgender_name_01));
			
			var mgender_name_02 = $("input:radio[name='mgender']:input[value='02']").val();
			console.log("mgender_name_02 >>> : " + mgender_name_02);
			console.log("mgender_name_02 >>> : " + JSON.stringify(mgender_name_02));
			
			
			// mhobby
			var mhobbby_name = $("input:checkbox[name='mhobby']");
			console.log("mhobbby_name >>> : " + mhobbby_name);
			console.log("mhobbby_name >>> : " + JSON.stringify(mhobbby_name));
			
			var mhobby_name_val = $("input:checkbox[name='mhobby']").val();
			console.log("mhobby_name_val >>> : " + mhobby_name_val);
			console.log("mhobby_name_val >>> : " + JSON.stringify(mhobby_name_val));
			
			var mhobby_name_length = $("input:checkbox[name='mhobby']").length;
			console.log("mhobby_name_length >>> : " + mhobby_name_length);
			console.log("mhobby_name_length >>> : " + JSON.stringify(mhobby_name_length));
			
			var mhobby_name_checked = $("input:checkbox[name='mhobby']:checked");
			console.log("mhobby_name_checked >>> : " + mhobby_name_checked);
			console.log("mhobby_name_checked >>> : " + JSON.stringify(mhobby_name_checked));
			
			var mhobby_name_checked_length = $("input:checkbox[name='mhobby']:checked").length;
			console.log("mhobby_name_checked_length >>> : " + mhobby_name_checked_length);
			console.log("mhobby_name_checked_length >>> : " + JSON.stringify(mhobby_name_checked_length));
			
			
			var mhobby_name_checked_is = $("input:checkbox[name='mhobby']").is(":checked");
			console.log("mhobby_name_checked_is >>> : " + mhobby_name_checked_is);
			console.log("mhobby_name_checked_is >>> : " + JSON.stringify(mhobby_name_checked_is));
			
			var mhobby_name_01_is = $("input:checkbox[name='mhobby']:input[value='01']").is(":checked");
			console.log("mhobby_name_01_is >>> : " + mhobby_name_01_is);
			console.log("mhobby_name_01_is >>> : " + JSON.stringify(mhobby_name_01_is));
			
			var mhobby_name_02_is = $("input:checkbox[name='mhobby']:input[value='02']").is(":checked");
			console.log("mhobby_name_02_is >>> : " + mhobby_name_02_is);
			console.log("mhobby_name_02_is >>> : " + JSON.stringify(mhobby_name_02_is));
			
			var mhobby_name_03_is = $("input:checkbox[name='mhobby']:input[value='03']").is(":checked");
			console.log("mhobby_name_03_is >>> : " + mhobby_name_03_is);
			console.log("mhobby_name_03_is >>> : " + JSON.stringify(mhobby_name_03_is));
			
			var mhobby_name_04_is = $("input:checkbox[name='mhobby']:input[value='04']").is(":checked");
			console.log("mhobby_name_04_is >>> : " + mhobby_name_04_is);
			console.log("mhobby_name_04_is >>> : " + JSON.stringify(mhobby_name_04_is));
		
			var mhobby_name_01 = $("input:checkbox[name='mhobby']:input[value='01']").val();
			console.log("mhobby_name_01 >>> : " + mhobby_name_01);
			console.log("mhobby_name_01 >>> : " + JSON.stringify(mhobby_name_01));
			var mhobby_name_02 = $("input:checkbox[name='mhobby']:input[value='02']").val();
			console.log("mhobby_name_02 >>> : " + mhobby_name_01);
			console.log("mhobby_name_02 >>> : " + JSON.stringify(mhobby_name_02));
			var mhobby_name_03 = $("input:checkbox[name='mhobby']:input[value='03']").val();
			console.log("mhobby_name_03 >>> : " + mhobby_name_03);
			console.log("mhobby_name_03 >>> : " + JSON.stringify(mhobby_name_03));
			var mhobby_name_04 = $("input:checkbox[name='mhobby']:input[value='04']").val();
			console.log("mhobby_name_04 >>> : " + mhobby_name_04);
			console.log("mhobby_name_04 >>> : " + JSON.stringify(mhobby_name_04));
		
			// class
			//=================================================================
			
			var mname_class = $(".mname");
			console.log("mname_class >>> : " + mname_class);
			console.log("mname_class >>> : " + JSON.stringify(mname_class));			
			var mname_class_val = $(".mname").val();
			console.log("mname_class_val >>> : " + mname_class_val);
			console.log("mname_class_val >>> : " + JSON.stringify(mname_class_val));
			
			var mhp_class = $(".mhp");
			console.log("mhp_class >>> : " + mhp_class);
			console.log("mhp_class >>> : " + JSON.stringify(mhp_class));			
			
			var mhp_class_val = $(".mhp").val();
			console.log("mhp_class_val >>> : " + mhp_class_val);
			console.log("mhp_class_val >>> : " + JSON.stringify(mhp_class_val));
			
			var mhp_class_length = $(".mhp").length;
			console.log("mhp_class_length >>> : " + mhp_class_length);
			console.log("mhp_class_length >>> : " + JSON.stringify(mhp_class_length));
			
			var mhp_class_option = $(".mhp option:selected");
			console.log("mhp_class_option >>> : " + mhp_class_option);
			console.log("mhp_class_option >>> : " + JSON.stringify(mhp_class_option));
			
			var mhp_class_option_val = $(".mhp option:selected").val();
			console.log("mhp_class_option_val >>> : " + mhp_class_option_val);
			console.log("mhp_class_option_val >>> : " + JSON.stringify(mhp_class_option_val));
			
			var mhp_class_option_text = $(".mhp option:selected").text();
			console.log("mhp_class_option_text >>> : " + mhp_class_option_text);
			console.log("mhp_class_option_text >>> : " + JSON.stringify(mhp_class_option_text));
			
			
			// mgender
			var mgender_class = $(".mgender");
			console.log("mgender_class >>> : " + mgender_class);
			console.log("mgender_class >>> : " + JSON.stringify(mgender_class));
			
			var mgender_class_val = $(".mgender").val();
			console.log("mgender_class_val >>> : " + mgender_class_val);
			console.log("mgender_class_val >>> : " + JSON.stringify(mgender_class_val));
			
			var mgender_class_length = $(".mgender").length;
			console.log("mgender_class_length >>> : " + mgender_class_length);
			console.log("mgender_class_length >>> : " + JSON.stringify(mgender_class_length));
			
			var mgender_class_checked = $(".mgender:checked");
			console.log("mgender_class_checked >>> : " + mgender_class_checked);
			console.log("mgender_class_checked >>> : " + JSON.stringify(mgender_class_checked));
			
			var mgender_class_checked_length = $(".mgender:checked").length;
			console.log("mgender_class_checked_length >>> : " + mgender_class_checked_length);
			console.log("mgender_class_checked_length >>> : " + JSON.stringify(mgender_class_checked_length));
			
			var mgender_class_01_is = $(".mgender:input[value='01']").is(":checked");
			console.log("mgender_class_01_is >>> : " + mgender_class_01_is);
			console.log("mgender_class_01_is >>> : " + JSON.stringify(mgender_class_01_is));
			
			var mgender_class_02_is = $(".mgender:input[value='02']").is(":checked");
			console.log("mgender_class_02_is >>> : " + mgender_class_02_is);
			console.log("mgender_class_02_is >>> : " + JSON.stringify(mgender_class_02_is));
			
			// mhobby
			var mhobby_class = $(".mhobby");
			console.log("mhobby_class >>> : " + mhobby_class);
			console.log("mhobby_class >>> : " + JSON.stringify(mhobby_class)); 
			
			var mhobby_class_val = $(".mhobby").val();
			console.log("mhobby_class_val >>> : " + mhobby_class_val);
			console.log("mhobby_class_val >>> : " + JSON.stringify(mhobby_class_val));
			
			var mhobby_class_length = $(".mhobby").length;
			console.log("mhobby_class_length >>> : " + mhobby_class_length);
			console.log("mhobby_class_length >>> : " + JSON.stringify(mhobby_class_length));
			
			var mhobby_class_checked = $(".mhobby:checked");
			console.log("mhobby_class_checked >>> : " + mhobby_class_checked);
			console.log("mhobby_class_checked >>> : " + JSON.stringify(mhobby_class_checked));
			
			var mhobby_class_checked_length = $(".mhobby:checked").length;
			console.log("mhobby_class_checked_length >>> : " + mhobby_class_checked_length);
			console.log("mhobby_class_checked_length >>> : " + JSON.stringify(mhobby_class_checked_length));
						
			var mhobby_class_01_is = $(".mhobby:input[value='01']").is(":checked");
			console.log("mhobby_class_01_is >>> : " + mhobby_class_01_is);
			console.log("mhobby_class_01_is >>> : " + JSON.stringify(mhobby_class_01_is));
			
			var mhobby_class_02_is = $(".mhobby:input[value='02']").is(":checked");
			console.log("mhobby_class_02_is >>> : " + mhobby_class_02_is);
			console.log("mhobby_class_02_is >>> : " + JSON.stringify(mhobby_class_02_is));
			
			var mhobby_class_03_is = $(".mhobby:input[value='03']").is(":checked");
			console.log("mhobby_class_03_is >>> : " + mhobby_class_03_is);
			console.log("mhobby_class_03_is >>> : " + JSON.stringify(mhobby_class_03_is));
			
			var mhobby_class_04_is = $(".mhobby:input[value='04']").is(":checked");
			console.log("mhobby_class_04_is >>> : " + mhobby_class_04_is);
			console.log("mhobby_class_04_is >>> : " + JSON.stringify(mhobby_class_04_is));
			
			
			/*
			$("#memForm")
			.attr({
					"action":"#",
				    "method":"GET",
				    "enctype":"application/x-www-form-urlencoded"
			       })
			.submit();	
			*/
		}); // end of $("#memInsertBtn")
		/*====== memForm 태그 END ==========================================*/
	});
	
</script>

<style type="text/css">
	div {	
		width: 80%;	
		margin: 50px auto;
		padding:5px;
		border:1px solid red;
		background-color: cyan;
		display:table;
	}
	table {
		width: 50%;		
		margin: auto;		
	}
	h3, h4{
		text-align: center;
	}
	.tt {
		text-align: center;
	}
</style>

</head>
<body>
<div>
<h3>KOSMO MEMBER</h3>
<hr>
<form name="memForm" id="memForm">
<table border="1">
<tr>
	<td class="tt" colspan="2">
		<font size="4" style="color:blue;">KOSMO 103기 회원가입</font> 
		<img src="/kosMember/img/img_mando/ase.gif" width="25" height="25" alt="image">
	</td>	
</tr>
<tr>
	<td class="tt" >회원번호</td>
	<td><input type="text" name="mnum"  id="mnum" readonly /></td>
</tr>
<tr>
	<td class="tt" >이름</td>
	<td><input type="text" class="mname" name="mname" id="mname" /></td>
</tr>
<tr>
	<td class="tt" >아이디</td>
	<td>	
		<input type="text" name="mid" id="mid" placeholder="아이디체크" />
		<input type="button" name="midCheck" id="midCheck" value="아이디중복확인" />
	</td>
</tr>
<tr>
	<td class="tt" >패스워드</td>
	<td>
		<input type="text" name="mpw" id="mpw" style="width:100px"/><br>
		<input type="text" name="mpw_r" id="mpw_r" placeholder="비밀번호확인" style="width:100px"/>
		<input type="button"  name="mpwCheck" id="mpwCheck" value="비밀번호확인">
	</td>
</tr>
<tr>
	<td class="tt" >핸드폰</td>
	<td>
		<select class="mhp" name="mhp" id="mhp" style="width:50px;">
        	<option value="010">010000</option>
        	<option value="011">011222</option>
        	<option value="016">016666</option>
        	<option value="017">017777</option>		        	
         </select>
         - <input type="text" name="mhp1" id="mhp1" maxlength="4" style="width:50px;"/>
         - <input type="text" name="mhp2" id="mhp2" maxlength="4" style="width:50px;"/>
	</td>
</tr>
<tr>
	<td class="tt" >이메일</td>
	<td>		
		<input type="text" name="memail"  id="memail" style="width:100px"/>
		@ <input type="text" name="memail1" id="memail1" style="width:100px" placeholder="직접입력" />
		<select name="memail2" id="memail2">
        	 <option value="1" selected>직접입력</option>
       		 <option value="naver.com">naver.com</option>	       	   
      		 <option value="gmail.com">gmail.com</option>
      		 <option value="daum.net">daum.net</option>	       	   
         </select>
	</td>
</tr>
<tr>
	<td class="tt" >성별</td>
	<td> 
		<input type="radio" class="mgender" name="mgender" id="mgender" value="01" checked="checked" />여자
		<input type="radio" class="mgender" name="mgender" id="mgender" value="02" /> 남자
	</td>
</tr>
<tr>
	<td class="tt" >취미</td>
	<td> 
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="01" />독서		      
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="02" />운동
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="03" />음악감상
		<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="04" />여행
	</td>
</tr>
<tr>
	<td class="tt" >주소</td>
 	<td>
 		<input type="text" name="mzone" id="mzone" placeholder="우편번호" style="width:70px" maxlength="6" >
 		<input type="button" name="mzone_btn" id="mzone_btn" value="우편번호 찾기"><br>	 	
 		<input type="text" name="mroad" id="mroad" placeholder="도로명주소" style="width:250px"><br>	 	
 		<input type="text" name="mroaddetail" id="mroaddetail" placeholder="도로명주소 상세주소" style="width:250px"><br>	 	
 		<input type="text" name="mjibun" id="mjibun" placeholder="지번주소" style="width:250px">
 	</td>
</tr>
<tr>
	<td class="tt" >소개글</td>
	<td>
		<textarea name="mmsg" id="mmsg" rows="5" cols="50"></textarea>
	</td>
</tr>
<tr>
	<td colspan="2"> 		
		<input type="hidden" id="ISUD_TYPE" name="ISUD_TYPE" value="I">		
		<input type="button" value="jsp_보내기" id="memInsertBtn" />	
		<input type="reset" value="취소" />
	</td>				
</tr>
</table>				 		        		     
</form>	
</div>		
</body>
</html>

2교시 (10:30-11:20)

  • 데이터 이동
    데이터 보내기
    --------------
    1.  <input type="text" name="mid">

    2.  location.href="/KosMember/kos_jsp/test.jsp?mid=<%= 11 %>";

    3.  pageContext.forward("/kosMember/kos_jsp/testA.jsp?mid="+mid);

    4.  <jsp:forward>
    <jsp:param name="mid" value="<%= mid %>">
    </jsp:forward>

    5.  request.setAttribute(java.lang.String, java.lang.Object);

    6.  ArrayList aList = new ArrayList();
    request.setAttribute("aList", aList);

    데이터 받기
    --------------
    1, 2, 3, 4번
    <%
    String mid = request.getParameter("mid");
    %>

    5번
    <%
    Object obj = request.getAttribute(java.lang.String);
    String objStr = (String)obj;
    %>

    6번
    <%
    Object obj = request.getAttribute("aList");
    ArrayList aList = (ArrayList)obj;
    %>
  • 로그인 페이지 만들기
    • 쿼리 확인
    로그인
    -------------------------------------
    KOS_MEMBER 테이블 데이터 사용
    
    -- 카운터 로그인
    SELECT COUNT(A.MNUM) FROM KOS_MEMBER A
    WHERE A.DELETEYN = 'Y';
    AND A.MID = 'TEST'
    AND A.MPW = '11;

3교시 (11:30-12:20)

  • kos_login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>KOS_LOGIN JSP</title>
</head>

<body>
	<h3>KOS_LOGIN JSP</h3>
	<hr>
	<%
		request.setCharacterEncoding("UTF-8");
	
		String mid = request.getParameter("mid");
		String mpw = request.getParameter("mpw");
		
		System.out.println("mid >>> : " + mid);
		System.out.println("mpw >>> : " + mpw);
		
		out.println("mid >>> : " + mid);
		out.println("mpw >>> : " + mpw);
		
	%>
</body>
</html>
  • kos_login.html
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>KOS_LOGIN HTML</title>
		<!-- 
		id : mid
		pw : mpw
		
		action : kos_login.jsp
		method : GET
		
		jQuery CDN 이용
		버튼 클릭 이벤트 할 때 kos_login.jsp 보내기
		kos_login.jsp -> 화면에 id, pw 출력하기
	 -->
	 <script src="http://code.jquery.com/jquery-latest.min.js"></script>
	 <script type="text/javascript">
	 	alert("스크립트 블록");
	 	
	 	// jQuery 블록을 만든다. ready() 함수로 만든다.
	 	$(document).ready(function(){
	 		alert("jQuery 블록");
	 		
	 		$("#login_btn").click(function(){
	 			alert("login_btn 블록");
	 			
	 			$("#loginForm").attr({
	 				"action":"/KosMember/koslogin/kos_login.jsp",
	 				"method":"GET"
	 			}).submit();
	 		});
	 	});
	 </script>

</head>

<body>
	<h3>KOS_LOGIN_OK JSP</h3>
	<hr>
	<form name="loginForm" id="loginForm">
		<input type="text" class="mid" name="mid" id="mid" /><br>
		<input type="text" class="mpw" name="mpw" id="mpw" /><br>
		<button type="button" id="login_btn">login_btn</button>
	</form>
</body>
</html>

4교시 (12:30-13:20)

  • 로그인 처리 방법
    전통적인 방식
    ID, PW를 비교해서 하는 방식
    ID 다른지
    PW 다른지
    두 가지의 다른 경우를 분기해서 코딩했다.

    디바이스 : 데탑, 랩탑 컴퓨터(노트북), 태블릭, 안드로이드, iOS

    로그인 처리 하는 것 : 다중 디바이스
    1. 싱글 로그인
    account 계정이 하나의 디바이스에 한 계정

    SSO 싱글 사인 온

    2. 다중 로그인
    account 계정 멀티 디바이스에서 로그인 허락

    우리가 공부할 것은
    COUNT 로그인 처리 방법

    패스워드가 암호화 되어 있다.
  • kos_login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
 <!--  커넥션 클래스 import -->
<%@ page import="a.b.c.common.KosConnectivity"%>

 <!--  java.sql.*JDBC 클래스 import -->
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.PreparedStatement"%>
<%@ page import="java.sql.ResultSet"%>

<!-- 깡통 클래스 import -->
<%@ page import="a.b.c.kos.mem.vo.MemVO"%>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>KOS_LOGIN JSP</title>
</head>

<body>
	<h3>KOS_LOGIN JSP</h3>
	<hr>
	<%
		request.setCharacterEncoding("UTF-8");
	
		String mid = request.getParameter("mid");
		String mpw = request.getParameter("mpw");
		
		System.out.println("mid >>> : " + mid);
		System.out.println("mpw >>> : " + mpw);
		
		out.println("mid >>> : " + mid);
		out.println("mpw >>> : " + mpw);
		
		MemVO mvo = null;
		mvo = new MemVO();
		mvo.setMid(mid);
		mvo.setMpw(mpw);
	%>
	<%
		// jdbc 연결 및 sql 사용하기
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rsRs = null;
		int nCnt = 0;
		
		conn = KosConnectivity.getConnection();
		String sqls = "SELECT COUNT(A.MNUM) MCNT FROM KOS_MEMBER A WHERE A.DELETEYN = 'Y' AND A.MID = ? AND A. MPW = ?";
		pstmt = conn.prepareStatement(sqls);
		
		pstmt.clearParameters();
		pstmt.setString(1, mvo.getMid());
		pstmt.setString(2, mvo.getMpw());
		
		rsRs = pstmt.executeQuery();
		
		if (rsRs != null) {
			while (rsRs.next()) {
				nCnt = rsRs.getInt(1);
				// nCnt = rsRs.GetInt("MCNT"); // 컬럼명, 컬렴명 앨리어스
			}
		}
		
		if (nCnt == 1) {
			request.setAttribute("nCnt", new Integer(nCnt));
			RequestDispatcher rd = request.getRequestDispatcher("/koslogin/kos_login_ok.jsp");
			rd.forward(request, response);
		} else {
			
		}
	%>
</body>
</html>

5교시 (14:30-15:20)

  • kos_login_ok.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<!-- Date 관련 클래스 import -->    
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat"%>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>KOS_LOGIN_OK JSP</title>
</head>

<body>
	<%@ include file="/kos_jsp/include_header.html" %>
	<h3>KOS_LOGIN_OK JSP</h3>
	<hr>
	<%
		String browser = "";
		String uagent = request.getHeader("User-Agent");
		
		//"-Djava.net.preferIPv4Stack"=true
		// ip : 32bit, 128bit
		String raddr = request.getRemoteAddr();
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss");
		String dtime = sdf.format(new Date()).toString();
		
		System.out.println("userAgent >>> : " + uagent);
		System.out.println("remoteAddr >>> : " + raddr);
		System.out.println("dtime >>> : " + dtime);
		
		if (uagent.indexOf("Chrome") > 0){
			browser = "Chrome";
	%>
		<script>
			var b = '<%= browser %>'
			var r = '<%= raddr %>'
			var b = '<%= dtime %>'
			alert(b + " : " + r + ":" + d + "\n로그인 성공");
		</script>
	<%		
		}
	%>
	<jsp:include page="/kosmem/memSelectAll.jsp" />

	<%@ include file="/kos_jsp/include_footer.html" %>
</body>
</html>
  • kos_login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
 <!--  커넥션 클래스 import -->
<%@ page import="a.b.c.common.KosConnectivity"%>

 <!--  java.sql.*JDBC 클래스 import -->
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.PreparedStatement"%>
<%@ page import="java.sql.ResultSet"%>

<!-- 깡통 클래스 import -->
<%@ page import="a.b.c.kos.mem.vo.MemVO"%>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>KOS_LOGIN JSP</title>
</head>

<body>
	<h3>KOS_LOGIN JSP</h3>
	<hr>
	<%
		request.setCharacterEncoding("UTF-8");
	
		String mid = request.getParameter("mid");
		String mpw = request.getParameter("mpw");
		
		System.out.println("mid >>> : " + mid);
		System.out.println("mpw >>> : " + mpw);
		
		out.println("mid >>> : " + mid);
		out.println("mpw >>> : " + mpw);
		
		MemVO mvo = null;
		mvo = new MemVO();
		mvo.setMid(mid);
		mvo.setMpw(mpw);
	%>
	<%
		// jdbc 연결 및 sql 사용하기
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rsRs = null;
		int nCnt = 0;
		
		conn = KosConnectivity.getConnection();
		String sqls = "SELECT COUNT(A.MNUM) MCNT FROM KOS_MEMBER A WHERE A.DELETEYN = 'Y' AND A.MID = ? AND A. MPW = ?";
		pstmt = conn.prepareStatement(sqls);
		
		pstmt.clearParameters();
		pstmt.setString(1, mvo.getMid());
		pstmt.setString(2, mvo.getMpw());
		
		rsRs = pstmt.executeQuery();
		
		if (rsRs != null) {
			while (rsRs.next()) {
				nCnt = rsRs.getInt(1);
				// nCnt = rsRs.GetInt("MCNT"); // 컬럼명, 컬렴명 앨리어스
			}
		}
		
		if (nCnt == 1) {
			// new Integer, new Double, new Boolean, new String 나머진 다 object
			request.setAttribute("nCnt", new Integer(nCnt));
			RequestDispatcher rd = request.getRequestDispatcher("/koslogin/kos_login_ok.jsp");
			rd.forward(request, response);
		} else {
	%>
		<script>
			alert("로그인 실패 !!!");
			// history.go(-1);
			location.href="/KosMember/koslogin/kos_login.html";
		</script>
	<%
		}
	%>
</body>
</html>

kos_login.html 실행

로그인 실패 시

로그인 성공 시 (sellectAll이 구현이 안되었음)

6교시 (15:30-16:20)

  • 한글 인코딩
    • GET
      Servers - Tomcat v8.5 Servers at localhost-config
      servers.xml
      라인 63
      <Connector URIEncoding="UTF-8"
      xml 번경하면 꼭 서버를 리스타트 해야한다.
    • POST
      JSP
      <% request.setCharacterEncoding("UTF-8"); %>
  • CSS 부여 및 조정
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>KOS_LOGIN HTML</title>
		<!-- 
		id : mid
		pw : mpw
		
		action : kos_login.jsp
		method : GET
		
		jQuery CDN 이용
		버튼 클릭 이벤트 할 때 kos_login.jsp 보내기
		kos_login.jsp -> 화면에 id, pw 출력하기
	 -->
	 <script src="http://code.jquery.com/jquery-latest.min.js"></script>
	 <script type="text/javascript">
	 	alert("스크립트 블록");
	 	
	 	// jQuery 블록을 만든다. ready() 함수로 만든다.
	 	$(document).ready(function(){
	 		alert("jQuery 블록");
	 		
	 		$("#login_btn").click(function(){
	 			alert("login_btn 블록");
	 			
	 			$("#loginForm").attr({
	 				"action":"/KosMember/koslogin/kos_login.jsp",
	 				"method":"GET"
	 			}).submit();
	 		});
	 	});
	 </script>
	<style type="text/css">
		
		.div1 {
			border: 1px solid blue;
			width: 300px;
			height: 300px;
			margin: 100px auto;
		}
		
		table {
			border: 1px solid red;
		}
		
	</style>
</head>

<body>
	<div class="div1">
		<h3 align="center">KOS_LOGIN_OK JSP</h3>
		<hr>
		<form name="loginForm" id="loginForm">
			<table align="center">
				<tr>
					<td>
						<input type="text" class="mid" name="mid" id="mid" /><br>
					</td>
				</tr>
				<tr>
					<td>
						<input type="text" class="mpw" name="mpw" id="mpw" /><br>
					</td>
				</tr>
				<tr>
					<td>
						<button type="button" id="login_btn">login_btn</button>
					</td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>

7교시 (16:30-17:20)

  • 선생님 css 적용 코드
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>KOS_LONG HTML</title>			
<!--  
	id : mid
	pw : mpw
	버튼 : login_btn
	
	action : kos_login.jsp
	method : GET
	
	jQuery CDN 이용
	버튼 클릭 이벤트 할 때 kos_login.jsp 보내기
	kos_login.jsp ->  화면에 id, pw 출력하기 
 -->
<!-- jQuery CDN 불러오기  -------------------------------------------->
<script  src="http://code.jquery.com/jquery-latest.min.js"></script>

<script type="text/javascript">
	alert("스크립트 블럭 ");
	
	// jQuery 블럭을 만든다 : ready() 함수로 만든다.
	$(document).ready(function(){
		alert("jQuery 블럭 ");
		
		$("#mid").attr('placeholder', '아이디 ');
		$("#mpw").attr('placeholder', '비밀번호 ');
	
		$('#login_btn').click(function(){
			alert("login_btn 블럭 ");
			
			$('#loginForm').attr({
				"action":"/kosMember/koslogin/kos_login.jsp",
				"method":"GET"
			}).submit();
		});
	});			
</script>
<style type="text/css">

	.div1 {
		background: lightblue;
		border: 1px solid blue;
		width: 300px;
		height: 300px;
		margin: 100px auto;
	}

	table {
		border: 1px solid red;				
	}
	
	h3 {
		text-align: center;
	}

</style>	
</head>

<body>
<div class="div1">
<h3>KOS_LOGIN</h3>
<hr>		
<form	name="loginForm" id="loginForm">
<table align="center">
	<tr>
		<td>
			<input type="text" class="mid" name="mid" id="mid" style="width:200px;"/>
		</td>
	</tr>
	<tr>
		<td>
			<input type="text" class="mpw" name="mpw" id="mpw" style="width:200px;"/>
		</td>
	</tr>
	<tr>
		<td>
			<button type="button" id="login_btn" style="width:208px; background-color: yellow;">
				로그인
			</button>
		</td>
	</tr>
	<tr>
		<td align="right">
			<a href="#/kosMember/koslogin/findId.jsp"><font size="2">아이디찾기</font></a> | 
			<a href="#/kosMember/kosLogin/findPw.jsp"><font size="2">비밀번호찾기<font></a>
		</td>
	</tr>
</table>		
</form>
</div>
</body>
</html>

  • request_test.jsp ←파일 업로드
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>REQUEST TEST</title>
</head>

<body>
	<h3>REQUEST TEST</h3>
	<hr>
	<%
		String context_path = pageContext.getServletContext().getRealPath("/");
		out.println("context_path >>> : " + context_path);
		String method = request.getMethod();
		out.println("method >>> : " + method);
		String content_type = request.getHeader("Content-Type");
		out.println("content_type >>> : " +  content_type + "<br>");
	%>
	
	<form	action="request_test.jsp"
			method="POST"
			enctype="multipart/form-data">
		<input type="submit" value="보내기" />
	</form>

</body>
</html>

8교시 (17:30-18:30)

  • 자습

Notes


728x90