전자 정부 프레임워크

[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 에 의해 콘솔로 찍히는 것을 볼 수 있다!