간단한 게시판을 만들어보는 숙제로 개인 프로젝트를 하게 되었다.

과제는 아래의 조건이다.

 

  •  간단한 게시판
  • 게시글을 작성할 때, 닉네임, 제목, 내용을 입력
  • 비밀글에 한해서만 닉네임, 제목, 내용과 함께 비밀번호를 입력하고, 비밀번호를 통해 열람 가능해야함
  • 에디터는 네이버 에디터를 이용
  • 파일 첨부는 n개지만 총 파일의 용량이 100MB를 넘어서선 안됨.
  • 댓글 기능 (대댓글은 x)
  • 페이징 (10개 단위로 게시글 출력)
  • 검색 조건은 제목, 내용, 제목과 내용
  • 글 삭제 가능해야함
  • JAVA는 1.8, Tomcat은 8~9 사이, DB는 mariadb 10.x 사용

현재 나는 에디터와 페이징에 약간의 에러 그리고 파일 첨부는 구현하지 못했지만 나머지 기능들은 구현했다.

지금까지의 프로젝트의 구조는 아래와 같다. 

 

 웹 프로그래밍을 배우지 않았고, java script, html을 1월 4일 때 처음 접했기 때문에, 우선은 프로젝트를 위해 필요한 지식만 jsp를 만들어보면서 배우게 되었다. 

 이번 프로젝트를 통해 스프링을 이용해 MVC 방식으로 게시판을 완성하는 것에 목표를 두었다. 

 

 프로젝트에 소개를 하자면 main 파일은 크게 4가지로 구성되어있다. 변수를 가진 board와 board의 컨트롤러, service와 dao로 구성 되어있다. 그리고 views는 8가지의 뷰가 존재하지만 실제 사용하는 뷰는 content, index, inseartBoard, listPage, searchListPage, secretPage 총 6가지로 구성되어있다.

 

 컨트롤러는 총 11가지의 기능을 @RequestMapping을 통해 servie에게 요청하고, dao에서 수행한 뒤 돌아와 jsp 파일에 데이터를 넘겨주게 된다. 

 

 가장 처음 구현했던 건 게시글 목록을 구현했다.

 

주소에서 list를 받으면 service.getBoardList에게 Board의 객체를 준 뒤, List<Board>의 객체를 받아오게 된다. 이를 model에 넣어 listPage.jsp로 보내게 된다.

 

 

 

 

 아직 마이바티스를 잘 다루지 못하기 때문에 JDBC를 이용했다. connection을 통해 내 DB의 주소, 아이디, 비밀번호를 입력해 연결한 뒤, Statment 또는 PreparedStatement로 sql를 질의하게 된다. 하나의 데이터를 가져오기 위해 질의한다면 if (rs.next())를, 여러 개의 데이터를 가져오기 위해 질의한다면 while(rs.next())를 사용했다. 이러한 정보를 Board의 객체인 t로 받아, List<Board>에 넣은 후 반환했다. 이 정보를 약간의 가공 후, jsp 파일로 넘겨주는 간단한 방식으로 게시판을 만들었다. 

 

 구현 결과는 아래와 같다.

+ Recent posts