JSP 입력 요청 처리
jsp 에서 FORM 요청을 하고 요청 정보를 받아서 처리하는 작업을 해보겠습니다.
1.
입력 요청 화면 JSP
a.
<form> 태그에서 <input> 태그 입력 요청 폼 작성
b.
<input> name 속성에 파라미터 지정
c.
type=”submit” 속성인 <input>, <button> 태그로 요청 제출
d.
<form> 태그의 action 속성과 method 속성에 따라 요청
i.
action : 요청 URL
ii.
method : 요청 방식 (get, post)
1.
폼 요청으로는 GET 방식과 POST 방식만 가능합니다.2.
입력 요청 처리 JSP
a.
request.getParameter(”파라미터명”) 메소드로 입력 정보 가져오기
b.
요청에 따른 처리
예시코드
입력 요청 화면 jsp
•
signup.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>입력요청 처리</title>
</head>
<body>
<h3>회원가입</h3>
<form action="signup_pro.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="hobby" value="독서" checked>
운동<input type="checkbox" name="hobby" value="운동" >
영화<input type="checkbox" name="hobby" value="영화">
<p> <textarea name="comment" cols="30" rows="3" placeholder="가입인사를 입력해주세요"></textarea>
<p> <input type="submit" value="가입하기">
<input type="reset" value="다시쓰기">
</form>
</body>
</html>
HTML
복사
입력 요청 처리 jsp
•
signup_pro.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>입력 요청 처리</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");
// request.getParameterValues()
// : 2 개이상의 파라미터 값을 배열로 반환하는 메소드
String[] hobby = request.getParameterValues("hobby");
String comment = request.getParameter("comment");
%>
<p> 아이디 : <%=id%>
<p> 비밀번호 : <%=name%>
<p> 이름 : <%=passwd%>
<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>
HTML
복사
•
signup_pro2.jsp
입력 요청 성공 실패 여부에 따라서 페이지 리다이렉트
<%@page import="java.util.Random"%>
<%@page import="java.util.List"%>
<%@page import="java.util.Arrays"%>
<%@ page import="dto.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>입력 요청 처리</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");
// request.getParameterValues()
// : 2 개이상의 파라미터 값을 배열로 반환하는 메소드
String[] hobby = request.getParameterValues("hobby");
String comment = request.getParameter("comment");
// 요청 정보를 객체로 매핑
User user = new User();
user.setId(id);
user.setPasswd(passwd);
user.setName(name);
user.setPhone(phone1+phone2+phone3);
List<String> hobbyList = Arrays.asList(hobby);
user.setHobby(hobbyList);
user.setComment(comment);
// 서비스로 데이터 등록 요청 (회원가입 처리)
// boardService.insert(user);
Random random = new Random();
int result = random.nextInt(2);
String root = request.getContextPath();
// 회원가입 성공
if( result > 0 ) {
// 1. 메인 화면으로 이동
// response.sendRedirect(root + "/");
// 2. 로그인 화면으로 이동
response.sendRedirect(root + "/login.jsp");
}
// 회원가입 실패
else {
// - 회원가입 화면으로 이동
// : /signup2?error=invalid
response.sendRedirect(root + "/signup2.jsp?error=invalid");
}
%>
</body>
</html>
HTML
복사






