스프링/3. 스프링 MVC

10. GET 요청 정보

sdafdq 2023. 8. 4. 21:34

검색, 필터, 페이징 등에서 많이 사용.

 

http://url~~/~~~?username=hello&age=28

 

url 끝에 ?로 시작.

구분은 &로

 

@WebServlet(name="requestParamServlet", urlPatterns = "/request-param")
public class RequestParamServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("RequestParamServlet.service");

        request.getParameterNames().asIterator()
                .forEachRemaining(paramName -> System.out.println(paramName +" = " + request.getParameter(paramName)));

        String username = request.getParameter("username");
        String age = request.getParameter("age");

        System.out.println("username = " + username);
        System.out.println("age = " + age);

        String[] usernames = request.getParameterValues("username");
        for(String name : usernames){
            System.out.println("name = " + name);
        }

        response.getWriter().write("ok");
    }
}

request.getParameterNames()로 전체 파라미터 이름 가져오고, 이터레이터 모드로 바꾼 후, foreach로 돌림.

이걸 함수형? 으로 각각은 paramName이라고 이름 짓고(인자로 보내고), -> 다음 내용들을 각 원소마다 실행.

 

보통 request.getParameter 많이 씀. 그리고 보통 저렇게 모든 파라미터 이름 얻어와서 쓰는 경우 잘 없음.

 

request.getParameterValues()는 여러개 인자로 보냈을 때.

http://localhost:8080/request-param?username=hello&age=20&username=hello2

이렇게 username처럼. 

 

 

'스프링 > 3. 스프링 MVC' 카테고리의 다른 글

12. HTTP API 요청 데이터  (0) 2023.08.04
11. html form, POST 요청 정보.  (0) 2023.08.04
9. http 요청 데이터  (0) 2023.08.04
8. HttpServletRequest, Header  (0) 2023.08.03
7. Hello Servlet  (0) 2023.08.03