프로그래밍 공부/Servlet과 JSP

사용자 입력 받기 - GET 요청과 쿼리 스트링

valid_ming 2021. 5. 31. 11:40

 

뉴렉처 강사님의 동영상 강의를 정리한 글입니다.

 

클라이언트가 서버에 요청하는 것은 보통 "http://localhost/hello"와 같은 문서이다.

문서를 요청할 때  "http://localhost/hello?cnt=3" 과 같이 인자를 함께 전달할 수 있다.

이를 쿼리 스트링이라고 한다. 

 

쿼리 스트링은 request 객체를 통해 받아올 수 있다.

 

Nana.java

int cnt = Integer.parseInt(req.getParameter("cnt"));
for(int i=0;i<cnt;i++) {
	out.println((i+1)+": 안녕 !!<br/>");
}

 

request.getParameter를 통해 return 되는 값은 String이기 때문에 int로 형변환을 해주어 사용한다.

getParameter에 들어가는 인자의 이름은 url의 쿼리 스트링 부분과 일치해야 한다.

 

실행 결과

 

cnt에 값이 전달되지 않은 경우에는 다음과 같은 에러가 발생한다.

 

값을 전달하지 않더라도 오류를 발생시키지 않기 위해 기본값을 설정해보자.

 

String temp = req.getParameter("cnt");
int cnt = 0;
if(temp!=null && !temp.equals("")) {
	cnt = Integer.parseInt(temp);
}

for(int i=0;i<cnt;i++) {
	out.println((i+1)+": 안녕 !!<br/>");
}

 

임시 변수를 만들어 null과 빈 배열이 아닌 경우에만 cnt 값을 설정하도록 변경한다.