본문 바로가기
Programming | Study/JSP | Servlet

[servlet] 클라이언트가 보낸 데이터 확인하기

by jinju 2021. 5. 1.

간단하게 취향? 테스트 로직 구현한 뒤 보낸 데이터 확인하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>취향 테스트</title>
<style>
    ul{
        list-style-type:none;
    }
    ul>li{
        margin-bottom:20px;
    }
    </style>
</head>
<body>
<h1>재밌는 테스트~</h1>
<p>
데이터를 입력 후 확인버튼을 입력하세요!</p>
 
<form action="/mypage/testservlet.do" method="post">
<ul>
    <li>이름<input type="text" name="name"/></li>
    <li>나이 <input type="number" name="age"/></li>
    <li>키 <input type="text" name="weight"/></li>
    <li>좋아하는 색
        <label><input type="radio" name="color" value="red">빨강색</label>
        <label><input type="radio" name="color" value="orange">오렌지색</label>
        <label><input type="radio" name="color" value="yellow">노랑색</label>
        <label><input type="radio" name="color" value="green">초록색</label>
        <label><input type="radio" name="color" value="blue">파랑색</label>
        <label><input type="radio" name="color" value="black">검정색</label>
        </li>
        <li>좋아하는 음식 (중복가능)
                <label><input type="checkbox" name="foods" value="떡볶이">떡볶이</label>
                <label><input type="checkbox" name="foods" value="마라탕">마라탕</label>
                <label><input type="checkbox" name="foods" value="치킨">치킨</label>
                <label><input type="checkbox" name="foods" value="초밥">초밥</label>
                <label><input type="checkbox" name="foods" value="라면">라면</label>
                <label><input type="checkbox" name="foods" value="피자">피자</label>
            </li>
            <li>좋아하는 동물
                <select name="animal">
                    <option value="고양이">고양이</option>
                    <option value="강아지">강아지</option>
                    <option value="거북이">거북이</option>
                    <option value="햄스터">햄스터</option>
                </select>
                <li>
                <input type="submit" value="확인">
                <input type="reset" value="취소">
            </li>
            
</ul>
    </form>
 
</body>
</html>
cs

 

구현 화면

 

재밌는 테스트~

데이터를 입력 후 확인버튼을 입력하세요!

  • 이름
  • 나이
  • 좋아하는 색
  • 좋아하는 음식 (중복가능)
  • 좋아하는 동물

 

다음으로 클라이언트가 보낸 parameter값 받아오기

com.data.controller 패키지 생성후 servlet생성하기

 

먼저 post방식으로 전송된 데이터에 한글이 있는 경우 깨지는 현상이 발생하기에 encoding해주기

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
	}

 

이제 값 받아오기

 

기본 데이터 받기 : request.getParameter("key") -> 단일 값에 대해 가져올 때 사용

String name = request.getParameter("name");

기본적으로 전송되는 데이터는 모두 문자열 String type으로 받음

다른 자료형으로 저장을 하려면 다른 데이터로 파싱처리를 해야함

 

int age=Integer.parseInt(request.getParameter("age"));
double height=Double.parseDouble(request.getParameter("weight"));
String color=request.getParameter("color");
 

나이랑 키는 문자열이 아니니깐 두개 파싱처리

 

전송되는 데이터가 다중값일 때

request.getParameterValues("key") -> 다중 값을 받아올 때 사용하고 반환 -> String[] (배열)

String[] foods = request.getParameterValues("foods");
String animal = request.getParameter("animal");

출력 값 작성

System.out.println("이름 : " + name);
System.out.println("나이 : " + age);
System.out.println("키 : " + height);
System.out.println("색상 : " + color);
System.out.print("음식 : ");
for(String f : foods) {
System.out.print(f+" ");
		}
System.out.println();
System.out.println("동물 : " + animal);

데이터를 작성 후 확인 버튼을 누르면

콘솔창에서 클라이언트가 보낸 데이터를 확인할 수 있다

 

 

 

댓글