### : 목차 구분 기호
--- : 목차 내에 항목 구분 기호
@@@ : 태그 용도
... : 같은 목차 내에 구분 기호

목차
1. 이론 및 정보
2. 설정 및 그 밖에
3. 소스코드 또는 실습
4. 과제
###################################
1. 이론 및 정보
-----------------------------------
* Web MVC
Spring안에 Web안에 포함된 모듈
MVC 패턴이 만들어져 있던 모듈임

1. DispatcherServlet - FrontController

MVC의 규모?
규모가 커지면 FrontController가 감당하기 힘들어짐
서브 컨트롤러가 페이지 이동을 처리함

web.xml에서 <servlet-name>의 내용 + "-servlet.xml"로 설정파일을 만듬

dispatcher-servlet.xml
<bean name 에서 name은 URL

사용자 요청은 Dispatcher Servlet


2. HandlerMapping(org.springframework.web.servlet.handler
          - BeanNameUrlHandlerMapping(기본, 생략가능)
          - SimpleUrlHandlerMapping
          - DefaultAnnotationHandlerMapping
          ...

3. Controller - servlet 패키지 안에 들어있음(org.springframework.web.servlet)
          - Controller : 가장 최소한의 기능만 가지고 있음
          - AbstractController : GET, POST 방식을 알려주는 메서드 supportedMethods
          - AbstractCommandController
          - SimpleFormController
          - MultiActionController
          ...

3버전 부터 컨트롤러를 골라서 쓰지 말고 어노테이션을 쓰라고 권장!


4. ViewResolver
          - InternalResourceViewResolver(기본, 생략가능)
          - ResourceBundleViewResolver
          - XmlViewResolver
          - VelocityViewResolver

5. View
          - InternalResourceView(기본, 생략가능)
          - JstlView
          - VelocityView
          ...


-----------------------------------
* Controller 의 Request, Response 자동 포워딩 됨

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>

isELIgnored="false" 를 쓰면 포워딩이 안됨
-----------------------------------
* Spring -> IOC, AOP, DI 라는 이름으로도 불림
다양한 디자인 패턴을 지원하기 때문에
----------------------------------- 
###################################
2. 설정 및 그 밖에
-----------------------------------
----------------------------------- 
###################################
3. 소스코드 또는 실습 
-----------------------------------
3-1
Workspace : ~\study\SpringWork
샘플로 웹 프로젝트 만듬

Maven Project - web app
groub id : com.study.myproject
artifact id : FirstWebApp

...................................
/FirstWebApp/src/main/webapp/index.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<body>
<h2>Hello World!</h2>
<%=request.getRemoteAddr()%>
<a href="myservlet">서블릿으로 이동</a>
</body>
</html>
...................................
를 실행시켜보면


톰캣과 사용방법이 비슷(Pivotal)

톰캣을 쓰기로 함




웹서버 동작 확인

localhost:8080/FirstWebApp/index.jsp


Servlet Lib 없으나 동작은 되었음
...................................
mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0

<dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>javax.servlet-api</artifactId>
     <version>3.1.0</version>
</dependency>
...................................
위 dependency를 /FirstWebApp/pom.xml 에 복사

Servlet 만들기

프로젝트 우클릭 폴더 생성
src/main/java 라는 이름으로 생성

/FirstWebApp/src/main/java 우클릭 클래스 생성
...................................
/FirstWebApp/src/main/java/myservlet/ServletTest.java

package myservlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletTest extends HttpServlet {

     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
               throws ServletException, IOException {
          doPost(req, resp);
     }

     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
               throws ServletException, IOException {
          PrintWriter out = resp.getWriter();
          out.println("<html><body>");
          out.println("<h1>Servlet Test...</h1>");
          out.println("</body></html>");
          out.close();
     }

}
...................................
/FirstWebApp/src/main/webapp/WEB-INF/web.xml

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
     <display-name>Archetype Created Web Application</display-name>

     <servlet>
          <servlet-name>myservlet</servlet-name>
          <servlet-class>myservlet.ServletTest</servlet-class>
     </servlet>
     <servlet-mapping>
          <servlet-name>myservlet</servlet-name>
          <url-pattern>/myservlet</url-pattern>
     </servlet-mapping>
</web-app>
...................................
-----------------------------------
3-2
Workspace : ~\study\SpringWork

/SpringWebApp1 프로젝트 생성, 3-1과 똑같이 만듬
3-1은 평범한 웹 프로젝트
이번에는 Spring안에서 돌아가는 웹프로젝트를 만들예정


라이브러리 필요, 웹 모듈 받음, 기본 준비  Spring Web MVC Module
mvnrepository.com/artifact/org.springframework/spring-webmvc/4.1.7.RELEASE

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-webmvc</artifactId>
     <version>4.1.7.RELEASE</version>
</dependency>


/SpringWebApp1/pom.xml 추가

/SpringWebApp1/src/main/webapp/index.jsp
/SpringWebApp1/src/main/webapp/result.jsp
/SpringWebApp1/src/main/webapp/WEB-INF/web.xml


스프링이 준비한 MVC 아키텍쳐에 맞게 사용해야함

/SpringWebApp1/src/main/java 폴더 만듬

/SpringWebApp1/src/main/java/controller/ResultController.java

Spring Bean Configuration File 만듬



/SpringWebApp1/src/main/webapp/WEB-INF/dispatcher-servlet.xml
...................................
/SpringWebApp1/pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.study.myproject</groupId>
     <artifactId>SpringWebApp1</artifactId>
     <packaging>war</packaging>
     <version>0.0.1-SNAPSHOT</version>
     <name>SpringWebApp1 Maven Webapp</name>
     <url>http://maven.apache.org</url>
     <dependencies>
          <dependency>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
               <version>3.8.1</version>
               <scope>test</scope>
          </dependency>
          <dependency>
               <groupId>javax.servlet</groupId>
               <artifactId>javax.servlet-api</artifactId>
               <version>3.1.0</version>
          </dependency>
          <dependency>
               <groupId>org.springframework</groupId>
               <artifactId>spring-webmvc</artifactId>
               <version>4.1.7.RELEASE</version>
          </dependency>
     </dependencies>
     <build>
          <finalName>SpringWebApp1</finalName>
     </build>
</project>
...................................
/SpringWebApp1/src/main/webapp/WEB-INF/web.xml

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
     <display-name>Archetype Created Web Application</display-name>
     <servlet>
          <servlet-name>dispatcher</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     </servlet>
     <servlet-mapping>
          <servlet-name>dispatcher</servlet-name>
          <url-pattern>*.do</url-pattern>
     </servlet-mapping>
</web-app>
...................................
/SpringWebApp1/src/main/webapp/index.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<body>
<h2>Hello World!</h2>
<a href="result.do">여기를 눌러주세요.</a>
</body>
</html>
...................................
/SpringWebApp1/src/main/webapp/result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>당신이 이 페이지를 보고 있다면 스프링 설정은 성공한 것이다.</h2>
</body>
</html>
...................................
/SpringWebApp1/src/main/webapp/WEB-INF/dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
     <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
     <bean name="/result.do" class="controller.ResultController"></bean>
</beans>
...................................
/SpringWebApp1/src/main/java/controller/ResultController.java

package controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class ResultController implements Controller{

     public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
          // TODO Auto-generated method stub
          return new ModelAndView("result.jsp");
     }

}
...................................
-----------------------------------
3-3
Workspace : ~\study\SpringWork
/SpringWebApp2 프로젝트 생성

UTF-8 기본 코드
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

/SpringWebApp2/src/main/webapp/WEB-INF/views 폴더 만듬
사용자들이 직접 접근하지 못하도록 하기 위해서


first
/SpringWebApp2/src/main/webapp/WEB-INF/views/firstResult.jsp
/SpringWebApp2/src/main/java/controller/FirstController.java
/SpringWebApp2/src/main/webapp/WEB-INF/webapp2-servlet.xml


second
/SpringWebApp2/src/main/webapp/WEB-INF/views/secondResult.jsp
/SpringWebApp2/src/main/java/controller/secondController.java


third - 집중해서 봐야할 부분
/SpringWebApp2/src/main/webapp/WEB-INF/views/thirdResult.jsp
/SpringWebApp2/src/main/java/controller/ThirdController.java
/SpringWebApp2/src/main/java/dao/UserDao.java
/SpringWebApp2/src/main/java/dto/UserDto.java

jstl 다운
mvnrepository.com/artifact/javax.servlet/jstl/1.2
<dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>jstl</artifactId>
     <version>1.2</version>
</dependency>

mvnrepository.com/artifact/taglibs/standard/1.1.2
<dependency>
     <groupId>taglibs</groupId>
     <artifactId>standard</artifactId>
     <version>1.1.2</version>
</dependency>

/SpringWebApp2/src/main/webapp/WEB-INF/webapp2-servlet.xml
<property name="supportedMethods" value="POST"></property>
추가 한뒤 - POST 방식만 전달하겠다는 의미

/SpringWebApp2/src/main/webapp/index.jsp
에서 form을 get으로 테스트 해보면 알 수 있음


forth - 어노테이션을 이용한 컨트롤러 사용
/SpringWebApp2/src/main/webapp/WEB-INF/views/forthResult.jsp
/SpringWebApp2/src/main/java/controller/ForthController.java


@Controller 를 쓰면 모든 컨트롤러를 쓰겠다는 의미로 쓰겠다?

fifth - forth 컨트롤러를 이용할 것임

비슷한 기능의 컨트롤러를 묶어 봅시다
MultiAction
컨트롤러는 한개, 여러개의 요청을 메서드로 분리


sixth - forth 컨트롤러 이용
하는데 기본 준비만 하였음
...................................
/SpringWebApp2/pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.study.myproject</groupId>
     <artifactId>SpringWebApp2</artifactId>
     <packaging>war</packaging>
     <version>0.0.1-SNAPSHOT</version>
     <name>SpringWebApp2 Maven Webapp</name>
     <url>http://maven.apache.org</url>
     <dependencies>
          <dependency>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
               <version>3.8.1</version>
               <scope>test</scope>
          </dependency>
          <dependency>
               <groupId>org.springframework</groupId>
               <artifactId>spring-webmvc</artifactId>
               <version>4.1.7.RELEASE</version>
          </dependency>
          <dependency>
               <groupId>javax.servlet</groupId>
               <artifactId>jstl</artifactId>
               <version>1.2</version>
          </dependency>
          <dependency>
               <groupId>taglibs</groupId>
               <artifactId>standard</artifactId>
               <version>1.1.2</version>
          </dependency>
     </dependencies>
     <build>
          <finalName>SpringWebApp2</finalName>
     </build>
</project>
...................................
/SpringWebApp2/src/main/webapp/WEB-INF/web.xml

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
     <display-name>Archetype Created Web Application</display-name>
     <servlet>
          <servlet-name>webapp2</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     </servlet>
     <servlet-mapping>
          <servlet-name>webapp2</servlet-name>
          <url-pattern>*.action</url-pattern>
     </servlet-mapping>
</web-app>
...................................
/SpringWebApp2/src/main/webapp/WEB-INF/webapp2-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">
     <context:component-scan base-package="controller"></context:component-scan>
    
<!--      @RequestMapping("/forth.action") 을 쓰면서 다른 anno 명시에 따른 문제를 아래 코드로 해결-->
     <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
    
     <bean name="/first.action" class="controller.FirstController"></bean>
     <bean name="/second.action" class="controller.SecondController"></bean>
     <bean name="/third.action" class="controller.ThirdController">
<!--           어노테이션으로 변경 -->
<!--           <property name="userDao" ref="userDao"></property> -->         
          <property name="supportedMethods" value="POST"></property>
     </bean>
     <bean name="userDao" class="dao.UserDao"></bean>
    
<!--      @RequestMapping("/forth.action") 을 써서 삭제 -->
<!--      <bean name="/forth.action" class="controller.ForthController"></bean> -->

     <bean name="/forth.action" class="controller.ForthController"></bean>
     <bean name="/fifth.action" class="controller.ForthController"></bean>
    
     <bean name="/sixth.action" class="controller.ForthController"></bean>
</beans>
...................................
/SpringWebApp2/src/main/webapp/index.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<body>
<a href="first.action">첫번째 요청</a>
<br/><br/>
<a href="second.action?param1=food&param2=fruit">두번째 요청</a>
<br/><br/>
<form action="third.action" method="post">
     <input type="text" name="name"/><br/><br/>
     <input type="submit" value="세번째 요청"/>
</form>
<br/><br/>
<a href="forth.action">네번째 요청</a>
<br/><br/>
<a href="fifth.action">다섯번째 요청</a>
<br/><br/>
<form action="sixth.action" method="post">
     <input type="submit" value="여섯번째 요청(post)"/>
</form>

</body>
</html>
...................................
/SpringWebApp2/src/main/webapp/WEB-INF/views/firstResult.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<body>
<h1>firstResult.jsp</h1>
</body>
</html>
...................................
/SpringWebApp2/src/main/webapp/WEB-INF/views/secondResult.jsp

<%@page import="java.util.Map"%>
<%@page import="java.util.ArrayList"%>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
<html>
<body>
<h1>secondResult.jsp</h1>
<h2>전달된 파라미터 값</h2>
param1 : <%=request.getAttribute("p1") %><br/>
param2 : ${p2}<br/>
<br/>
음식리스트<br/>
<ul>
<%
     ArrayList foodList = (ArrayList)request.getAttribute("foodList");
     if(foodList != null){
          for(int i=0;i<foodList.size();i++){
          %>
               <li><%=foodList.get(i)%></li>
          <%
          }
     }
%>
</ul>
<br/><br/>
과일 목록<br/>
${f1},${f2},${f3}
<br/><br/>
${day[0]},${day[1]},${day[2]}
</body>
</html>
...................................
/SpringWebApp2/src/main/webapp/WEB-INF/views/thirdResult.jsp

<%@page import="java.util.Map"%>
<%@page import="java.util.ArrayList"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
<html>
<body>
<h1>thirdResult.jsp</h1>
<h2>검색 결과</h2>
이름 : ${item.name}<br/>
나이 : ${item.age}<br/>
점수 : ${item.point}<br/>
<hr/>
<h2>전체 리스트</h2>
<ul>
     <c:forEach items="${allItem}" var="item">
     <li>
     이름 : ${item.name}<br/>
     나이 : ${item.age}<br/>
     점수 : ${item.point}<br/>
     </li>
     </c:forEach>
</ul>
</body>
</html>
...................................
/SpringWebApp2/src/main/webapp/WEB-INF/views/forthResult.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
<html>
<body>
<h1>forthResult.jsp</h1>
${msg}
</body>
</html>
...................................
/SpringWebApp2/src/main/java/controller/FirstController.java

package controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class FirstController implements Controller{

     public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
          // ModelAndView는 View로 이동과 데이터 전달까지 가능함
          ModelAndView mv = new ModelAndView();
          mv.setViewName("/WEB-INF/views/firstResult.jsp");
          return mv;
     }

}
...................................
/SpringWebApp2/src/main/java/controller/SecondController.java

package controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class SecondController extends AbstractController {

     @Override
     protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
          String param1 = arg0.getParameter("param1");
          String param2 = arg0.getParameter("param2");

          ArrayList list = new ArrayList();
          list.add("삼계탕");
          list.add("반계탕");
          list.add("추어탕");
          list.add("영양탕");
         
          Map map = new HashMap();
          map.put("f1", "사과");
          map.put("f2", "배");
          map.put("f3", "감");
         
          ArrayList list2 = new ArrayList();
          list2.add("월요일");
          list2.add("화요일");
          list2.add("수요일");
         
          Map map2 = new HashMap<String, ArrayList>();
          map2.put("day", list2);
         
          ModelAndView mv = new ModelAndView("/WEB-INF/views/secondResult.jsp");
          mv.addObject("p1", param1);
          mv.addObject("p2", param2);
          mv.addObject("foodList", list);
          mv.addAllObjects(map);
          mv.addAllObjects(map2);
          return mv;
     }

}
...................................
/SpringWebApp2/src/main/java/controller/ThirdController.java

package controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import dao.UserDao;
import dto.UserDto;

public class ThirdController extends AbstractController {
     @Autowired // 여기에 붙이면 setter 역할까지 함
     private UserDao userDao;
    
//     @Autowired
//     public void setUserDao(UserDao userDao){
//          this.userDao = userDao;
//     }

     @Override
     protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
          arg0.setCharacterEncoding("UTF-8");
          String name = arg0.getParameter("name");
         
          // DI 패턴 적용
          // UserDao dao = new UserDao();
          List allDto = userDao.getItems();
         
          UserDto dto = userDao.getItem(name);
          ModelAndView mv = new ModelAndView("/WEB-INF/views/thirdResult.jsp");         
          mv.addObject("item",dto);
          mv.addObject("allItem",allDto);
          return mv;
     }

}
...................................
/SpringWebApp2/src/main/java/controller/ForthController.java

package controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class ForthController {
     @RequestMapping("/forth.action")
     protected String handle() throws Exception {
          return "/WEB-INF/views/forthResult.jsp";
     }
     @RequestMapping("/fifth.action")
     public ModelAndView fifthHandle(){
          ModelAndView mv = new ModelAndView("/WEB-INF/views/forthResult.jsp");
          mv.addObject("msg","다섯번째 요청에 대한 응답입니다.");
          return mv;
     }
     @RequestMapping("/sixth.action")
     public ModelAndView sixthHandle(){
          ModelAndView mv = new ModelAndView("/WEB-INF/views/forthResult.jsp");
          mv.addObject("msg","여섯번째 요청에 대한 응답입니다.");
          return mv;
     }
}
...................................
/SpringWebApp2/src/main/java/dto/UserDto.java

package dto;

public class UserDto {
     private String name;
     private int age;
     private double point;
     public String getName() {
          return name;
     }
     public void setName(String name) {
          this.name = name;
     }
     public int getAge() {
          return age;
     }
     public void setAge(int age) {
          this.age = age;
     }
     public double getPoint() {
          return point;
     }
     public void setPoint(double point) {
          this.point = point;
     }
    
}
...................................
/SpringWebApp2/src/main/java/dao/UserDao.java

package dao;

import java.util.ArrayList;
import java.util.List;

import dto.UserDto;

public class UserDao {
     private List items = new ArrayList();
     private UserDto[] userDto = new UserDto[3];
     public UserDao(){
          userDto[0] = new UserDto();
          userDto[0].setName("홍길동");
          userDto[0].setAge(20);
          userDto[0].setPoint(3.14);
         
          userDto[1] = new UserDto();
          userDto[1].setName("강감찬");
          userDto[1].setAge(30);
          userDto[1].setPoint(4.1);
         
          userDto[2] = new UserDto();
          userDto[2].setName("이순신");
          userDto[2].setAge(40);
          userDto[2].setPoint(5.1);
         
          items.add(userDto[0]);
          items.add(userDto[1]);
          items.add(userDto[2]);
     }
    
     public UserDto getItem(String name){
          for (int i = 0; i < items.size(); i++) {
               if(((UserDto)items.get(i)).getName().equals(name)){
                    return (UserDto)items.get(i);
               }
          }
          return null;
     }

     public List getItems() {
          return items;
     }
    
}
...................................
-----------------------------------
###################################
4. 과제
-----------------------------------
4-1
-----------------------------------
###################################


'OpenFrameWork' 카테고리의 다른 글

오픈프레임워크_Day89  (0) 2015.07.20
오픈프레임워크_Day88  (0) 2015.07.17
오픈프레임워크_Day86  (0) 2015.07.16
오픈프레임워크_Day85  (0) 2015.07.14
오픈프레임워크_Day84  (0) 2015.07.13
,