검색, 필터, 페이징 등에서 많이 사용.
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 |