84일차_Spring

서창민·2023년 7월 11일

Spring

목록 보기
11/15
post-thumbnail

23.07.11 84일차

Spring

  • SQL 문의 논리적인 실행 순서
1. FROM: 데이터를 가져올 테이블을 지정합니다.

2. WHERE: 가져올 행(row)을 필터링합니다.

3. GROUP BY: 행을 그룹화합니다.

4. HAVING: 그룹에 대한 조건을 지정합니다.

5. SELECT: 열을 선택합니다.

6. ORDER BY: 결과를 정렬합니다.

7. LIMIT: 결과 행의 수를 제한합니다.

오라클의 쿼리문을 사용할때 주로 사용하는 내용이다.

  • 날짜 포맷팅
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<fmt:parseDate  value="${m.joindate}" var="registered" pattern="yyyy-MM-dd" />
<fmt:formatDate value="${registered}" pattern="yyyy년MM월dd일" /></td>

JSP 파일에서 날짜를 나타낼때 Taglib의 fmt(포맷팅)을 통해 날짜의 유형을 선택하여 화면에 나타낼 수 있다.

단 VO에서 joindate가 있는 VO에서 Date의 라이브러리가 SQL과 Util 형식이 있는데, 해당 날짜의 포맷을 정할때는 오류가 발생할수 있으니 잘 숙지하고 사용하자.

  • 아이디 체크(중복검사)
Controller.java

	   @RequestMapping("/IdCk.do")
	   void IdCk(HttpServletResponse response ,koreaVO vo ) throws Exception   {
	    
		    PrintWriter out=response.getWriter();
		    String str = service.idCk(vo);
		    System.out.println("===> str:" + str);
		    
		    if (str==null) {
		      if (vo.getId()!="") {	
		        out.print("T");
		      }
		    }else {
		      out.print("F");	
		    }

컨트롤러에서 IdCk.do 의 맵핑을한 아이디 중복검사 동작을 만들고

<script>
 jQuery.ajaxSetup({cache:false})
 var path = '${path}' 
 $(document).ready(function() {
		$("#ckBtn").click(function() {
						
			var idValue = $("#id").val();
						
			var dataStr = {
				id : idValue
			};

			$.ajax({
				type : "GET",
				url : path + "/IdCk.do",
				data : dataStr,
				success : function(data) {
					if (data == "T") {
						alert("사용가능한  ID 입니다.")
					} else {
						alert("사용 불가능한 ID 입니다.")
						$("#id").val("");
						$("#id").focus();
					}

				}
			})
		})

	})



 function formCh(){
   if (f1.id.value==""){
	   alert("ID를 입력해 주세요!!");
	   f1.id.focus()
	   return false;
   } else if(f1.password.value==""){
	   alert("암호를 입력해 주세요!!");
	   f1.password.focus()  
	   return false;
   }	
	
}

</script>

jsp 스크립트에서 ajax를 이용한 아이디와 비밀번호 공백 시 알림 설정과
아이디의 값이 존재 유무에 따라 로그인이 가능하도록 설정한다.

게시판을 만들때 유용하게 사용할 수 있으나, AJAX는 Script에서 사용하므로
오류의 발견이 더딜수 있으니 작성시에 동작 확인을 꼼꼼히 해야할 것 같다.

profile
Back-end Developer Preparation Students

0개의 댓글