Search
Duplicate
moon
sun

JSP 입력 요청 처리

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
복사