👀 한 페이지에 form 두가지 형태로 구성되었을 경우
1.각 form 안에 input type hidden으로 넣어 구분하는 방법(파라미터 x)
<input type="hidden" name="part" value="1">
<input type="hidden" name="part" value="2">
2. action에 파라미터값을 이용하여 구분하는 방법 (get + post 방식)
action="./userinfo.do?part=1"
action="./userinfo.do?part=2"
=> java에 doGet,doPost 둘다 사용 (Service)
Service
doGet,doPost 모두 통신ㅇ르 받을 수 있는 전용 메소드
Front에서 form과 action에 모두 값을 적용하여 보낼 경우 get,post 모두 필요하므로 해당 상황에 활용단, 한글이 깨질 수 있으므로 encoding 필수
3. action에 각각의 다른java 파일을 별도로 분리하는 방식
⚡ 2. action에 파라미터값을 이용하여 구분하는 방법
get 방식 : 사용자가 입력한 값이랑 동일한 방식으로 인식
=> 연산기호 x : equals 사용 or int로 전환 후 연산기호 사용
<body> <form id="frm1" method="post" action="./userinfo.do?part=1"> <input type="hidden" name="part" value="1"> <p><b>아이디 찾기</b></p> 고객명 : <input type="text" name="username"><br> <input type="button" value="찾기" onclick="id_search()"><br><br> </form> <form id="frm2" method="post" action="./userinfo.do?part=2"> <input type="hidden" name="part" value="2"> <p><b>패스워드 찾기</b></p> 아이디 : <input type="text" name="userid"><br> 이메일 : <input type="text" name="useremail"><br> <input type="button" value="찾기" onclick="pw_search()"> </form> </body> <script type="text/javascript"> function id_search(){ //아이디 찾기 frm1.submit(); } function pw_search(){ //패스워드 찾기 frm2.submit(); } </script>
public class userinfo extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); int part = Integer.parseInt(request.getParameter("part")); //각 번호 출력 1,2 if(part == 1) { String id = request.getParameter("username"); }else { String id = request.getParameter("userid"); String email = request.getParameter("useremail"); System.out.println(id); System.out.println(email); } } }
'CLASS > SERVLET' 카테고리의 다른 글
#3-2 / 암호화(security) (0) | 2024.05.30 |
---|---|
#3-1 / form 예제 (0) | 2024.05.30 |
#2-3 / html 태그별 데이터 전송 (0) | 2024.05.29 |
#2-2 / 검색에 따른 get 전송방식 (0) | 2024.05.29 |
#2-1 / checkbox 및 라디오 핸들링 (0) | 2024.05.29 |