Controller를 만들어봅시다.
우선 com.phpschool.guestbook.controller 패키지를 만듭시다.
New -> Java Class를 선택해서 ListController클래스를 만듭시다.

이 ListController는 Controller라는 인터페이스를 상속받습니다.
Controller는 org.springframework.web.servlet.mvc.Controller를 선택합시다.





ListController.java
[code]package com.phpschool.guestbook.controller;

import com.phpschool.guestbook.service.GuestbookManager;
import com.phpschool.guestbook.vo.GuestbookVo;
import java.util.List;
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 ListController implements Controller {

    private GuestbookManager guestbookManager;

    public void setGuestbookManager(GuestbookManager guestbookManager) {
        this.guestbookManager = guestbookManager;
    }

    public ModelAndView handleRequest
      (HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
        List<GuestbookVo> contentslist = guestbookManager.getContents();

        return new ModelAndView("list", "contentslist", contentslist);
    }
}[/code]
Manager를 멤버변수로 선언하고 setter를 만듭시다. Manager를 통해 db에서 데이터를 가져와서 ModelAndView를 리턴하는데 contentslist라는 객체를 list.jsp로 넘겨주게 됩니다.

이제 서블릿에 해당요청이 들어올 때 처리하는 부분을 추가해봅시다.
dispatcher-servlet.xml파일을 열어봅시다.
[code]
<props>
<prop key="/index.htm">indexController</prop>
    <prop key="/list.htm">listController</prop>
</props>[/code]
list.htm 요청을 추가하고 저 요청이 들어오면 listController라는 컨트롤러에게 넘겨준다는 얘기입니다.
listController부분을 추가해줍시다.
[code]   
<bean name="listController"
          class="com.phpschool.guestbook.controller.ListController">
        <property name="guestbookManager" ref="guestbookManager" />
</bean>
[/code]
listController는 좀전에 구현한 ListController클래스입니다.

이제 jsp부분을 보도록 합시다.

index.jsp
[code]<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/taglibs.jsp" %>
<%@ include file="/WEB-INF/jsp/header.jsp" %>

<h5><a href="list.htm">스프링 + iBATIS 예제</a></h5>

<%@ include file="/WEB-INF/jsp/footer.jsp" %>
[/code]
상단에 UTF-8페이지임을 추가하고 중간에 list.htm을 요청하는 링크를 추가합니다.

list.jsp
[code]<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/taglibs.jsp" %>
<%@ include file="/WEB-INF/jsp/header.jsp" %>

<c:forEach var="contentslist" items="${contentslist}">
    <div>
        <p>이름 : ${contentslist.name}</p>
        <p>제목 : ${contentslist.subject}</p>
        <p>내용 : ${contentslist.content}</p>
        <p>아이피 : ${contentslist.ip}</p>
        <p>날짜 : ${contentslist.datetime}</p>
    </div>
    <hr />
</c:forEach>

<%@ include file="/WEB-INF/jsp/footer.jsp" %>[/code]
jstl문법을 이용해서 해당 객체를 출력하면 됩니다.
결과를 보도록 합시다.

사용자 삽입 이미지

음.....잘 나오네요.....-_-; 저걸 보려고 저렇게 많은 코드를.....-_-;
 
Posted by 머드초보

댓글을 달아 주세요