본문 바로가기

개발자노트/웹

HTML - JSP - request 사용 예제 ( 회원가입 정보 넘기기 ) request UTF-8 인코딩

request

요청정보
String(문자열) 타입으로 데이터를 주고받음
UTF-8 인코딩 해야함에 유의! ( <% request.setCharacterEncoding("UTF-8"); %> )

 

포인트 :

- 문자열 타입으로 데이터를 주고 받으니 형변환이 필요할 때가 있음

- 정보들을 UTF-8로 인코딩 해주기

- 내용을 보내야하기 때문에 폼을 POST 메소드로 보낸다

 

요청을 보내기 위한 HTML 코드

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>request 요청만을 위한 HTML</title>
</head>
<body>

<form action="request_end.jsp" method="post"> <!-- 정보를 보내기 위해 POST -->
	<table border="1">
		<tr>
				<td>이름</td>
				<td><input type="text" name="uname"></td>
		</tr>
		<tr>
				<td>직업</td>
				<td>
					<select name="job">
						<option>무직</option>
						<option>학생</option>
						<option>회사원</option>
						<option>전문직</option>
						<option>자영업</option>
					</select>
				</td>
		</tr>
		<tr>
			       <td>관심 컨텐츠</td>
         <td>
            <input type="checkbox" name="fav" value="영화">영화
            <input type="checkbox" name="fav" value="드라마">드라마
            <input type="checkbox" name="fav" value="애니메이션">애니메이션
         </td>
      </tr>
      <tr>
         <td colspan="2" align="right">
            <input type="submit" value="가입하기">
         </td>
      </tr>
   </table>
</form>

</body>
</html>

 

 

요청을 받은 뒤 출력할 페이지 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

요청 메서드: <%=request.getMethod()%> <br>
<table border="1">
      <tr>
         <td>이름</td>
         <!-- 요청 매개변수명과 자바 변수명을 맞춰쓰는 것이 보통 -->
         <td><%=request.getParameter("uname")%></td>
      </tr>
      <tr>
         <td>직업</td>
         <td>
            <%=request.getParameter("job")%>
         </td>
      </tr>
      <tr>
         <td>관심 컨텐츠</td>
         <td> <!-- for / for each 둘 중 하나 사용하면 됨 -->
            <%
               String[] fav=request.getParameterValues("fav");
               for(int i=0;i<fav.length;i++){
                  out.println(fav[i]+"<BR>");
               }
               for(String v:fav){
                  out.println(v+"<BR>");
               }
            %>
         </td>
      </tr>
</table>
   
</body>
</html>