데이터 베이스 연결하기 위한 라이브러리 설정
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc10 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc10</artifactId>
<version>19.7.0.0</version>
</dependency>
드라이버 다운 받은 것임
NoticeService.java 개체를 어떻게 생성할거냐?
이렇게 생성하기보단 스프링스럽게 해보자
스프링은 기본적으로 DI기능 제공한다.
IOC컨테이너는 전역 객체 보따리라고 생각하면 된다.
요점은 이 보따리 속 객체를 컨트롤러에서 어떻게 사용하는지 알아보는 것.
<bean class="com.newlecture.web.service.NoticeService" />
객체 만든걸 DI할 것임.
컨트롤러가 쓸 거다.
여기 태그 닫은 부분을 열어서 인젝션하자
이 프로퍼티는 setter가 있어야 한다.
com.newlecture.web.controller.notice.ListController가 가지고 있는 setSerivce()라는 메서드라는 의미의
name="service"
ref="?"에는 id값이 들어가야한다.
현재는 미작성된 상태
커서에 이름 넣을것임
id="noticeService" 추가
위에 name="service"였던 부분을
name="noticeService" 로 수정하고
ref="noticeService" 추가 (위에 id="noticeService" 참고하란 의미)
컨트롤러에 가서 setter 추가해 주자
package com.newlecture.web.controller.notice;
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;
import com.newlecture.web.entity.Notice;
import com.newlecture.web.service.NoticeService;
public class ListController implements Controller {
private NoticeService noticeService;
public void setNoticeService(NoticeService noticeService) {
this.noticeService = noticeService;
}
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView("notice.list");
//mv.setViewName("/WEB-INF/view/notice/list.jsp");
List<Notice> list = noticeService.getList(1, "TITLE","");
mv.addObject("list", list);
return mv;
}
}
이거만 남기고 테이블 <tr>나머지 지움
jstl 받아둔게 있는걸 확인하고
태그라이브러리 추가
Notice.java의 getId, getTitle등을 활용하여 EL작성
items="${list}"
로 변경
출처:
https://www.youtube.com/watch?v=hDwlM0tmgKs&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=47
댓글