2024-01-24 (33일차) - JSP_AM 회원가입 기능

·2024년 1월 24일

📅2024-01-24, 33일차


TODO

[린][오후 10:04] TODO - 1/24
[프로그래머스]
1. 문제해석 (100%)
2. 문제풀이 (100%)
3. 2번을 코드로 번역 (100%)
4. 벨로그에 정리 (100%)

[JSP_AM]
1. <작업 22, 페이지 노출 갯수 조절> 다시보기
2. <작업 25, 회원가입 기능 구현, return false, JS 함수> 에서 "JoinForm__submit(this); 설명 다시 보기
3. 페이지 수 노출갯수 조절 로직 분석해보기


Teacher's Advice

  • 해저광케이블
  • 스타링크 (요즘 이슈 같은거 면접때도 물어보기도 함)
    • 요즘 이슈에 관해 관심을 더 기울이자
  • 개발자는 기획자의 요청사항을 해결해야한다
  • 머리쓰는 노동이다. 지금 우리가 하는건 훈련이다.

페이지네이션

생각의 흐름

12345까지는 페이지수가 제대로 나옴
>> 화살표를 클릭하면
맨 마지막페이지가 나옴

>> 를 클릭하면 맨 마지막 페이지가 아니라 그 다음 페이지가 나오게 하면 될 거 같음
그 다음 페이지는 -> 6페이지부터 ~ 10페이지까지
또 그다음 페이지는 -> 11페이지부터 ~ 15페이지까지

1 2 3 4 5 >> 에서 >>를 누르면 페이지가 1씩 증가함.
5에서 >>를 누르면 6페이지가 나오긴 함
그러나 1 2 3 4 5 가 6 7 8 9 10으로 바뀌지 않음

숫자가 바뀌어서 나올 수 있는 방법을 찾아야 함

회원가입 기능 구현

요구사항

회원가입 o

  • 아이디중복체크 x
  • member
    - id o
    - regDate o
    - loginId o
    - loginPw <-> loginPwConfirm o
    - name o
  • 로그인
  • 로그아웃

트러블슈팅

  1. 중복확인 버튼을 눌러도 회원가입이 되버림

    해결방법:
    button의 기본type은 submit
    type을 바꿔야 함. button으로

  2. 데이터가 공백이어도 회원가입이 됨

    해결방법:
    자바스크립트에서도 trim(); 함수가 가능했음!

<script type="text/javascript">
		function JoinForm__submit(form) {
			form.loginId.value = form.loginId.value.trim();
			
			if (form.loginId.value.length == 0) {
				alert('아이디를 입력해주세요');
				form.loginId.focus();
				return;
			}
			if (form.loginPw.value.length == 0) {
				alert('비밀번호를 입력해주세요');
				form.loginPw.focus();
				return;
			}
			if (form.loginPwConfirm.value.length == 0) {
				alert('비밀번호 확인을 입력해주세요');
				form.loginPwConfirm.focus();
				return;
			}
			if (form.name.value.length == 0) {
				alert('이름을 입력해주세요');
				form.name.focus();
				return;
			}
		}

알림창

확인 알림창

onclick="alert('hi');"
<a href="https://www.naver.com" onclick="if(confirm('진짜 이동 할거임???') == false) return false;"">naver</a>

확인/ 취소 버튼들이 있는 알림창 나옴

onclick="if(confirm('진짜 이동 할거임???') == false) return false;" 
<a href="https://www.naver.com" onclick="if(confirm('진짜 이동 할거임???') == false) return false;"">naver</a>

아이디 중복체크

생각의 흐름

회원가입시 입력 한 아이디와 데이터에 저장되어있는 아이디들과 대조하여 중복 여부를 확인해야함!
그.러.니.까.어.떻.게.?
맵? rows어쩌구 써야하나?

멤버리스트서블릿 이런거 필요할까-> 회원관련 요청은 받아야하니까 필요할지도?

멤버리스트 jsp 필요할까? -> 사용자가 볼 필요는 없으니 필요없겠다.

그럼 회원의 상세정보를 불러오기위한 서블릿과 비슷한 서블릿은? 아티클디테일? or 아티클리스트?
row필요하냐 rows 필요하냐를 생각해봐야겠군
여러개의 데이터들을 불러와서 대조해야하니까
rows여야하지않을까 -> 아티클리스트랑 비슷하겠군

for-each문으로 순환해서 비교하면 될 것 같음
만약에 입력된 loginId == memberRow의loginId가
같으면, break;

근데 입력된 loginId어떻게 호출하지..?

profile
hello world

0개의 댓글