[Spring] 데이터 송수신

suyeon·2022년 7월 27일

Spring

목록 보기
2/6
post-thumbnail

🦾 데이터 송수신 실습1

  • 이전에 JSP Model 2 == Spring MVC Project
Spring Web 프로젝트 생성

Ex01 : Spring MVC 동작
- "Ex01Controller.java"
- "ex01.jsp"

1) Ex01Controller.java

package com.test.spring;

public class Ex01Controller implements Controller {

	@Override
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

		//옛날 코드 (권장 X)
		request.setAttribute("name", "홍길동");
		
		ModelAndView mv = new ModelAndView();
		
		//"WEB-INF/views/().jsp" > 스프링이 알아서 붙여줌
		mv.setViewName("ex01"); // jsp 이름
		
		//이렇게 사용
		mv.addObject("age", "20");
		
		return mv;
	}
	
}

2) ex01.jsp

<%@ 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>
	<h1>ex01.jsp</h1>
	
	<div>${name}</div>
	<div>${age}</div>
</body>
</html>

3) servlet-context.xml

  • bean 설정
	<!-- @Controller, @Component, @Service, @Repository 붙은 클래스의 객체를 자동으로 생성한다. -->
	<context:component-scan base-package="com.test.spring, com.test.java" />
    
	<!-- Ex01 > 컨트롤러 > bean 생성 -->
	<!-- name: 가상주소 -->
	<beans:bean class="com.test.spring.Ex01Controller" name="/ex01.do"></beans:bean>    

🦾 데이터 송수신 실습2

Spring Web 프로젝트 생성

Ex02 : Ex01 + Spring DI
- "Ex02Controller.java"
- "SpringDAO.java"
- "ex02.jsp"

1) Ex02.java

package com.test.spring;

public class Ex02Controller implements Controller {

	//#1.
	private SpringDAO dao;

	//#2.
	public void setDao(SpringDAO dao) {
		this.dao = dao;
	}
	
	@Override
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

		//의존 객체
		int count = dao.getCount();
		
		ModelAndView mv = new ModelAndView("ex02");
		
		mv.addObject("count", count);
		
		return mv;
	}

}

2) servlet-context.xml

	<beans:bean class="com.test.spring.SpringDAO" name="dao"></beans:bean>

	<!-- Ex02 > #3. -->
	<beans:bean class="com.test.spring.Ex02Controller" name="/ex02.do">
		<beans:property name="dao" ref="dao"></beans:property>
	</beans:bean>

3) SpringDAO.java

package com.test.spring;

public class SpringDAO {

	public int getCount() {
		return 100;
	}
}

4) ex02.jsp

<%@ 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>
	<h1>ex02.jsp</h1>
	
	<div>count: ${count}</div>
</body>
</html>

🦾 데이터 송수신 실습3

Ex03
- "Ex03Controller.java"
- "ex03.jsp"

1) Ex03Controller.java

  • 컨트롤러 구현

    1. Controller 인터페이스 구현
    2. ✔ 어노테이션 사용 > @Controller
  • 요청 메소드
    - 맘대로! > @RequestMapping

2) ex03.jsp

🦾 데이터 송수신 실습4 ⭐

Ex04
- "Ex04Controller.java"
- "ex04.jsp"

1) Ex04Controller.java

2) ex04.jsp

0개의 댓글