본문 바로가기

개발/Spring 블로그 만들기19

Spring 블로그 만들기 - 18. 회원가입 및 관리 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 블로그 만들기 - 17. 회원가입 및 관리 로그인 폼을 만들었지만, 아직 회원 정보가 아무것도 없어서 로그인을 할 수 없습니다. 이번 포스팅에서는 간단히 회원가입을 위한 폼을 만들어 보도록 하겠습니다. 테이블 생성하기 아래의 SQL문을 실행해 회원정보를 저장할 테이블을 생성합니다. create table tbl_user ( uid varchar(20) not null primary key, name varchar(100) not null, pwd varchar(100) not null, email varchar(100) null, grade varchar(30) null, reg_dt date null ); userM.. 2019. 4. 11.
Spring 블로그 만들기 - 17. 로그인 화면 만들기 및 레이아웃 나누기 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. Spring 블로그 만들기 - 16. 로그인화면 만들기 및 레이아웃 나누기 이제 게시판을 여러 개 만들 수 있게 되었으니 회원권한에 따라 게시판 노출을 제한하려고 합니다. 하지만 아직 로그인 기능이나 회원가입 프로그램이 만들어 져있지 않습니다. 이번 포스팅에서는 로그인 화면을 만들어 봅니다. 부트스트랩을 이용해 간단한 로그인 화면을 만들었습니다. 그런데 지난번에 만들어 놓은 메뉴바가 보이지 않습니다. 사용자의 권한에 의해 메뉴의 구성이 달라지기 때문에 로그인 화면이나 회원가입 단계 에서는 필수적인 메뉴 이외에는 노출 시키지 않는 것이 일반적입니다. 샘플용 게시판에서는 메뉴를 노출시키지 않도록 하겠습니다. 페이지에 따라.. 2019. 4. 9.
Spring 블로그 만들기 - 16. 게시판 메뉴 관리 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 블로그 만들기 - 16. 게시판 메뉴 관리 블로그에 게시판을 하나 더 추가 하려고 합니다. 현재 있는 테이블이나 소스를 이름만 바꿔서 복사해 만드는 것이 아니라 현재의 것을 그대로 이용할 수 있도록 하려고 합니다. 기억 하실지 모르겠지만 우리는 이 작업을 위해 처음 게시판 테이블(tbl_board)를 처음 생성할 때 부터 이부분에 대한 처리를 위해 컬럼 하나를 추가해 두었었습니다. 'cate_cd' 컬럼은 한 테이블에 여러 종류의 게시판을 사용 할 수 있도록 하는 최소한의 장치였습니다. 이제 이것을 이용해 다른 게시판을 손 쉽게 추가해 보도록 하겠습니다. 메뉴 관리 프로그램 메뉴 관리 프로그램을 일반 게시판 프로그램과.. 2019. 4. 4.
Spring 블로그 만들기 - 15. 상단 메뉴바 만들기(부트스트랩) 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 레이아웃 설정에 대한 포스팅은 아래와 같은 순서로 진행합니다.부트스트랩 Navbars메뉴바 소스 복사하기수정 및 적용 하기 블로그 만들기 - 15. 상단 메뉴바 만들기(부트스트랩) 부트스트랩 Navbars이제 게시판에 카테고리를 적용하여 여러 개의 게시판을 사용 할 수 있도록 해보려고 합니다. 여러 개의 게시판에 접근 할 수 있도록 메뉴를 만들어야 합니다. 이 게시판의 전체적인 디자인은 부트스트랩을 사용하고 있으므로 메뉴바 역시 부트스트랩을 이용해 만들 계획입니다. 예전에 게시판 디자인을 참고 했던 부트스트랩의 공식 페이지에서 Examples에 접속해 봅니다. (포스팅의 부트스트랩 버전은 4.2.1 입니다.) 스크롤을.. 2019. 3. 29.
Spring 블로그 만들기 - 14. 위지윅 에디터 사용하기(CKEditor5) 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 블로그 만들기 - 14. 위지윅 에디터 사용하기(CKEditor5) 이번에는 게시판을 조금 업그레이드 해보려고 합니다. 현재 게시판은 단순히 textarea로 이루어져 글자의 폰트나 크기, 색상 등 쉽게 바꿀 수 있는 환경이 아닙니다. 위지윅 에디터는 한글이나 워드를 사용하는 것과 같이 쉽게 이러한 작업을 할 수 있게 도와주는 프로그램 입니다. 무료로 사용할 수 있는 위지윅 프로그램이 몇 가지 있지만, 여기서는 CKEditor5 를 가지고 다뤄 보려 합니다. CKEditor을 사용방법에는 크게 2가지가 있습니다. 하나는 CDN 방식을 이용하는 방식과 다른 하나는 CKEditor을 다운로드 받아 사용하는 방법입니다. 여.. 2019. 3. 18.
Spring 블로그 만들기 - 13. 댓글 쓰기/수정/삭제 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 게시물 댓글 쓰기/수정/삭제 기능에 대한 포스팅은 아래와 같은 순서로 진행합니다.RestBoardController 수정 (댓글 쓰기 추가)댓글 저장 이벤트댓글 수정댓글 수정 내용 저장하기댓글 삭제 블로그 만들기 - 13. 댓글 쓰기/수정/삭제 이전 포스팅에서 댓글 기능의 DAO와 Service를 만들때 쓰기와 수정, 삭제 기능에 대해서도 메소드를 추가해 놓았습니다. 따라서 이번 포스팅에서는 컨트롤러에 댓글의 쓰기/수정/삭제 부분과 View에서 댓글이 수정 모드일때 해당 댓글을 수정 모드로 변경하여 내용을 수정할 수 있게 처리해 주면 됩니다. RestBoardController 수정 (댓글 쓰기 추가)댓글 쓰기의 Co.. 2019. 3. 14.
Spring 블로그 만들기 - 12. 댓글 리스트 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 게시물의 댓글쓰기 대한 포스팅은 아래와 같은 순서로 진행합니다.AJAX댓글 저장을 위한 테이블 생성하기DAO, Service 생성하기BoardController의 수정비동기식 Controller댓글 입력 폼 만들기 (boardContent.jsp 수정) 블로그 만들기 - 12. 댓글 쓰기 댓글 기능은 게시판의 본문 작성 기능과 마찬가지로 게시판의 중요 기능중에 한 가지 입니다. 이번 포스팅에서는 게시물에 댓글을 작성하는 기능을 추가해 보려고 합니다. AJAX댓글 작업을 하기 전에 'AJAX'가 무엇인지 개념을 알아야 합니다. 그러기 위해서 우선 '비동기 통신(Async)'과 '동기 통신(Sync)'이 무엇이고 어떤 차.. 2019. 3. 13.
Spring 블로그 만들기 - 11. properties 사용하기 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. properties 설정에 대한 포스팅은 아래와 같은 순서로 진행합니다.properties 파일 생성common-context.xml 파일 생성datasource-context.xml 파일 수정 블로그 만들기 - 11. properties 사용하기 프로젝트를 진행하다 보면 여러 가지 공통적으로 사용되는 속성값들이 있습니다.예를 들어 DB의 설정값이나, 어떤 특정 상태값을 나타내는 데이터들입니다.이번에는 DB 설정값을 별도로 관리 할 수 있도록 properties 파일로 분리하는 작업을 하도록 하려고 합니다. properties 파일 생성우선 DB관련된 속성값이므로 database-properties.xml 이라는 파일.. 2019. 3. 8.
Spring 블로그 만들기 - 10. 게시물 검색(search) 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 게시물 검색 기능에 대한 포스팅은 아래와 같은 순서로 진행합니다.리스트 화면(index) 수정조건에 맞는 게시판 목록 조회 SQL 및 전체 게시글 수 SQL 수정총 개시글 개수 확인을 위한 BoardDAO, BoardService의 수정(메소드 추가)BoardController의 수정게시글을 읽어 오기 위한 BoardDAO, BoardService의 수정(getBoardList 메소드 수정)게시판 목록 화면(index) 수정 블로그 만들기 - 10. 게시물 검색(search) 많은 게시물을 효율적으로 보여주기 위해서는 페이징 기술도 필요 하지만, 검색 기능도 반드시 필요 합니다. 게시판 화면(index) 수정게시물 검.. 2019. 3. 1.
Spring 블로그 만들기 - 9. 페이징(pagination) 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 페이징 처리에 대한 포스팅은 아래와 같은 순서로 진행합니다.페이징 테스트를 위한 데이터 만들기Pagination 클래스 만들기게시판 목록 조회 SQL의 수정 및 전체 게시글 수 알아오기총 개시글 개수 확인을 위한 BoardDAO, BoardService의 수정(메소드 추가)BoardController의 수정게시글을 읽어 오기 위한 BoardDAO, BoardService의 수정(getBoardList 메소드 수정)게시판 목록 화면(index) 수정 블로그 만들기 - 9. 페이징(pagination) 게시물의 글이 많아 지면 그만큼 스크롤도 길어지지만 서버로 부터 읽어와야 하는 데이터의 양도 많아 지게 됩니다.따라서 페.. 2019. 2. 26.
Spring 블로그 만들기 - 8.트랜잭션 처리 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 트랜잭션 처리에 대한 포스팅은 아래와 같은 순서로 진행합니다.트랜잭션 이란트랜잭션 설정 방법1 - 선언적 트랜잭션 설정트랜잭션 설정 방법2 - @Transactional 어노테이션 사용@Transactional 사용을 위한 Service 수정트랜잭션 테스트 블로그 만들기 - 8. 트랜잭션 처리 바로 이전 포스팅에서는 게시판 처리 시 발생할 수 있는 문제점에 대해 예외처리를 하는 였습니다.하지만 아직 처리하지 못한 중요한 문제점이 남아 있습니다.에러가 발생하여 에러 페이지로 이동한 후 다시 리스트 화면으로 돌아와 새로 고침을 해봅니다.그럼 해당 게시물의 조회수가 올라가는 것을 볼 수 있습니다.조회수를 올리고 의도적으로 .. 2019. 2. 22.
Spring 블로그 만들기 - 7. 예외 처리 이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다. 예외처리 포스팅은 아래와 같은 내용을 정리 하였습니다.Http Status 에 따른 예외처리(404 에러 예외처리)@ExceptionHandler을 이용한 예외처리@ControllerAdvice를 이용한 예외처리@ResponseStatus를 이용한 예외처리 블로그 만들기 - 7. 예외 처리 예외처리는 의도하지 않은 잘 못된 결과들에 대한 처리를 말합니다.예를 들어 URL 주소를 잘못 입력 했을 경우 아래 화면과 같은 문제가 발생합니다. 이런 종류의 에러 관련 페이지는 사이트를 방문 하는 사람들이 보게 된다면 그다지 좋지 않을 것입니다.따라서, 위와 같이 에러 문구를 그대로 출력하지 말고, 별도의 페이지를 만들어 안내를.. 2019. 2. 22.