GET/POST 처리하기
GET 방식은 '입력과 조회'
브라우저에서 직접 접근하는 GET 방식은 주로 조회나 입력하는 화면에 많이 사용된다.
웹 주소창 뒤에 '?'로 시작하는 것을 '쿼리 스트링'이라고 한다. 쿼리 스트링은 데이터를 전달하기 위해 사용된다.
쿼리 스트링은 'key = value' 값의 형태로 데이터를 전달하는데, 다수의 데이터가 필요한 경우에는 '&'를 사용해 연결할 수 있다. 이러한 형태를 '파라미터'라고도 한다.
-> ex) www.velog.io/write?id=hwibinissuccess
POST 방식은 '처리'
POST에 자주 사용되는 form 태그에서는 action과 method라는 속성을 이용해 말 그대로 어떤 방식으로 전송할 것인지 결정할 수 있다.
POST 방식은 GET 방식과는 다르게 주소창에 쿼리 스트링이 안 보일 것이다.
POST 방식은 주소와 데이터를 분리해서 전송하기 때문이다. 확인하려면 개발자 도구를 이용해야 한다.
POST 방식은 주로 '등록, 수정, 삭제'에 사용된다.
EL(Expresssion Language)
jsp 파일에서 '${}' 이렇게 표현되는 부분을 볼 수 있는데, 이는 JSP에서 사용하는 'EL'이라는 기술이다. 간단히 서버에서 데이터를 출력하는 용도이다.
EL을 이용할 때는 'param'이라는 이름의 지정된 객체를 이용해 현재 요청에 전달된 파라미터를 쉽게 추출할 수 있다.
예를 들어, form 태그에 num이라는 데이터가 있다면 ${param.num}과 같은 형태로 간편하게 사용할 수 있다.
웹의 파라미터는 문자열!
JSP가 브라우저에 전달하는 모든 데이터는 문자열로 처리된다.
따라서 때에 따라서 Integer.parseInt()로 감싸줄 필요도 있다.
JSP 사용법
JSP는 기본적으로 GET/POST 방식의 호출을 구분하지 않는다. 따라서 POST 방식으로 접근해야 하는 경우에도 GET 방식으로도 호출이 가능하여 문제가 생기곤 한다.
유지보수 측면에서도 문제가 있다. 예를 들어 hwibin.jsp를 hwibin2.jsp로 바꿨을 경우, 과거의 hwibin.jsp만 알고 있는 이용자들에게는 다시 주소가 변경되었다고 알려줘야한다.
따라서 JSP는 제한을 두고 사용하게 된다.
위의 문제를 해결하기 위해 나온 방식이 '웹 MVC'이다.