JSP 4 - GET 쿼리스트링 ( GET Query String )
이전 글( https://verycrazy.tistory.com/96 )에서,
@WebServlet 어노테이션을 사용해 Servlet 클래스를 생성했다.
이제 이 서블릿을 어떻게 사용하면
사용자의 GET 요청에 담겨오는 쿼리스트링을 처리할 수 있을까?
예시
http://www.이것이주소다.com/sayHello
http://www.이것이주소다.com/sayHello?count=3
? 이후에 오는 count가 쿼리스트링 값이다.
말 그대로 스트링(String)으로 받기 때문에,
정수로 사용할 것이라면 parsing해줘야 한다.
코드
@WebServlet("사용자에게_받을_경로")
public class 머시깽이클래스 extends HttpServlet{
@Override
public void service(HttpServletRequest request, HttpServletResponse response){
int count = Integer.parseInt(request.getParameter("count"));
for(int i=0; i<count; ++i){
System.out.println("Hello");
}
}
}
count로 들어오는 값이 null일 수도 있기 때문에
null 포인터 검사를 적절히 해주어야 하고,
더불어 0일 때나 음수일 때의 특이값에 대해서도 처리를 알맞게 처리해줘야 한다.
태그
보통 사용자가 쿼리값을 넣는 건 아니다.
따라서, html의 태그를 활용한다.
1. <a> 태그의 href 속성을 활용한 버튼을 쓰거나
<a href="sayHello?count=5">
2. <form> 태그와 <input> 태그의 name 속성을 활용한 입력창을 통해서 값을 건네준다.
<form action="sayHello">
<input type="text" name="count">
</form>
action 속성에 데이터가 도착할 url인 sayHello 따위를
잊어버리고 지정해주지 않아 에러가 발생하는 경우가 있다.