데이터베이스에 저장된 데이터를 불러와 웹페이지에서 확인하기
일단 웹서버의 주소를 바꿔준다.
아래의 Tomcat v8.5 Server... 을 더블클릭한다. -> Modules 클릭 -> Edit... 클릭 -> Path를 /로 바꿔주고 OK 클릭
board -> src -> main -> webapp -> WEB-INF -> views 마우스 우클릭 -> New -> Folder 클릭
board라는 이름의 폴더를 새로 만든다.
생성한 board폴더 우클릭 -> New -> Other 클릭
JSP File을 클릭한 후에 Next
경로를 확인한 후에 File name에 list.jsp 입력 후 Finish 클릭
list.jsp내용을 다음과 같이 입력해 준 다음 저장해준다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ 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>
<table>
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>작성자</th>
<th>작성일</th>
<th>조회수</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
views -> home.jsp에 다음 코드를 추가해준다.
<p><a href="/board/list">목록으로 이동</a></p>
컨트롤러를 생성해주기 위해 board -> com.board.myapp 마우스 우클릭 -> New -> Class 클릭
Name에 BoardController입력 후 Finish 클릭
BoardController.java에 다음내용을 추가해 준다.
package com.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/board/*")
public class BoardController {
@RequestMapping(value = "/list", method = RequestMethod.GET)
public void getList() throws Exception {
}
}
이제 서버를 한번 켜보고 http://localhost:8080/ 에 들어가보면 다음과 같은 페이지가 나올 것 이다.
목록으로 이동을 클릭 할 시 다음과 같이 나오면 성공이다. 아직 데이터베이스에서 데이터를 안불러와서 데이터는 안들어 와있다.
src/main/resources -> mappers -> boardMapper.xml파일에 </mapper> 위에 다음 내용을 추가한다.
<select id="list" resultType="com.board.domain.BoardVO">
select * from board.tbl_board
</select>
src/main/java 마우스 우클릭 -> New -> Package 클릭
com.board.dao와 com.board.service 두개를 만들자.
생성한 com.board.dao 마우스 우클릭 -> New -> Interface 클릭
이름을 BoardDAO로 만들고 Finish클릭
생성된 BoardDAO.java에 다음내용 추가
package com.board.dao;
import java.util.List;
import com.board.domain.BoardVO;
public interface BoardDAO {
public List<BoardVO> list() throws Exception;
}
com.board.dao 마우스 우클릭 -> New -> Class 클릭
이름을 BoardDAOImpl이라고 입력 후에 Add클릭
board 검색 후에 BoardDAO 입력 후 OK -> Finish 클릭
생성된 BoardDAOImpl.java에 다음과 같이 작성한다.
package com.board.dao;
import java.util.List;
import javax.inject.Inject;
import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;
@Repository
public class BoardDAOImpl implements BoardDAO {
@Inject
private SqlSession sql;
private static String namespace = "com.board.mappers.board";
@Override
public List list() throws Exception {
return sql.selectList(namespace + ".list");
}
}
아까 만들었던 com.board.service 패키지에도 방금 만든것과 같이 만들어 준다. 이번에는 BoardService를 상속 받아야 한다.
//BoardService.java에 넣으세요
package com.board.service;
import java.util.List;
import com.board.domain.BoardVO;
public interface BoardService {
public List<BoardVO> list() throws Exception;
}
//BoardServiceImpl.java에 넣으세요
package com.board.service;
import java.util.List;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import com.board.dao.BoardDAO;
@Service
public class BoardServiceImpl implements BoardService {
@Inject
private BoardDAO dao;
@Override
public List list() throws Exception {
return dao.list();
}
}
src -> main -> webapp -> WEB-INF -> spring -> root-context.xml파일에 들어간다.
</beans> 위에 다음 코드를 추가해 준다.
<context:component-scan base-package="com.board.domain" />
<context:component-scan base-package="com.board.dao" />
<context:component-scan base-package="com.board.service" />
com.board.myapp -> BoardController.java 파일을 수정한다.
package com.board.controller;
import java.util.List;
import javax.inject.Inject;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.board.service.BoardService;
@Controller
@RequestMapping("/board/*")
public class BoardController {
@Inject
private BoardService service;
@RequestMapping(value = "/list", method = RequestMethod.GET)
public void getList(Model model) throws Exception {
List list = null;
list = service.list();
model.addAttribute("list", list);
}
}
views -> board -> list.jsp파일을 수정해 준다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>목록</title>
</head>
<body>
<table style="width:60%; margin:auto; text-align:center;'">
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>작성자</th>
<th>작성일</th>
<th>조회수</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="list">
<tr>
<td>${list.id}</td>
<td>${list.title}</td>
<td>${list.users}</td>
<td>${list.reg_date}</td>
<td>${list.view_count}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
이제 서버를 켜고 http://localhost:8080/board/list 페이지에 접속하면 다음과 같이 데이터베이스의 데이터들이 잘 들어와있는 것을 확인 할 수 있다.
'Java Spring' 카테고리의 다른 글
Spring MVC패턴 웹 프로젝트 기초설정 - (4) (0) | 2021.05.07 |
---|---|
Spring MVC패턴 웹 프로젝트 기초설정 - (3) (0) | 2021.05.06 |
Spring MVC패턴 웹 프로젝트 기초설정 - (2) (0) | 2021.05.06 |
Spring MVC패턴 웹 프로젝트 기초설정 - (1) (0) | 2021.05.05 |