회원가입 뷰(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로 변환(역 포함)
'[패스트캠퍼스] 스프링의정석 정리 > JSP & Servlet' 카테고리의 다른 글
쿠키(Cookie)와 세션(Session) (2) | 2023.05.17 |
---|---|
Redirect와 Foward (0) | 2023.05.14 |
EL / JSTL 정리 (0) | 2023.05.12 |
유효범위에 따른 저장소, URL 패턴, 필터 (0) | 2023.05.11 |
JSP & Servlet 개념 정리 (1) | 2023.05.11 |