[Spring] Httpservlet 메서드
2024. 7. 8. 19:44ㆍWebBack/Spring
Spring 주제 | URL |
원격 프로그램은 어떻게 실행될까? | https://ycraah.tistory.com/37 |
AWS에 배포하기 | https://ycraah.tistory.com/38 |
HTTP 요청을 받아 화면에 출력하기 | https://ycraah.tistory.com/39 |
resourse폴더 이용하기 | https://ycraah.tistory.com/40 |
1. getParameter
URL에서 ? 이후를 QueryString이라고 한다. 추가적인 데이터를 보내는데 사용된다.
QueryString은 name과 value 한 쌍으로 값이 붙어있다. 그리고 각 쌍은 '&'을 통해서 구분된다. 이 파라미터 값을 얻으려면 getParameter()을 이용하면 된다.
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
참고로 파라미터는 '문자열'이기 때문에 저장할 때에도 String으로 저장해야한다. 만약 숫자로 읽으려고 한다면, 아래처럼 Integer을 이용해야한다.
int yyyy = Integer.parseInt(year);
int mm = Integer.parseInt(month);
int dd = Integer.parseInt(day);
2.getParameterNames
만약, name만 뽑아서 값을 읽고 싶다면 어떻게 해야할까? 다음과 같이 할 수 있다.
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
public void printRequestParameters(HttpServletRequest request) {
Enumeration<String> parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {
String paramName = parameterNames.nextElement();
String paramValue = request.getParameter(paramName);
System.out.println("Parameter Name: " + paramName + ", Value: " + paramValue);
}
}
여기서 Enumeration은 Java의 Iterator과 동일한 역할을 한다고 생각하면 된다.
3.getParameterMap
getParameterMap을 이용하면 전송될 파라미터를 map 형태로 저장할 수도 있다.
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
public void printRequestParameters(HttpServletRequest request) {
Map<String, String[]> paramMap = request.getParameterMap();
for (Map.Entry<String, String[]> entry : paramMap.entrySet()) {
String paramName = entry.getKey();
String[] paramValues = entry.getValue();
System.out.print("Parameter Name: " + paramName + ", Values: ");
for (String value : paramValues) {
System.out.print(value + " ");
}
System.out.println();
}
}
" /example?name=John&age=30&hobbies=reading&hobbies=traveling " 이렇게 입력하면 다음과 같이 저장한다.
{
"name": ["John"],
"age": ["30"],
"hobbies": ["reading", "traveling"]
}
4. getParameterValue
만약 name이 중복된다면 value를 배열로 저장할 수 있다.
import javax.servlet.http.HttpServletRequest;
public void printParameterValues(HttpServletRequest request) {
String name = request.getParameter("name");
String age = request.getParameter("age");
String[] hobbies = request.getParameterValues("hobbies");
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.print("Hobbies: ");
if (hobbies != null) {
for (String hobby : hobbies) {
System.out.print(hobby + " ");
}
}
System.out.println();
}
Name: John
Age: 30
Hobbies: reading traveling
'WebBack > Spring' 카테고리의 다른 글
[Spring] MVC 패턴 (0) | 2024.07.09 |
---|---|
[Spring] URL에서 포트 번호를 생략하는 방법 (0) | 2024.07.08 |
[Spring] resource 폴더 이용하기 (0) | 2024.07.08 |
[Spring] HTTP 요청을 받아 화면에 출력하기 (0) | 2024.07.08 |
[Spring] AWS에 배포하기 (0) | 2024.07.08 |