[Boostcourse] 풀스택/웹 프로그래밍(풀스택)

Request의 파라미터 읽어오기 { getParameter( ), 동적웹과 form 태그 }

Ben의 프로그램 2023. 7. 14. 20:18
728x90
수업목표
이번에는 URL 주소의 파라미터 정보를 읽어 들여 브라우저 화면에 출력해보겠습니다. 
URL 주소에서 ? 물음표 이후의 부분을 파라미터라고 합니다. 중간에 & 엔퍼센트가 들어있는데요. & 엔퍼센트가 기준점인데요. & 를 기준으로 더 많은 파라미터들을 나열할 수 있습니다. 첫 번째 파러미터를 보면 = 이퀄을 기준으로 앞에 있는 name 은 파라미터 이름이고 뒤에 있는 것은 파라미터 값입니다. 즉 name 파라미터의 값은 kim 이고 age 파라미터의 값은 5라는 의미입니다. 이 정보들은 클라이언트가 넘겨준 값입니다. 이 값을 서버가 읽어들여서 사용하면 되겠습니다. 해당 작업을 수행할 수 있는 서블릿 파일을 하나 작성해보고자 합니다. 

 

파라미터 값 출력하기
클라이언트가 전송한 모든 내용을 갖고 있는 객체인 request 한테 getParameter( ) 메서드를 실행하여 파라미터를 사용할 수 있습니다.이때 파라미터 값을 받아야 하기 때문에 인자로 파라미터 이름을 넣어줍니다. 즉 request.getParameter(parameterName) 인 것이죠. 이렇게 하면 request 에 담겨 있던 파라미터 중에서 내가 입력한 parameterName 이 갖고 있던 parameter 값이 출력됩니다. 그리고 다음으로 조금 이상해 보이는 코드는 age 를 String 변수에 담고 있는 것을 볼 수 있는데, parameter 값을 넘겨 받을 때 문자로 받아오기 때문에 그렇습니다. 

위 서블릿을 실행한 결과입니다. 어라? name 하고 age 에 null 값이 들어가있네요. 왜 그럴까요? 왜냐하면 우리가 URL 에 name 하고 age 에 대한 파라미터를 던져주지 않았기 때문입니다. 다음과 같이 파라미터를 추가하고 새로고침을 해봅시다. 

URL 에 ?name=kim&age=5 라고 입력하니까 html 도 맞추어서 수정된 것을 확인할 수 있습니다. 우리가 파라미터 값을 전달하는 것에 따라서 웹이 변경되는 것을 볼 수 있는데, 이런 것을 우리가 동적인 웹사이트라고 했었습니다. 그런데 이런 파라미터들은 반드시 URL 을 통해서 넘어오는 것은 아닙니다. HTML 의 Form 태그가 있는데요. form 태그 안에서 input 이라는 태그를 사용할 수 있는데요. input 태그 안의 들어있는 값들도 똑같이 파라미터로 넘어오기 때문에 똑같은 방법으로 꺼내서 사용하면 됩니다. 

 

 

 

 

 

 

 

 

출처 : boostcourse 웹 프로그래밍(풀스택) 
https://www.boostcourse.org/web316/lecture/20655?isDesc=false