본문 바로가기
웹 프로그래밍(풀스택-->java)/웹프로그래밍(백엔드-->java)

46. Jsp 중고급 - 서블릿 활용2 - 파라미터 사용

by 백엔드개발자0107 2021. 12. 12.

지난시간에 서블릿을 활용해서 hello world를 출력해보았다.

 

근데 이거는 바로 url에서 직접 서블릿을 호출한 개념이다.

 

그곳에서 데이터를 만들어서 jsp쪽으로 떠넘겼는데,

 

이제는 회원가입폼을 만들어서 입력값을 파라미터로 받아서 만들어볼것이다.

 

그떄 사용하는 것이 useBean이다.

 

즉 아이디,패스워드를 각각 넘겨주는 것이 아니라,

 

차라리 빈클래스를 하나 만들어서 jsp로 넘겨주면 될 것이다.

 

MemberBean.java(Model)

 

package model;

public class MemberBean {

	//MVC2에서는 MVC1과는 달리 useBean 사용이 불가하다.
	//그렇다면 서블릿에서 빈클래스를 담아야 하는데 그 방법은 MemberJoinProc2.java에서 확인하자.
	
	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;
	}
	
	
	
}

 

MemberJoin2.jsp,MemberView.jsp(VIew)

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
   <!--  화면에 데이터를뿌려주는 역할  -->
   <!-- View 에 해당 -->
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<h2>Join form</h2>
<form action="Mproc2" method="post">
<table width="400" border="1">
<tr height="40">
<td width="150">id</td>
<td width="150"> <input type="text" name="id"> </td>
</tr>
<tr height="40">
<td width="150">password</td>
<td width="150"> <input type="password" name="password"> </td>
</tr>
<tr height="40">
<td width="150">email</td>
<td width="150"> <input type="email" name="email"> </td>
</tr>
<tr height="40">
<td width="150">tel</td>
<td width="150"> <input type="tel" name="tel"> </td>
</tr>
<tr height="40">
<td width="150">address</td>
<td width="150"> <input type="text" name="address"> </td>
</tr>
<tr height="40" >
<td width="150" colspan="2" align="center"> <input type="submit" value="submit"> </td>
</tr>
</table>
</form>
</center>
</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
당신의 아이디는 ${bean.id } ,당신의 패스워드는 ${bean.password }; 
</body>
</html>

 

MemberJoinProc2.java(서블릿)

 

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;

//자바 언어 쓰는 곳(서블릿)에 해당 


/**
 * Servlet implementation class MemberJoinProc2
 */
@WebServlet("/Mproc2")
//어노테이션이라고 해서,이서블릿의 이름을 Mproc2라고 짓되작성할떄는 "/Mproc2" 라고 작성한다.
//form action = "Mproc2"을 작성할때 이 서블릿으로 데이터를 맵핑시키기 위해서
//form action = "Mproc2"라고 작성한다. 

public class MemberJoinProc2 extends HttpServlet {
 

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

	}
	
	protected void reqPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//request에는 MemberJoin2.jsp 에 저장한 데이터 정보가 일일히 들어가 있을것이다.
		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 dis = request.getRequestDispatcher("MemberView.jsp");//여기서 화면에 보여질 jsp를 써준다.
		dis.forward(request, response);
	}
}