Project9은 Spring 4 + MyBatis 3 + MariaDB (Maven) 기반으로 제작한 웹 프로젝트 템플릿이다.

소스는 Github에서 받을 수 있다.

데모는 여기에서 확인할 수 있다.

데모는 AWS 무료를 사용하는 관계로  1년(2017-09-17) 이후에는 접속이 안될 수 있고

작성한 데이터는 통보없이 삭제될 수 있다.

웹 개발시 많이 사용되는 다양한 기능들 미리 구현해 두고

복사해서 사용하기 위해 제작하였다.

많이 사용되는 회원관리(로그인, 로그아웃 포함), 부서관리 (조직도), 게시판 (설정), 무한 댓글 등의 기능을 미리 구현해 두었고,

프로젝트에 따라 필수적인 기능을 샘플로 구현해서

같이 작업하는 개발자들이 일관되고 빠르게 작업할 수 있게 하였다.

그리고, 유사 기능은 복사/붙여넣기를 하여 쉬운 개발을 하려고 준비하였다.

(만들고 보니 전자정부프레임과 비슷한 느낌이…)


주요 구현 기능은 다음과 같다.

  • 멀티 게시판 (무한 댓글, 좋아요 등)
  • 회원 기능: 모든 페이지는 회원만 접속 가능. 로그인/로그 아웃 기능. 회원관리 등
  • 보안 기능: 일반사용자(U)와 관리자(A)로 구분하여 일반 사용자는 관리자 페이지에 접근 불가.
  • 다국어 처리
  • 디자인: 부트스트랩기반 반응형 웹 적용 (SB-Admin)
  • 공통 에러 페이지 처리(404, 500)
  • 로그 처리(logback, log4jdbc)


준비된 샘플

  • 사용자 선택: 부서, 사용자 선택 기능 (팝업)
  • 날짜(DatePicker) 선택 및 챠트(morris) 사용법 샘플
  • 엑셀 다운로드(jXLS) 샘플


사용된 라이브러리와 구성은 다음 그림과 같다.


디렉토리 구조는 다음과 같다.

java 패키지는 gu 하위에 있으며

동일한 디렉토리 구조로 JSP 파일이 WEB-INF 하위의 jsp에 있다.

admin 디렉토리는 관리자 기능으로

게시판 생성과 부서(조직도), 사용자 관리 등을 가지고 있다.

board 디렉토리는 게시판 기능을 가지고 있다.

main 디렉토리는 메인 화면(index)과 샘플을 가지고 있다.

member 디렉토리는 로그인/아웃, 개인정보 수정등을 가지고 있다.

common 디렉토리는 공통 기능을 가진 디렉토리로

파일 업로드/다운로드(엑셀), 권한 관리등을 기능만 가지고 있다.

jsp의 common 디렉토리는 페이징 화면, 오류 페이지등

공통으로 사용되는 화면을 가지고 있다.

마지막으로 etc 디렉토리는 공통으로 사용되는 화면과 기능을 가진 디렉토리로

부서나 사용자 선택등을 가지고 있다.


resources의 message는 다국어 처리 파일을 가지고 있고

sql 디렉토리는 프로그램에서 사용되는 모든 Mybatis SQL문을 가지고 있다.


마지막으로 테이블 구성(ERD)는 다음과 같다.

AmaterasERD로 작성되었고

파일명이 project9.erd로 github에서 같이 배포되고 있다.

Logical mode

Physical mode

'Java > 기타' 카테고리의 다른 글

그룹웨어 (Java) - 설치  (27) 2018.04.15
과제 관리 시스템 (PMS9)  (8) 2016.12.01
Project9 설치  (5) 2016.09.18
데이터를 Excel 파일로 다운로드  (2) 2016.09.18

+ Recent posts