저번 시간에 했던 MVC에 추가로 등록을 해볼 것이다!!
전 게시물에 추가하는 것이니 참고바람.
.
.
index.jsp 파일은 전 게시물에서 썼던 걸로 사용하겠다.
public class RegDTO {
String saleno;
String pcode;
String saledate;
String scode;
String amount;
public String getSaleno() {
return saleno;
}
public void setSaleno(String saleno) {
this.saleno = saleno;
}
public String getPcode() {
return pcode;
}
public void setPcode(String pcode) {
this.pcode = pcode;
}
public String getSaledate() {
return saledate;
}
public void setSaledate(String saledate) {
this.saledate = saledate;
}
public String getScode() {
return scode;
}
public void setScode(String scode) {
this.scode = scode;
}
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
public RegDTO(String saleno, String pcode, String saledate, String scode,
String amount) {
super();
this.saleno = saleno;
this.pcode = pcode;
this.saledate = saledate;
this.scode = scode;
this.amount = amount;
}
@Override
public String toString() {
return "RegDTO [saleno=" + saleno + ", pcode=" + pcode + ", saledate="
+ saledate + ", scode=" + scode + ", amount=" + amount + "]";
}
public RegDTO() {
super();
// TODO Auto-generated constructor stub
}
}
저번과 똑같이 변수 만들어주고 getter와 setter 메서드를 정의해준다.
.
.
.
public void reg(RegDTO regdto){
dbcon();
String sql="insert into tbl_salelist_01 values(?,?,?,?,?)";
try {
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, regdto.getSaleno());
pst.setString(2, regdto.getPcode());
pst.setString(3, regdto.getSaledate());
pst.setString(4, regdto.getScode());
pst.setString(5, regdto.getAmount());
pst.executeUpdate();
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
dbcon()으로 데이터베이스 연결해주고,
setString() 메서드를 통해 RegDTO 객체의 값을 쿼리문에 바인딩한다.
그 후, executeUpdate() 메서드를 호출해서 쿼리를 실행한다.
.
.
.
@WebServlet("/reg")
public class RegServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DAO dao = new DAO();
request.getRequestDispatcher("WEB-INF/views/Reg.jsp").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 5가지 정보 빼오기 => 하나의 dto =객체만들기
String saleno = request.getParameter("saleno");
System.out.println( saleno );
String pcode = request.getParameter("pcode");
System.out.println(pcode);
String saledate = request.getParameter("saledate");
System.out.println(saledate);
String scode = request.getParameter("scode");
System.out.println(scode);
String amount = request.getParameter("amount");
System.out.println(amount);
RegDTO regdto = new RegDTO( saleno, pcode, saledate, scode, amount);
DAO dao = new DAO();
dao.reg(regdto);
// 어디로 넘어갈것인지
response.sendRedirect("/coffee_A002/select");
}
}
HttpServlet을 상속하고, doGet()과 doPost() 메서드를 오버라이딩하여 GET 및 POST 요청을 처리한다.
doPost() 메서드는 POST 요청이 발생했을 때 호출되며, 클라이언트로부터 전송된 5가지 정보(saleno, pcode, saledate, scode, amount)를 추출하여 변수에 저장한다. 그 후, 이 정보를 사용하여 RegDTO 객체를 생성한다.
그 다음, DAO 객체를 생성하고 reg() 메서드를 호출하여 RegDTO 객체를 데이터베이스에 등록한다.
.
.
.
<section>
<h3>판매등록</h3>
<form name="frm" action="/coffee_A002/reg" method="post">
<table>
<tr>
<td>비번호</td>
<td><input type="text" name="saleno"></td>
</tr>
<tr>
<td>상품코드</td>
<td><input type="text" name="pcode"></td>
</tr>
<tr>
<td>판매날짜</td>
<td><input type="text" name="saledate"></td>
</tr>
<tr>
<td>매장코드</td>
<td><input type="text" name="scode"></td>
</tr>
<tr>
<td>판매수량</td>
<td><input type="text" name="amount"></td>
</tr>
<tr class="btn">
<td colspan="2">
<input type="submit" value="등록">
<input type="button" value="다시쓰기"></td>
</tr>
</table>
</form>
</section>
폼은 사용자로부터 판매 정보를 입력받아 POST 요청을 전송한다.
등록과 다시쓰기 버튼을 만들어준다.
사용자가 정보를 입력한 후 "등록" 버튼을 클릭하면 입력된 데이터가 /coffee_A002/reg로 전송되고, 서버 측에서 해당 데이터를 처리할 수 있게 된다.
.
.
.
.
이렇게 등록화면이 나온다.
모두 입력하고 등록버튼을 누르면 조회쿼리가 있는 판매현황 창으로 넘어간다.
.
.
.
.
.