클라이언트에게 받은 요청에 응답한다.
요청은 servlet으로 들어가는데, RequestDispatcher(interface) 객체를 만들고(request가 가짐) request.getRequestDispatcher("Login.jsp");로
객체가 어디로 향할지 저장한다
forward 메소드로 요청에 해당되는 .jsp 로 값을 넘겨준다
로직을 보면서 이해 하자
public void reqPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
String pass = request.getParameter("password");
RequestDispatcher dis = request.getRequestDispatcher("LoginProc.jsp");
request.setAttribute("id", id); //request 객체에 데이터를 저장
request.setAttribute("pass", pass);
dis.forward(request, response);
}
위 로직은 Servlet으로 dopost 와 doget이 무조건 reqPro로 오게 만들었다
loginForm에서 만든 id랑 password를 받는다
request.setAttribute("id",id);
request.setAttribute("pass",pass);
로 request에 id랑 비밀번호를 저장하자
RequestDispatcher 객체를 request.getRequestDispatcher(".jsp")로 만든다
dis라고 하자. dis.forward(request,response);
라 하면 request에 저장된 id와 비밀번호가 dis에 저장된 .jsp로 간다
url 호출할때, .jsp 를 호출하는게 아니에요~ mvc model2 방법은 controller를 호출 합니다~
MemberJoin2.jsp
<center>
<h2>회원 가입 양식</h2>
<form action ="MProc2" method="post"> //web.xml에 ulr-mapping 수정
<table width="400" border="1">
<tr height="40" align="center">
<td width="150" align="center">아이디</td>
<td width="250"><input type="text" name="id"></td>
</tr>
<tr height="40" align="center">
<td width="150">패스워드</td>
<td width="250"><input type="password" name="password"></td>
</tr>
<tr height="40" align="center">
<td width="150">이메일</td>
<td width="250"><input type="email" name="email"></td>
</tr>
<tr height="40" align="center">
<td width="150">전화</td>
<td width="250"><input type="tel" name="tel"></td>
</tr>
<tr height="40" align="center">
<td width="150">주소</td>
<td width="250"><input type="text" name="address"></td>
</tr>
<tr height="40 ">
<td colspan="2"><input type="submit" value="회원가입"></td>
</tr>
</table>
</form>
</center>
클라이언트가 정보를 서버에 보냅니다
정보는 Controller에 와서 .jsp(뷰)로 뿌려 집니다
protected void reqPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
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.setAttribute("bean", bean);
RequestDispatcher dis = request.getRequestDispatcher("MemberView.jsp");
dis.forward(request, response);
}
request.getParameter("id") 로 받아서 다시 setAttribute 하고 보내면
로직이 길어서 일괄처리 해줍니다.
MemberBean bean = new MemberBean() 을 만들어서
받은 정보를 setter에 넣어주고
request.setAttribute()로 bean 을 담습니다.
그리고 뷰 로 뿌려줍니다~
한글처리 안되어 있다면
//한글처리
request.setCharacterEncoding("utf-8");
넣어 주세요~