💫 Mvc02
■■■ Spring MVC 프로젝트 실습 02 ■■■
○ Perspective
: JavaEE
○ 다이나믹 웹 프로젝트 생성 (비STS 버전)
: Mvc02
○ 기본 환경 구성 및 라이브러리 설정
: Mvc00 (우리가 임의로 구성해둔 샘플)로 부터 src, WebContent 디렉터리 복사 & 덮어쓰기
○ 실습 성격
: 데이터 송수신 관련 실습(Spring MVC 버전)
○ 물리적 파일 구성
- SendController.java → 컨트롤러 객체
- Send.jsp → 뷰 객체
- ReceiveController → 컨트롤러 객체
- Receive.jsp → 뷰 객체
- web.xml → DispatcherServlet 객체 등록 / URL 매핑 주소 등록
- dispatcher-servlet.xml → 컨트롤러 객체 등록 / URL 매핑 주소 등록
- send.do → 이클립스 실행 과정에서 요청을 위한 빈 파일
○ 사용자 최초 요청 주소
http://localhost:3306/Mvc02/send.do
# send.do
빈파일로 구성해주고~ (이건 생성하지 않고 주소로만 요청해도 되는데, 주소 입력하기 번거로우니까 빈파일로 만들어두고 실행하는거 RG~?)
# dispatcher-servlet.xml
<bean name="/send.do" class="com.test.mvc.SendController"></bean>
send.do 요청이 들어오면! 등록한 class로 보내서 작업 수행 시작~!
# SendController.java
public class SendController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception
{
// 액션 코드
ModelAndView mav = new ModelAndView();
mav.setViewName("/WEB-INF/view/Send.jsp");
return mav;
}
}
여기서는 값을 받아오고 넘겨주고하는 역할이 아닌 view 페이지로 연결만 해준다!
내가 적은 경로에 있는 해당 파일을 찾아가라!
# Send.jsp
<div>
<h1>Spring MVC 데이터 송수신 실습</h1>
<hr />
</div>
<div>
<form action="receive.do" method="post">
이름 <input type="text" name="userName">
<button type="submit" >submit</button>
</form>
</div>
submit 하면 action 속성에 지정한 경로로 가서 다시 수행!
receive.do가 요청되면 다시 dispatcher-servlet 에서 처리해줄거야!
# dispatcher-servlet.xml
<bean name="/receive.do" class="com.test.mvc.ReceiveController"></bean>
receive.do 요청이 들어오면! 등록한 class로 보내서 작업 수행 시작~!
# ReceiveController.java
public class ReceiveController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception
{
// 액션 코드
ModelAndView mav = new ModelAndView();
request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("userName");
mav.addObject("userName", userName);
mav.setViewName("/WEB-INF/view/Receive.jsp");
return mav;
}
}
우선, 받아오는 값이 이름이니까 한글 깨지지 않게 인코딩 해주고 시작!
이름 받아와서 userName 에 담고 지정한 경로로 넘겨주자!
# Receive.jsp
<div>
<h1>Spring MVC 데이터 송수신 실습</h1>
<hr />
</div>
<div>
<h2>데이터 수신 결과</h2>
<h2>안녕하세요, ${userName }님 반갑습니다.</h2>
</div>
받는 페이지에서는 EL 로 찍어주기만 하면 끝~!
짜잔~!!