전자 정부 프레임워크
[eGov] MVC - Controller
토도
2023. 3. 27. 12:11
1. 컨트롤러 생성
- OrderController.java
MVC 프로젝트를 위해 꼭 @Controller 어노테이션을 붙여주고
(아까 어노테이션을 깜빡해서 연결이 안되서 놀램)
컨트롤러와 Jsp를 연결했다.
@RequestMapping(value="/orderWrite.do")
url로 요청이 들어오면 이 메소드가 실행이되고 리턴 값은
디스패처 서블릿에 등록된 빈인 뷰리졸버에 의해
jsp의 위치와 이름을 찾아 연결해준다.
dispatcher-servlet.xml
prefix 는 리턴값 앞에 suffix는 뒤에 붙어서 뷰리졸버가 jsp 파일을 찾게된다.
이 경로에 orderWrite.jsp 를 아래와 같이 만들어 주고
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
<head>
<title>OrderWrite</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form name="frm" method="post" action="">
<table>
<tr>
<th>주문번호</th>
<td><input type="text" name="orderno"></td>
</tr>
<tr>
<th>주문이름</th>
<td><input type="text" name="ordername"></td>
</tr>
<tr>
<th>금액</th>
<td><input type="text" name="payment"></td>
</tr>
<tr>
<th colspan="2">
<button type="submit">확인</button>
</th>
</tr>
</table>
</form>
</body>
</html>
서버 실행하면 이렇게 나온다
그렇다면 이제 저장처리가 가능하게끔 저장 메소드를 만들어 준다
비어 있던 폼태그 액션에 url을 연결해주고
form 에서 넘어오는 값을 받아주기 위해 아래와 같이 vo를 만들었다.
package egovframework.example.sample.service;
public class Order {
private int orderNo;
private String orderName;
private int orderPayment;
public int getOrderNo() {
return orderNo;
}
public void setOrderNo(int orderNo) {
this.orderNo = orderNo;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
public int getOrderpayment() {
return orderPayment;
}
public void setOrderpayment(int orderpayment) {
this.orderPayment = orderpayment;
}
@Override
public String toString() {
return "Order [orderNo=" + orderNo + ", orderName=" + orderName + ", orderpayment=" + orderPayment
+ ", getOrderNo()=" + getOrderNo() + ", getOrderName()=" + getOrderName() + ", getOrderpayment()="
+ getOrderpayment() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode() + ", toString()="
+ super.toString() + "]";
}
}
vo 클래스에 오른쪽 마우스를 클릭해서 각각 게터세터 투스트링 두 개 다 만들어 준다
실행 해 보면
입력한 값이 sysout 에 의해 콘솔로 찍히는 것을 볼 수 있다!
