HttpServletRequest에는 여러 메서드가 있다. 그 중 자주 쓰이는 메서드들을 살펴보자.
<들어가기 전에>
- 우리가 주소창에 정보를 요청할 때 물음표 뒤에 추가데이터가 오는데, 이를 QueryString(쿼리스트링)이라고 한다.
- 쿼리스트링은 말 그대로 String 이기 때문에 값을 받을 때 String타입으로 받아줘야한다.
- 쿼리스트링은 name, value한 쌍으로 이루어져 있다. ex) year, month, day는 name이고 2021, 10, 1은 value이다.
<1,2,3번 예제에 사용될 주소>
http://localhost:9000/ch2/requestInfo?year=2022&month=2&day=6
<4번 예제에 사용될 주소>
http://localhost:9000/ch2/requestInfo?year=2022&year=2023&year=2024
1. getParameter()
- name에 해당하는 데이터를 넣어주면 그 데이터에 해당하는 value값을 얻을 수 있다.
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
System.out.println(year); //2022
System.out.println(month); //2
System.out.println(day); //6
- 만약 이렇게 문자열로 저장된 숫자 데이터를 int 타입으로 바꾸고 싶다면 Integer.parseInt() 메서드를 통해 바꿔주면 된다.
//위 문자열을 숫자로 바꿔준다.
int yyyy = Integer.parseInt(year);
int mm = Integer.parseInt(month);
int dd = Integer.parseInt(day);
2. getParameterNames()
- 쿼리스트링 중 name값을 받을 수 있다.
Enumeration<String> enumeration = request.getParameterNames();
while ( enumeration.hasMoreElements()){
String name = (String) enumeration.nextElement();
System.out.println(name);
}
//출력결과
/*
* year
* month
* day
*/
3. getParameterMap()
- 쿼리스트링을 key, value형식의 Map으로 반환한다.
Set<String> keySet = request.getParameterMap().keySet();
for(String key: keySet) {
System.out.println(key + ": " + request.getParameter(key));
}
//출력 결과
/*
* year: 2022
* month : 2
* day : 6
*/
4. getParameterValues()
- 받고자 하는 쿼리스트링의 name이 같을 때 배열로 받을 수 있다.
String[] names = request.getParameterValues("year");
for(String name : names) {
System.out.println(name);
}
//출력결과
/*
* 2022
* 2023
* 2024
*/
'Spring' 카테고리의 다른 글
Servlet과 JSP (0) | 2022.03.01 |
---|---|
스프링 컨트롤러 메서드의 반환타입(String, void, ModelAndView) (0) | 2022.02.14 |
1-3. 콘솔이 아닌 브라우저에 출력하기 (0) | 2022.01.30 |
1-2. 서버에서 파라미터 받아 콘솔에 출력하기 (0) | 2022.01.28 |
1-1. 웹(원격or서버)과 스프링 프로젝트 연결하기 (0) | 2022.01.28 |
댓글