Data Scientist 옌

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

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

22-04-15(금) 055일차 [Oracle, HTML, JavaScript] 파일 업로드

옌炎 2022. 6. 5. 19:40
728x90

수업내용


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

  • 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 : 자바스크립트 데이터 타입 -> let, const
				mname : 변수명 -> 값하고 같이 인식하려고
				= : 대입 연산자
				$() : jQuery 함수
				# : css 셀렉터에서 id 가리키는 키워드 <-- 아이디 선택, name, class, getElementById()
				mname : input type=text id의 속성값
			*/
			/*
				이름이 memForm인 폼태그에 하위에 있는
				input type=text 태그 중 id 속성의 값이 mname인 태그(엘리먼트, 노드(오브젝트))를
				jQuery 함수에서 css 셀렉터 #으로 셀렉트해서
				변수명이 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 108기 회원가입</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>
  • prop_1.html

 

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script type="text/javascript">
		
		// $(window).load();
		
		$(document).ready(function(){
			
			// 성별
			var gen = '01';
			console.log("gen >>> : " + gen);
			if ('01' == gen) {
				$(".mgender:input[value='01']").prop('checked', true);
			}
			if ('02' == gen) {
				$(".mgender:input[value='02']").prop('checked', true);
			}
			
			// 이메일
			var email = 'abc@gmail.com';
			var emails = email.split('@');
			$("#memail").val(emails[0]);
			$("#memail1").val(emails[1]);
			
			// 취미
			var hobs = '01,02,04';
			console.log("hobs >>> : " + hobs);
			var hob = hobs.split(',');
			for (var m=0; m < hob.length; m++) {
				var hobValue = hob[m];
				console.log("hobValue >>> : " + hobValue);
				
				if ('01' == hobValue) {
					$(".mhobby:input[value='01']").prop('checked', true);
				}
				if ('02' == hobValue) {
					$(".mhobby:input[value='02']").prop('checked', true);
				}
				if ('03' == hobValue) {
					$(".mhobby:input[value='03']").prop('checked', true);
				}
				if ('04' == hobValue) {
					$(".mhobby:input[value='04']").prop('checked', true);
				}
				if ('05' == hobValue) {
					$(".mhobby:input[value='05']").prop('checked', true);
				}
			}
			
			/*
			$(".mhobby").each(functioN(){
				alert(">>");
				var hobValue='01';
				if(this.value=hobValue) {
					this.prop('checked', true);
				}
			});
			*/
			
			// 이메일 선택
			$("#memail2").change(function(){
				$("#memail2 option:selected").each(function() {
					if ($(this).val() == '1') { // 직접 입력일 경우
						var aa = $("#memail1").val();
						// alert("aa >>> : " + aa);
						$("#memail1").val(''); // 값 초기화
						$("#memail1").prop("readonly", false); // 활성화
					} else { // 직접 입력이 아닐 경우
						$("#memail1").val($(this).text()); // 선택값 입력
						$("#memail1").prop("readonly", true); //비활성화
					}
				});
			});
		});
		
	</script>
</head>
<body>
	<hr>
	<div>
		<form name="memUpdateForm" id="memUpdateForm">
			<table border="1">
				<tr>
					<td colspan="3" align="center">
						<font size="4" style="color:blue;">회원 정보 수정 & 삭제</font>
					</td>
				</tr>
				<tr>
					<td>성별</td>
					<td>
						<input type="radio" class="mgender" name="mgender" id="mgender" value="01" checked />여자
						<input type="radio" class="mgender" name="mgender" id="mgender" value="02" /> 남자
					</td>
				</tr>
				<tr>
					<td>이메일</td>
					<td colspan="2">
						<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>취미</td>
					<td colspan="2">
						<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" />분석설계<br>
						<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="04" />데이터베이스
						<input type="checkbox" class="mhobby" name="mhobby" id="mhobby" value="05" />스크립트
					</td>
				</tr>
				<tr>
					<td colspan="3" align="center">
						<input type="button" value="수정" id='U'/>
						<input type="button" value="삭제" id='D'/>
						<input type="reset" value="취소" />
						&nbsp;&nbsp;&nbsp;&nbsp;
						<input type="button" value="입력" id='I'/>
						<input type="button" value="목록" id='SALL'/>
					</td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>

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

  • 컨텍스트
    • content-type : media, charset, boundary
  • jsp
    1. 페이지 이동
    <jsp:forward
    <jsp:include
    <%@ include
    RequestDispatcher.forward()
    response.sendRedirect()
    location.href
    history.go()
    <a href=""

    2. 데이터 이동
    request.getParameter();
    request.getAttribute(java.lang.String)

    3. 파일 업로드

    POST, multipart/form-data
    -----------------------------

    form, method
    텍스트 : key=value&key=value : application/x-www-form-urlencoded
    바이너리 : 파일 데이터 : multipart/form-data

    GET
    application/x-www-form-urlencoded : key=value
    multipart/form-data

    POST
    application/x-www-form-urlencoded : key=value
    multipart/form-data : 파일 업로드 할 때

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

  • FileUploadUtil.java
package a.b.c.common;

import java.util.ArrayList;
import java.util.Enumeration;

import javax.servlet.http.HttpServletRequest;

import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;

public class FileUploadUtil {
	
	public static final String ENCODE_TYPE = "UTF-8";
	public static final int SIZE_LIMIT = 5240880;
	private MultipartRequest m;
	
	public FileUploadUtil() {
		
	}
	
	public boolean fileUpload(HttpServletRequest hReq, String filePaths) {
		
		boolean fb = false;
		try {
			m = new MultipartRequest( hReq
									 ,filePaths
									 ,FileUploadUtil.SIZE_LIMIT
									 ,FileUploadUtil.ENCODE_TYPE
									 , new DefaultFileRenamePolicy());
			return fb = true;
		} catch (Exception e) {
			System.out.println("FileUploadUtil.fileUpload() >>> : " + e);
		}
		
		return fb;
	}

	public boolean fileUpload3(  HttpServletRequest hReq
								,String filePaths
								,int size_limit
								,String encode_type) {
		boolean fb = false;
		try {
			m = new MultipartRequest(  hReq
									  ,filePaths
									  ,size_limit
									  ,encode_type
									  ,new DefaultFileRenamePolicy());
			return fb = true;
		} catch (Exception e) {
			System.out.println("FileUploadUtil.fileUpload3() >>> : " + e);
		}
		
		return fb;
	}
	
	public String getParameter(String s) {
		return m.getParameter(s);
	}
	
	public String[] getParameterValues(String s) {
		return m.getParameterValues(s);
	}
	
	public String getFileName(String f) {
		return m.getFilesystemName(f);
	}
	
	public ArrayList<String> getFileNames(){
		@SuppressWarnings("unchecked")
		Enumeration<String> en = m.getFileNames();
		ArrayList<String> a = new ArrayList<String>();
		
		while (en.hasMoreElements()) {
			String f = en.nextElement().toString();
			a.add(m.getFilesystemName(f));
		}
		return a;
	}
}
  • fileupload_2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%--log4j 관련 객체 import --%>
<%@ page import="org.apache.log4j.LogManager" %>
<%@ page import="org.apache.log4j.Logger" %>

<%@ page import="a.b.c.common.CommonUtils" %>
<%@ page import="a.b.c.common.FileUploadUtil" %>

<%@ page import="java.util.ArrayList" %>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>FILE UPLOAD JSP</title>
	<style type="text/css">
		
		#circle {border-radius : 50%;}
		
	</style>
</head>
<body>
	<h3>FILE UPLOAD JSP</h3>
	<hr>
	<%
		Logger logger = LogManager.getLogger(this.getClass());
		logger.info("fileupload_2.jsp 페이지 >>> : ");
		
		String filePaths = CommonUtils.TEST_IMG_UPLOAD_PATH;
		int size_limit = CommonUtils.TEST_IMG_FILE_SIZE;
		String encode_type = CommonUtils.TEST_IMG_ENCODE;
		String filename1 = "";
		
		FileUploadUtil fu = new FileUploadUtil();
		boolean bool = fu.fileUpload3(request, filePaths, size_limit, encode_type);
		
		if (bool) {
			String name = fu.getFileName("name");
			ArrayList<String> aListFile = fu.getFileNames();
			filename1 = aListFile.get(0);
		} else {
			System.out.println("업로드 실패");
		}
	%>
	<!-- html img 태그의 src 경로 속성은 웹 경로를 사용한다. -->
	<table border="1">
		<tr align="center">
			<td>
				<img id="circle" src="/KosMember/upload/aaaa/<%= filename1 %>" width="100" height="100"><br>
				<%= filename1 %>
			</td>
		</tr>
	</table>
</body>
</html>

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

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

<%--log4j 관련 객체 import --%>
<%@ page import="org.apache.log4j.LogManager" %>
<%@ page import="org.apache.log4j.Logger" %>

<%@ page import="a.b.c.common.CommonUtils" %>
<%@ page import="a.b.c.common.FileUploadUtil" %>

<%@ page import="java.util.ArrayList" %>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>FILE UPLOAD JSP</title>
	<style type="text/css">
		
		#circle {border-radius : 50%;}
		
	</style>
</head>
<body>
	<h3>FILE UPLOAD JSP</h3>
	<hr>
	<%
		Logger logger = LogManager.getLogger(this.getClass());
		logger.info("fileupload_2.jsp 페이지 >>> : ");
		
		String filePaths = CommonUtils.TEST_IMG_UPLOAD_PATH;
		int size_limit = CommonUtils.TEST_IMG_FILE_SIZE;
		String encode_type = CommonUtils.TEST_IMG_ENCODE;
		String filename1 = "";
		
		FileUploadUtil fu = new FileUploadUtil();
		boolean bool = fu.fileUpload3(request, filePaths, size_limit, encode_type);
		
		if (bool) {
			String name = fu.getFileName("name");
			ArrayList<String> aListFile = fu.getFileNames();
			filename1 = aListFile.get(0);
		} else {
			System.out.println("업로드 실패");
		}
	%>
	<!-- html img 태그의 src 경로 속성은 웹 경로를 사용한다. -->
	<table border="1">
		<tr align="center">
			<td>
				<img id="circle" src="/KosMember/upload/aaaa/<%= filename1 %>" width="100" height="100"><br>
				<%= filename1 %>
			</td>
		</tr>
	</table>
</body>
</html>


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

  • sequence
CREATE TABLE KOS_FILE_IMAGE (
     FNUM   VARCHAR2(20) PRIMARY KEY
    ,FNAME  VARCHAR2(200)
    ,FPATH  VARCHAR2(300)
    ,INSERTDATE DATE
    ,UPDATEDATE DATE
);

DELETE FROM KOS_FILE_IMAGE;
COMMIT;
SELECT * FROM KOS_FILE_IMAGE;

/*
시퀀스 
CREATE SEQUENCE [시퀀스명]
INCREMENT BY [N] -- 증가 숫자
START WITH [N] -- 시작 숫자
MINVALUE [N] -- 최소값
MAXVALUE [N] -- 최대값                               
CYCLE OR NOCYCLE -- CYCLE 설정시 최대값에 도달하면 최소값부터 다시 시작 NOCYCLE 설정시 최대값 생성 시 시퀀스 생성중지
CACHE OR NOCACHE -- CACHE 설정시 메모리에 시퀀스 값을 미리 할당하고 NOCACHE 설정시 시퀀스값을 메로리에 할당하지 않음
*/

CREATE SEQUENCE KOS_FILE_IMAGE_SEQ
INCREMENT BY 1
START WITH 1
MAXVALUE 9999;

-- 순환하지 않음
-- 메모리에 시퀀스값 미리 할당

INSERT INTO KOS_FILE_IMAGE (FNUM, FNAME, FPATH, INSERTDATE, UPDATEDATE)
VALUES (KOS_FILE_IMAGE_SEQ.NEXTVAL, '11', '11', SYSDATE, SYSDATE);

-- 해당 시퀀스 값 조회
SELECT KOS_FILE_IMAGE_SEQ.CURRVAL FROM DUAL;
-- 전체 시퀀스 조회
SELECT * FROM USER_SEQUENCES;

INSERT INTO KOS_FILE_IMAGE(FNUM, FNAME, FPATH, INSERTDATE, UPDATEDATE) VALUES ('11', '11', '11', SYSDATE, SYSDATE);

ROLLBACK;
COMMIT;
UPDATE KOS_FILE_IMAGE SET FNAME='test';

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

  • FileVO.java
package a.b.c.test.vo;

public class FileVO {

	private String fnum;
	private String fname;
	private String fpath;
	private String insertdate;
	private String updatedate;
	
	// 생성자
	public FileVO() {
		
	}

	public FileVO(String fnum, String fname, String fpath, String insertdate, String updatedate) {
		
		this.fnum = fnum;
		this.fname = fname;
		this.fpath = fpath;
		this.insertdate = insertdate;
		this.updatedate = updatedate;
	}
	
	// getter
	public String getFnum() {
		return fnum;
	}
	public String getFname() {
		return fname;
	}
	public String getFpath() {
		return fpath;
	}
	public String getInsertdate() {
		return insertdate;
	}
	public String getUpdatedate() {
		return updatedate;
	}
	
	// setter
	public void setFnum(String fnum) {
		this.fnum = fnum;
	}
	public void setFname(String fname) {
		this.fname = fname;
	}
	public void setFpath(String fpath) {
		this.fpath = fpath;
	}
	public void setInsertdate(String insertdate) {
		this.insertdate = insertdate;
	}
	public void setUpdatedate(String updatedate) {
		this.updatedate = updatedate;
	}
}
  • fileupload_3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%-- log4j 관련 객체 import --%> 
<%@ page import=" org.apache.log4j.LogManager" %>
<%@ page import="org.apache.log4j.Logger" %>

<%@ page import="a.b.c.common.CommonUtils" %>
<%@ page import="a.b.c.common.FileUploadUtil" %>

<%@ page import="java.util.ArrayList" %>

<!-- 커넥션 클래스 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" %>

<%@ page import="a.b.c.test.vo.FileVO" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>FILE UPLOAD JSP</title>
<!-- CDN -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">	
	
	$(document).ready(function(){
				
		// fnumChk
		$(document).on("click", "#fnumChk", function(){
			
			alert("fnumChk >>> : ");		
			
			if($(this).prop('checked')){			 				
				$('.mnumCheck').prop('checked',false);
				$(this).prop('checked',true);
			}
		});
		
		
		//  U
		$(document).on("click", "#U", function(){
			// alert("U >>> : ");	
			
			if ($('.fnumChk:checked').length == 0){
				alert("이미지 하나를 선택하세요!!");
				return;
			}
		});
		
		//  U
		$(document).on("click", "#U", function(){	
			if ($('.fnumChk:checked').length == 0){
				alert("이미지 하나 하나를 선택하세요!!");
				return;
			}
			$("#checkForm").attr({ 
				"action":"/KosMember/kos_fileupload/fileupload_img.jsp",
				"method":"GET",
				"enctype":"application/x-www-form-urlencoded"}).submit();
		});
	
	});
</script>
<style type="text/css">

	#circle {border-radius: 50%;}
	
</style>
</head>
<body>
<h3>FILE UPLOAD JSP</h3>
<hr>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("fileupload_3.jsp 페이지 >>> :");

	String filePaths = CommonUtils.TEST_IMG_UPLOAD_PATH;
	int size_limit = CommonUtils.TEST_IMG_FILE_SIZE;
	String encode_type = CommonUtils.TEST_IMG_ENCODE;
	String filename1 = "";
	
	FileUploadUtil fu = new FileUploadUtil();
	boolean bool = fu.fileUpload3(request, filePaths, size_limit, encode_type);
	
	ArrayList<FileVO> aList = null;
	
	if (bool){
		String name = fu.getParameter("name");
		ArrayList<String> aListFile = fu.getFileNames();
		filename1 = aListFile.get(0);
		
		logger.info("name >>> :" + name);
		logger.info("filename1 >>> :" + filename1);
		
		// 파일 이름 테이블에 적재하기 --------------------
		Connection conn = null;
		PreparedStatement pstmt = null;
		int nCnt = 0;
		
		conn = KosConnectivity.getConnection();
		String sqls = "INSERT INTO KOS_FILE_IMAGE (FNUM, FNAME, FPATH, INSERTDATE, UPDATEDATE) VALUES (KOS_FILE_IMAGE_SEQ.NEXTVAL, ?, ?, SYSDATE, SYSDATE)";
		logger.info("INSERT >>> :" + sqls);
		pstmt = conn.prepareStatement(sqls);
		
		pstmt.clearParameters();	
		pstmt.setString(1, name);
		pstmt.setString(2, filename1);
		
		nCnt = pstmt.executeUpdate();
		
		if (nCnt > 0) {
			
			Connection conn_s = null;
			PreparedStatement pstmt_s = null;
			ResultSet rsRs_s = null;
			
			conn_s = KosConnectivity.getConnection();
			String sqls_s = "SELECT * FROM KOS_FILE_IMAGE ORDER BY 1";
			logger.info("SELECT >>> :" + sqls_s);
			pstmt_s = conn_s.prepareStatement(sqls_s);
			
			rsRs_s = pstmt_s.executeQuery();
			
			if (rsRs_s !=null){
				
				aList = new ArrayList<FileVO>();
				
				while (rsRs_s.next()){
					FileVO fvo = new FileVO();
					fvo.setFnum(rsRs_s.getString(1));
					fvo.setFname(rsRs_s.getString(2));
					fvo.setFpath(rsRs_s.getString(3));
					aList.add(fvo);
				}	
			}
		}
	}else{
		System.out.println("업로드 실패 !!!");
	}
	
%>
<!-- html img 태그의 src 경로 속성은 웹 경로를 사용한다.  -->	
<form name="checkForm" id="checkForm">
<table border="1">
		<tr>
			<td><input type="checkbox" class="chkAll" name="chkAll" id="chkAll"></td>
			<td>순번</td>
			<td>이름</td>			
			<td>파일</td>
		</tr>

<%
	if (aList !=null && aList.size() > 0){
		
		for (int i=0; i < aList.size(); i++){
			FileVO _fvo = aList.get(i);
%>
		<tr>
			<td>
				<input type="checkbox" class="fnumChk"  name="fnumChk" id="fnumChk" value=<%= _fvo.getFnum() %> >
			</td>	
			<td>
				<%= _fvo.getFnum() %>	
			</td>
			<td>
				<%= _fvo.getFname() %>				
			</td>			
			<td>
				<img id="circle" src="/KosMember/upload/aaaa/<%= _fvo.getFpath() %>" width="50" height="50"><br>				
			</td>
		</tr>

<%			
		}
	}
%>
		<td colspan="5" align="right">
			<input type="hidden" name="ISUD_TYPE" id="ISUD_TYPE" value="">			
			<input type="button" value="이미지보기" id="U">								
		</td>
</table>
</form>	
</body>
</html>

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

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

<%-- log4j 관련 객체 import --%> 
<%@ page import=" org.apache.log4j.LogManager" %>
<%@ page import="org.apache.log4j.Logger" %>

<%@ page import="a.b.c.common.CommonUtils" %>
<%@ page import="a.b.c.common.FileUploadUtil" %>

<%@ page import="java.util.ArrayList" %>

<!-- 커넥션 클래스 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" %>

<%@ page import="a.b.c.test.vo.FileVO" %>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>FILEUPLOAD IMG</title>
	<script type="text/javascript">
	</script>
	<style type="text/css">
		
		.wrap {
			width: 300px;
			height: 100px;
			margin: 100px auto;
		}
		
		#circle {border-radius: 50%;}
		
	</style>
</head>
<body>
	<%
		Logger logger = LogManager.getLogger(this.getClass());
		logger.info("fileupload_img.jsp 페이지 >>> : ");
		
		String fnumChk = request.getParameter("fnumChk");
		
		FileVO fvo = null;
		fvo = new FileVO();
		fvo.setFnum(fnumChk);
		
		Connection conn_s = null;
		PreparedStatement pstmt_s = null;
		ResultSet rsRs_s = null;
		ArrayList<FileVO> aList = null;
		
		conn_s = KosConnectivity.getConnection();
		String sqls_s = "SELECT * FROM KOS_FILE_IMAGE WHERE FNUM = ? ";
		logger.info("SELECT >>> : " + sqls_s);
		
		pstmt_s = conn_s.prepareStatement(sqls_s);
		pstmt_s.clearParameters();
		pstmt_s.setString(1, fvo.getFnum());
		
		rsRs_s = pstmt_s.executeQuery();
		
		if (rsRs_s != null) {
			
			aList = new ArrayList<FileVO>();
			
			while (rsRs_s.next()) {
				FileVO _fvo = new FileVO();
				_fvo.setFnum(rsRs_s.getString(1));
				_fvo.setFname(rsRs_s.getString(2));
				_fvo.setFpath(rsRs_s.getString(3));
				aList.add(_fvo);
			}
		}
		
		FileVO __fvo = aList.get(0);
		logger.info("__fvo.getFpath() >>> : " + __fvo.getFpath());
		// out.println("__fvo.getFpath() >>> : " + __fvo.getFpath());
	%>
	<div class="wrap">
		<h3>fileupload_img</h3>
		디비 조회해서 사진 정중앙에 디피하기
		<hr>
		<img id="circle" src="/KosMember/upload/aaaa/<%= __fvo.getFpath() %>">
	</div>
</body>
</html>

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

  • fileupload_3.html
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>FileUpload</title>
</head>
<body>
	<h3>FILE UPLOAD</h3>
	<hr>
	<form	name="fileUploadForm"
			action="/KosMember/kos_fileupload/fileupload_3.jsp"
			method="POST"
			enctype="multipart/form-data">
			
		이름 : <input type="text" name="name"/><br>
		파일1 : <input type="file" name="filename1"/><br>
		<input type="submit" value="전송">
	</form>
</body>
</html>


Notes


728x90