본문 바로가기

수업 & 공부/수업 내용

33- 게시판 리뷰 (회원가입)

1. 추가된 페이지와 변경점

 

 

4- 게시판 (회원가입 기능)

추가된 페이지와 구조 signUp.jsp 1. script를 사용하여 비밀번호 검사를 구현한다. (pwd와 pwdCheck가 같아야지 submit 통과) 2. 비밀번호 검사를 통과했을때 EndUser에게 입력받은 id와 pwd값을 controller를 통..

dwc04112.tistory.com

 

PasswordEncoder

  여기서 hash처리 로직을 Common 패키지의 PasswordEncoder로 빼서 구현했다.

  Hash처리하는 코드를 다른곳에서 쉽게 불러올 수 있다. 

  아래는 PasswordEncoder 코드이다

 

public class PasswordEncoder {
    public static String getEncodedPassword(String rawPassword, String salt) {
        String passwordSalt = rawPassword + salt;
        String encodedPassword = null;
        try {
            MessageDigest digest = MessageDigest.getInstance("SHA-1");
            digest.reset();
            digest.update(passwordSalt.getBytes(StandardCharsets.UTF_8));
            encodedPassword = String.format("%040x", new BigInteger(1, digest.digest()));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return encodedPassword;
    }
}

 

 

signUp.jsp 코드 중 script

  script의 '=='와 '===' 차이의 기준은?

  타입의 값과 타입까지 비교하냐? 에 따라 '===' : '==' 으로 나뉜다

  더 정확하고 확실한 비교를위해 스크립트에서 '=='으로 작성된 코드를 다 고쳤다.

int a = i;
string b = i;
//a == b :: true
//a === b :: false

 

 

 

controller의 로그인 처리를 Redirect로 해보자

  이때까지 forward로만 처리해서 로그인 기능을 redirect로 처리해보았다.

  앞에서 배운 것 처럼 'forward'는 최초에 호출한 URL만 표시되고

  'redirect'명령이 들어오면 웹브라우저는 URL을 지시된 주소로 바꾸고 해당 주소로 이동한다.

 

다음은 forward방식으로 로그인 처리를 한 url이다
다음은 redirect방식으로 로그인 처리를 한 url이다

 

 

 

 


 

 

 

2. 게시판 리뷰 (회원가입) 느낀점

 

  form부분에서 고민이 많았는데 form의 name(reqSignUp)을 지정해줘서 
  script에서 reqSignUp.submit 을 실행하여 구현하는 방법도 새롭게 느껴졌다.

  이 방법으로 아이디 중복확인 부분도 구현해보면 좋을 것 같다!

 

  그리고 PasswordEncoder를 따로 빼서 코드가 많이 깔끔해졌고 보기도 편해졌다.

  내 코드에도 Hash처리를 따로 빼서 다시 구현해봐야겠다!