JSP

JSP 웹 프로그래밍 - 폼 태그 02

록's 2023. 2. 28. 18:35
728x90
반응형

textarea 태그로 회원가입 양식에 가입 인사 추가하기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>회원 가입</h3>
	<form action="#" name="member" method="post">
		<p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복 검사">
		<p> 비밀번호 : <input type="password" name="passwd">
		<p> 이름 : <input type="text" name="name">
		<p> 연락처 : <select name="phone1">
						<option value="010">010</option>
						<option value="011">011</option>
						<option value="016">016</option>
						<option value="017">017</option>
						<option value="019">019</option>
					</select> 			
				- <input type="text" maxlength="4" size="4" name="phone2">
				- <input type="text" maxlength="4" size="4" name="phone3">
		<p> 성별 : <input type="radio" name="sex" value="남성" checked>남성
				  <input type="radio" name="sex" value="여성" >여성
		<p> 취미 : 독서<input type="checkbox" name="hobby1" checked>
				  운동<input type="checkbox" name="hobby2" >
				  영화<input type="checkbox" name="hobby3" >
		<p> <textarea name="comment" cols="30" row="3" placeholder="가입인사를 입력해주세요"></textarea>
		<p> <input type="submit" value="가입하기">
		<p> <input type="reset" value="다시 쓰기">		
	</form>
</body>
</html>

- 출력 -

 

 

 

폼 데이터 처리하기

 

요청 파라미터의 값 받기

  • request 내장 객체는 웹 브라우저가 서버로 보낸 요청에 대한 다양한 정보를 담고 있어 getParameter( ) 메소드를 이용하여 요청 파라미터의 값을 얻을 수 있음

 

 

 

체크박스의 데이터를 전달 받는 예

// index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="process.jsp" method="post">
		<p> 독서 <input type="checkbox" name="reading">
			운동 <input type="checkbox" name="exercise">
			영화 <input type="checkbox" name="movie">
		<p> <input type="submit" value="전송">
		
	</form>
</body>
</html>

-출력-

 

 

// process.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<p> 독서 : <%= request.getParameter("reading")%>
		운동 : <%= request.getParameter("exercise")%>
		영화 : <%= request.getParameter("movie")%>
</body>
</html>

-출력-

 

 

 

 

 

회원가입 양식에서 폼 데이터 전송받기

// form04.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>회원 가입</h3>
	<form action="form04_process.jsp" name="member" method="post">
		<p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복 검사">
		<p> 비밀번호 : <input type="password" name="passwd">
		<p> 이름 : <input type="text" name="name">
		<p> 연락처 : <select name="phone1">
						<option value="010">010</option>
						<option value="011">011</option>
						<option value="016">016</option>
						<option value="017">017</option>
						<option value="019">019</option>
					</select> 			
				- <input type="text" maxlength="4" size="4" name="phone2">
				- <input type="text" maxlength="4" size="4" name="phone3">
		<p> 성별 : <input type="radio" name="sex" value="남성" checked>남성
				  <input type="radio" name="sex" value="여성" >여성
		<p> 취미 : 독서<input type="checkbox" name="hobby1" checked>
				  운동<input type="checkbox" name="hobby2" >
				  영화<input type="checkbox" name="hobby3" >
		<p> <textarea name="comment" cols="30" row="3" placeholder="가입인사를 입력해주세요"></textarea>
		<p> <input type="submit" value="가입하기">
		<p> <input type="reset" value="다시 쓰기">		
	</form>
</body>
</html>

-출력-

// form04_process

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		request.setCharacterEncoding("UTF-8");
	
		String id = request.getParameter("id");
		String passwd = request.getParameter("passwd");
		String name = request.getParameter("name");
		String phone1 = request.getParameter("phone1");
		String phone2 = request.getParameter("phone2");
		String phone3 = request.getParameter("phone3");
		String sex = request.getParameter("sex");
		String hobby1 = request.getParameter("hobby1");
		String hobby2 = request.getParameter("hobby2");
		String hobby3 = request.getParameter("hobby3");
		String comment = request.getParameter("comment");
	%>
	<p> 아이디 : <%=id %>
	<p> 비밀번호 : <%=passwd %>
	<p> 이름 : <%=name %>
	<p> 연락처 : <%=phone1%><%=phone2%><%=phone3%>
	<p> 성별 : <%=sex%>
	<p> 취미 : <%=hobby1%><%=hobby2%><%=hobby3%>
	<p> 가입 인사 : <%=comment%>
</body>
</html>

- 출력 -

 

 

 

 

회원가입 양식에서 폼 데이터 전송

 

// form05_process.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		request.setCharacterEncoding("UTF-8");
	
		String id = request.getParameter("id");
		String passwd = request.getParameter("passwd");
		String name = request.getParameter("name");
		String phone1 = request.getParameter("phone1");
		String phone2 = request.getParameter("phone2");
		String phone3 = request.getParameter("phone3");
		String sex = request.getParameter("sex");
		String[] hobby = request.getParameterValues("hobby");

		String comment = request.getParameter("comment");
	%>
	<p> 아이디 : <%=id %>
	<p> 비밀번호 : <%=passwd %>
	<p> 이름 : <%=name %>
	<p> 연락처 : <%=phone1%>-<%=phone2%>-<%=phone3%>
	<p> 성별 : <%=sex%>
	<p> 취미 : <%
				if (hobby != null) {
					for(int i=0; i <hobby.length; i++){
						out.println(" " + hobby[i]);
					}
				}
			  %>
	<p> 가입 인사 : <%=comment%>
</body>
</html>

- 출력 -

 

 

 

 

 

요청 파라미터의 전체 값 받기

  • 요청 파라미터를 설정하지 않아도 모든 값을 전달받을 수 있음
  • 텍스트 박스, 라디오 버튼, 드롭다운 박스와 같은 다양한 유형에 대해 한 번에 폼 데이터를 전달받을 수 있음
 

폼 데이터의 일괄 처리 메소드

 

 

 

 

 

 

회원가입 양식에서 폼 데이터를 한 번에 전송

// form06.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h3>회원 가입</h3>
	<form action="form06_process.jsp" name="member" method="post"> <<<<<< 추가 // form06_process.jsp
		<p> 아이디 : <input type="text" name="id"> <input type="button" value="아이디 중복 검사">
		<p> 비밀번호 : <input type="password" name="passwd">
		<p> 이름 : <input type="text" name="name">
		<p> 연락처 : <select name="phone1">
						<option value="010">010</option>
						<option value="011">011</option>
						<option value="016">016</option>
						<option value="017">017</option>
						<option value="019">019</option>
					</select> 			
				- <input type="text" maxlength="4" size="4" name="phone2">
				- <input type="text" maxlength="4" size="4" name="phone3">
		<p> 성별 : <input type="radio" name="sex" value="남성" checked>남성
				  <input type="radio" name="sex" value="여성" >여성
		<p> 취미 : 독서<input type="checkbox" name="hobby" value="독서" checked>
				  운동<input type="checkbox" name="hobby" value="운동">
				  영화<input type="checkbox" name="hobby" value="영화">
		<p> <textarea name="comment" cols="30" row="3" placeholder="가입인사를 입력해주세요"></textarea>
		<p> <input type="submit" value="가입하기">
		<p> <input type="reset" value="다시 쓰기">		
	</form>
</body>
</html>
// form06_process.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*, java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table border="1">
		<tr>
			<th>요청 파라미터 이름</th>
			<th>요청 파라미터 값</th>
		</tr>
		<%
			request.setCharacterEncoding("UTF-8");
		
			Enumeration paramNames = request.getParameterNames();
			while (paramNames.hasMoreElements()) {
				String name = (String) paramNames.nextElement();
				out.print("<tr><td>" + name + " </td>\n");
				String paramValue = request.getParameter(name);
				out.println("<td>" + paramValue + "</td><tr>\n");
			}
		%>
	</table>
</body>
</html>

- 출력 -

 

728x90
반응형