69일차_JAVA

서창민·2023년 6월 19일
0

JAVA

목록 보기
21/21
post-thumbnail

23.06.19 월 69일차

JAVA

  • JQUERY 기반의 비동기 통신
자바스크립트와 제이쿼리는 같은 역할을 하나, 제이쿼리가 더 간소화 된 형태이다.

간소화 된 표기법은 $로 표기된다.
  • ajax를 이용한 상담일지 만들기
기본 테이블, 시퀀스, 내용 추가

-- 테이블 생성
Create table examtbl7 (
sno varchar2(5) not null primary key,
sname varchar2(10) ,
kor number(3) ,
eng number(3) ,
math number(3) ,
hist number(3)
);

-- 테이블 생성
Create  table exam_reply(
 idx  number(3)  not  null  primary  key,  -- 테이블에  P.K 만들기 
 sno  varchar2(5)  not  null,   -- Student 테이블과 외래키로 연결할 컬럼 만들기 
 reply nvarchar2(500)  not  null,  -- 댓글 내용 저장 ( 상담내용 )
 replayer  nvarchar2(10) not  null,  -- 댓글 작성자 
 replyDate  date  default sysdate  -- 댓글 작성일
) ;

-- 시퀀스 생성
create  sequence  seq_exam_reply; 

-- FK 추가
alter  table   exam_reply  add  constraint  fk_exame_reply
foreign  key(sno)  references  examtbl7(sno);


-- 레코드 추가
insert into examtbl7 values('10101','김학생', 75, 85, 90, 60);
insert into examtbl7 values('10102','이학생', 70, 75, 70, 60);
insert into examtbl7 values('10103','박학생', 70, 85, 80, 75);
insert into examtbl7 values('10201','조학생', 90, 85, 100, 50);
insert into examtbl7 values('10202','황학생', 65, 65, 60, 70);
insert into examtbl7 values('10203','임학생', 45, 55, 50, 55);
insert into examtbl7 values('10304','천학생', 70, 75, 85, 80);
insert into examtbl7 values('10305','남학생', 100, 85, 90, 90);
insert into examtbl7 values('10306','여학생', 80, 95, 90, 85);
insert into examtbl7 values('10307','노학생', 35, 55, 70, 55);


-- 레코드 추가
insert  into  exam_reply ( idx, sno, reply, replayer ) 
values (seq_exam_reply.nextval, '10101', '열심히 잘하고 있습니다.','선생님1' );

insert  into  exam_reply ( idx, sno, reply, replayer ) 
values (seq_exam_reply.nextval, '10102', '영어가 많이 향상 되었습니다.','선생님1' );

insert  into  exam_reply ( idx, sno, reply, replayer ) 
values (seq_exam_reply.nextval, '10103', '향상 노력하는 모습이 보기 좋습니다.!!','선생님2' );
전체 파일을 알집으로 첨부한다!

오늘의 핵심
ajax와 javaScript를 활용하여 상담일지의 댓들을 수정 삭제 생성하기

<script  src="http://code.jquery.com/jquery-1.10.2.js" ></script>
<script>
  var  path='${pageContext.request.contextPath}';
  
   // alert("경로확인:" +path);
  
  jQuery.ajaxSetup({cache:false});
  
  $(document).ready( function(){
	  $('#saveK').click( function(){
		 		 
		  // alert("확인2:" + $('#sno').val() + "," + $('#replyer').val()   +"," +  $('#reply').val()  +  $('#sw').val()  );
		  var  dataStr={
				 sno : $('#sno').val(),
				 sw : $('#sw').val(),
				 replyer : $('#replyer').val(),
				 reply : $('#reply').val()	
		  };
		  
		  $.ajax({
			  type: "GET",
			  url : path + "/ReplyController",
			  data : dataStr,
			  success: function (k){
			  if (k =='s') {
				  //  alert("저장성공!!" + $('#sno').val() + ":" + data);
				  location.replace(path+"/ReplyController?sw=E&sno="+$('#sno').val()) ;  
			  }else{
				  alert("저장실패!!") 
			  }	
			  }			  
		  })		  
	  } ) // $('#saveK').click  끝 
	   
	  	  
  })
 
  
  function delK(k1, k2){	  
	  //alert(k1 +":"+ k2)
	  var  dataStr={
			 sw : 'D', 
			 idx : k1			
	  };	  
	  $.ajax({
		  type: "GET",
		  url : path + "/ReplyController",
		  data : dataStr,
		  success: function (k){		
		  // alert("k2확인:" + k2)   
		  if (k =='s') {	
			  // alert("삭제성공 ---> 이동!!") 
			  location.replace(path+"/ReplyController?sw=E&sno=" + k2) ;  
		  }else{
			  alert("저장실패!!") 
		  }	
		  }			  
	  })		  
  } 
  
  function updateK(m){	  
	  alert("확인(idx2):" + m.name)
	  var  dataStr={
			 sw : 'U', 
			 idx : k1,
			 sno : k2,
			 reply : k3,
			 replyer : k4
			 
	  };	  
	  $.ajax({
		  type: "GET",
		  url : path + "/ReplyController",
		  data : dataStr,
		  success: function (k){		
		  if (k =='s') {	
			  // alert("삭제성공 ---> 이동!!") 
			  location.replace(path+"/ReplyController?sw=E&sno=" + k2) ;  
		  }else{
			  alert("저장실패!!") 
		  }	
		  }			  
	  })		
  
  } 
	  
  
</script>
profile
Back-end Developer Preparation Students

0개의 댓글