서블릿 활용 2 - 파라미터 사용
서브릿에선 usebean(태그)을 사용하지 못하고
requestDispatcher 객체를 통해 데이터를 담은 request 객체를 jsp페이지로 보내야하는데
데이터 하나하나를 request.setAttribute( name, Object )로 담기엔 번거로우므로
bean 클래스를 만들어 데이터를 한번에 담아준다.
넘어간 데이터는 EL문으로 출력한다 ( &{ bean.멤버변수 } ) //getter로 접근하지 않고 멤버변수에 직접 접근한다.
MemberJoin2.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <body> <div style="text-align: center"> <h2> 회원가입 양식 </h2> <!-- 서블릿 파일 이름이 아니라 서블릿 매핑 이름 --> <!-- @WebServlet("/Mpro2") --> <form action ="Mproc2" method="post"> <table wifth="400" border="1" bordercolor="gray"> <tr height="40"> <td width="150">아이디</td> <td width="250" align="left"><input type="text" name="id"></td> </tr> <tr height="40"> <td width="150">패스워드</td> <td width="250" align="left"><input type="password" name="password"></td> </tr> <tr height="40"> <td width="150">이메일</td> <td width="250" align="left"><input type="email" name="email"></td> </tr> <tr height="40"> <td width="150">전화</td> <td width="250" align="left"><input type="tel" name="tel"></td> </tr> <tr height="40"> <td width="150">주소</td> <td width="250" align="left"><input type="text" name="address"></td> </tr> <tr height="40"> <td colspan="2"><input type="submit" value="회원가입 "></td> </tr> </table> </form> </div> </body> </html> | cs |
MemberJoinProc2.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | package control; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import model.MemberBean; //서블릿 클래스 이름은 아무렇게나 지어도 실행하는데에 상관없다. @WebServlet("/Mproc2") // action ="/Mproc2" public class MemberJoinProc2 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { reqPro(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { reqPro(request, response); } //get, post 일괄 처리하는 메서드 protected void reqPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //빈클래스로 request에 데이터 한꺼번에 담기 //doGet과 doPost는 request와 response 객체 외엔 받지 못한다.(requPro도) //즉, usebean으로 데이터를 맵핑해서 가져올 수가 없다. //서블릿클래스에서 빈 객체를 생성하여 request로 넘어온 데이터를 하나씩 맵핑해줘야한다. MemberBean bean = new MemberBean(); bean.setId(request.getParameter("id")); bean.setPassword(request.getParameter("password")); bean.setEmail(request.getParameter("email")); bean.setTel(request.getParameter("tel")); bean.setAddress(request.getParameter("address")); //request객체에 bean 데이터를 추가 //따로따로 분리돼있던 데이터를 꺼내서 하나로 묶어 다시 담아주는 과정 request.setAttribute("bean",bean); RequestDispatcher rd = request.getRequestDispatcher("MemberView.jsp"); rd.forward(request, response); } } | cs |
MemberBean.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | package model; public class MemberBean { private String id; private String password; private String email; private String tel; private String address; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } | cs |
MemberView.jsp
1 2 3 4 5 6 7 8 9 10 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <body> ${bean.id } </body> </html> | cs |
'JSP > JSP & Servlet ' 카테고리의 다른 글
커넥션풀 : java:comp/env (1) | 2019.05.23 |
---|---|
MVC 파라미터 - 회원가입 (0) | 2019.05.22 |
서블릿 활용 1 (0) | 2019.05.22 |
서블릿의 이해 (0) | 2019.05.22 |
JSTL (Java Standard Tag Library)- 2 (0) | 2019.05.21 |