Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

칠리설탕의 it

Day14(사원등록) 본문

JAVA & JDBC/Project(식권 발매 프로젝트)

Day14(사원등록)

chillisugar 2024. 9. 29. 14:04

안녕하세요. 이번 프로젝트의 마지막을 달리는 것 같습니다.

오늘은 이번 프로젝트의 마지막 조건에 대해서 해결해보도록 하겠습니다.

 

 

 

조건 1)

[사원등록] 폼의 사원번호는 자동으로 기존 마지막 사원번호+1이 적용되어 입력되고, 직접 입력할 수 없도록 제어하시오.

 

마지막 사원번호에서 1이 추가되어서 사원번호가 나오고 직접입력할수 없기에 sql문을 통해 member데이터베이스안의 memberNo행의 최고 숫자를 뽑아내는 select max(memberNo) from member을 통해 뽑아내고 setEnalbed(false)를 통해 비활성화 시키겠습니다.

 

 

 

위와 같은 코드를 실행하면 아래의 결과와 같이 결과값이 나오게 됩니다.

 

조건2)

패스워드’, ‘패스워드 재입력에 입력한 문자열을 ''로 표시하고, 숫자가 아닌 문자를 입력하거나 4글자를 초과하여 입력 시 내용이 즉각 지워지도록 처리하시오.

 

‘패스워드’, ‘패스워드 재입력’에 입력한 문자열을 '●'로 표시하기 위해 위의 사원등록 폼을 생성할때 JPasswordField를 통해 생성하였습니다. 또한 숫자가 아닌 문자를 입력하거나 4글자를 초과할 경우 입력내용이 즉각 지워지도록 하는 부분은 정규 표현식을 통해서 조건을 만족시키도록 하겠습니다.

 

오직 숫자만 입력이 되야하고 4글자를 초과할수 없기에 다음과 같은 정규식을 작성했습니다.

public static final String REGEXP_PATTERN_NUMBER = "^[0-9]{0,4}$";
^: 문자열의 시작을 의미합니다. 
[0-9]: 숫자(0-9) 중 하나를 의미합니다. 
{0,4}: 앞에 나온 [0-9]가 0번에서 4번까지 반복될 수 있음을 의미합니다. 
$: 문자열의 끝을 의미합니다.

 

정규 표현식을 통해 JPasswordField에 작성한 텍스트가 정규표현식에 일치하면 true를 반환 일치하지 않으면 false를 반환시켜 만일 false이면 텍스트를 지우도록 하였습니다.

 

 

조건 3)

패스워드패스워드 재입력에 패스워드를 입력하고 Tab키를 눌러 다른 컴포넌트로 커서 이동 시 서로 일치하지 않을 경우 [그림 2-35]와 같이 불일치텍스트가 빨간색으로 나타나게 하고, 서로 일치하는 경우 [그림 2-36]과 같이 일치텍스트가 파란색으로 나타나게 하시오.

 

조건 3)은 조건 2)를 이용하여 ‘패스워드 재입력’ 부분도 정규표현식을 통해 조건2)를 확인하고 ‘패스워드’ ‘패스워드 재입력’의 텍스트가 같은지 아닌지 확인했습니다.

 

 

 

조건 4) / 조건 5) / 조건 6) / 조건 7)

 

조건 4: 필수 항목을 입력하지 않고 [등록] 버튼 클릭 시 [그림 2-37]의 메시지가 출력되도록 하시오.

조건 5: 패스워드패스워드 재입력이 서로 일치하지 않은 상태에서 [등록] 버튼 클릭 시 [그림 2-38]의 메시지가 출력되도록 하시오.

조건 6: 조건 3), 4)를 위배하지 않고 [등록] 버튼을 클릭하면 [그림 2-39]의 메시지가 출력되고 DB에 데이터가 저장되도록 하시오. 또한 등록된 사원번호와 패스워드로 식권 결제가 가능하도록 하시오.

조건 7: [닫기] 버튼을 클릭하면 폼이 종료되도록 하시오.

 

 

 

이렇게 프로젝트의 마지막 조건을 만들어보았습니다.

다음에는 마지막 최종본으로 돌어오겠습니다!!

감사합니다!