회원가입 뷰(view)단 핵심 사항


form 태그

 

  ㆍaction = "전송할 URL" (default 값은 자기 자신)

 

  ㆍmethod

          1. GET(default) - 쿼리스트링을 통해 데이터 전달(head만 있고 body는 없음)

          2. POST - head와 body가 모두 존재하고, 데이터를 body로 전달

 

formCheck() 함수

 

 자바스크립트를 통해 올바르게 값을 입력하도록 해줌. 이후 form 태그에 onsubmit(전송할 때 formCheck() 함수를 호출)을 통해 이벤트 걸어주기.

 

※ 그 외에 유용한 기능

    autofocus => 해당 input에서 커서가 자동으로 깜빡거리도록 설정.

    element.select() => 값을 잘못 입력할 경우 해당 값이 자동으로 선택되도록 설정

 

 

 

 

컨트롤러(Controller) 핵심 사항


@RequestMapping 어노테이션은 생략할 경우 (value="/생략", method={RequestMethod.GET, RequestMethod.POST})와 같이 기본적으로 설정돼 있기 때문에 GET 방식과 POST 방식 모두를 허용한다. 원하는 RequestMethod만을 작성하여 둘 중 하나의 방식만을 허용할 수도 있다. 또한 맵핑 URL이 같더라도 Method로 구분되면 중복될 수 있다.

 

이때, @RequestMapping 작성을 통해 복잡하게 작성하는 것 대신 @GetMapping과 @PostMapping을 통해 허용 메서드 방식을 간단히 그리고 명확히 작성해줄 수 있다. 

 

※ @GetMapping과 @PostMapping 어노테이션은 Spring 4.3 버전부터 사용 가능하므로 pom.xml 파일을 통해 설정한다. 

 

이때 @PostMapping 어노테이션을 사용하여 회원가입 할 수 있도록 한다. 그 이유는 GET 방식 즉 쿼리스트링 입력을 통해 회원가입을 허용하게 되면 패스워드 노출의 위험이 있고, 자동 가입이 될 수 있기 때문에 이를 방지하기 위해서이다.

 

 

 

 

URL 인코딩(Encoding)과 URL 디코딩(Decoding)


URL 인코딩은 아스키가 아닌 글자들(non-ASCII)을 문자코드(16진수) 문자열로 변환하는 것을 의미하고, 반대의 과정을 디코딩이라고 한다.

 

요청을 받는 서버가 꼭 우리와 같은 OS와 인코딩을 사용한다는 보장이 없다. 따라서 어떤 OS인지, 어떤 인코딩을 사용할 지 모르기 때문에 URL 인코딩이 필요하다.

 

※ URL 인코딩 vs Base64

URL 인코딩 => 문자코드(숫자)를 문자열로 변환 (역 포함)

Base64 => 바이너리 데이터를 Text로 변환(역 포함)

 

+ Recent posts