Spring MVC로 게시판 만들기: Ajax와 JSON을 활용한 실습
안녕하세요, 프로그래밍에 열정을 가진 여러분! 오늘은 Spring MVC를 이용하여 간단한 게시판을 만들어보겠습니다. 우리가 다룰 내용은 Ajax와 JSON을 활용한 데이터 송수신할 수 있는 시스템입니다. 이 포스트에서는 코드 한 줄 한 줄을 살펴보면서 폐쇄된 구조의 웹 애플리케이션을 만드는 경험을 제공하고자 합니다.
들어가며
웹 애플리케이션 개발은 사용자와의 상호작용을 구축하는 데 있어 매우 중요한 과정입니다. 특히 게시판과 같은 소통의 공간은 다양한 기능과 효율성으로 사용자 경험을 향상시킬 수 있습니다. 이번 프로젝트에서는 Spring Framework를 기반으로 하여, Ajax를 통해 비동기로 데이터를 업데이트하고 JSON을 사용해 효율적인 데이터 전송을 구현해 보겠습니다.
자! 그럼 시작해볼까요?
프로젝트 준비하기
먼저, 게시판의 기본 구조를 설정하겠습니다. 아래는 주요 파일의 코드를 포함한 구조입니다.
HTML 구조
<!DOCTYPE html>
<html lang="utf-8">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script src="resources/JS/board.js"></script>
</head>
<body>
<div class="container">
<h2>Spring MVC 게시판</h2>
<div class="panel panel-default">
<div class="panel-heading">게시판 만들기</div>
<div class="panel-body">
<table class="table table-hover table-bordered">
<thead>
<tr>
<td>글번호</td>
<td>제목</td>
<td>작성자</td>
<td>작성일</td>
<td>조회수</td>
</tr>
</thead>
<tbody id="tbody">
</tbody>
</table>
<div class="panel-footer">지능형 IoT 8차 김우담</div>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(loadBoard());
</script>
</body>
</html>
코드 해설
위 코드는 HTML을 사용해 게시판의 기본적인 뼈대를 설계합니다.
- Bootstrap를 이용한 스타일링으로 UI/UX를 개선했습니다.
- jQuery를 활용하여 JavaScript를 쉽게 적용했습니다.
- 페이지가 로드되면 게시판 데이터를 불러오는
loadBoard
함수를 호출합니다.
JavaScript 로직
게시판 데이터를 Ajax로 불러오는 JavaScript 코드도 작성하겠습니다.
function loadBoard() {
$.ajax({
url: "getBoardList", // 서버로부터 게시판 데이터를 요청
type: "GET",
dataType: "json",
success: function(data) {
let tbody = $("#tbody");
tbody.empty(); // 기존 내용을 삭제
$.each(data, function(index, board) {
let tr = $("<tr></tr>");
tr.append("<td>" + board.id + "</td>");
tr.append("<td>" + board.title + "</td>");
tr.append("<td>" + board.author + "</td>");
tr.append("<td>" + board.date + "</td>");
tr.append("<td>" + board.viewCount + "</td>");
tbody.append(tr);
});
},
error: function(xhr, status, error) {
console.error("Error fetching the board list: " + error);
}
});
}
여기서 loadBoard
함수는 Ajax 통신을 통해 게시판 데이터인 JSON 객체를 서버에서 받아와 DOM에 추가하는 역할을 합니다.
최종 결과
이렇게 구성된 코드를 실행하면, 페이지 로드 시 서버에서 게시판 데이터가 자동으로 불러와지며 사용자는 실시간으로 게시판 내용을 확인할 수 있습니다.
마무리하며
이번 포스트에서는 Spring MVC와 Ajax, JSON을 활용한 간단한 게시판을 만드는 과정을 살펴보았습니다. 비동기 통신을 통해 데이터 처리 효율성을 크게 향상시킬 수 있음을 보여주는 좋은 예가 되길 바랍니다. 이러한 방식은 이후 다양한 프로젝트와 기능 확장을 위해 유용하게 활용될 수 있습니다.
여러분도 이 예제를 바탕으로 자신만의 게시판을 구현해보세요! 실습하시며 문제점이 있거나 궁금한 사항이 있다면 언제든지 댓글로 질문해 주세요. 다음 포스트에서 더 유용한 내용을 가지고 찾아뵙겠습니다. 감사합니다!
'개발' 카테고리의 다른 글
Spring 프레임워크로 게시판 관리 시스템 구축하기 (1) | 2024.11.15 |
---|---|
Spring 프레임워크로 간단한 게시판 만들기: CRUD 기능 구현 안내 (0) | 2024.11.15 |
자바스크립트를 이용한 게시판 CRUD 시스템 구축하기 (0) | 2024.11.15 |
자바 게시판 시스템의 핵심: BoardVO 클래스 이해하기 (0) | 2024.11.15 |
간단한 게시판 데이터베이스 테이블 설계와 생성 방법 (1) | 2024.11.15 |