실행화면 (계층형 댓글) 테이블 생성 CREATE TABLE `tb_reply` ( `idx` INT NOT NULL AUTO_INCREMENT, `board_idx` INT, `reply_idx` INT, `contents` TEXT NULL, PRIMARY KEY (`idx`)); 댓글 테이블 tb_reply를 추가해줍니다. idx(댓글 번호), board_idx(글 번호), reply_idx(상위 댓글번호), contents(댓글 내용)입니다. 가장 위에 있는 Root 댓글은 reply_idx가 0이고 하위 댓글들은 reply_idx로 상위댓글의 idx를 참조하도록 설계하였습니다. 소스코드 function 추가 (view.jsp) function drawReply(replys) { $("#cnt")..
실행 화면 (글 상세보기) 소스코드 글 상세보기 (view.jsp) 과제 홈 게시판 본문 이미지와 제목, 글 내용이 적절하게 보여질 수 있도록 컨트롤을 적절히 배치하고 boardView URL로 Controller에 요청을 보내 image와 title, contents에 조회한 내용들을 삽입하여 보여줍니다. Controller (IndexController) @Controller public class IndexController { @Autowired private BoardService s; @RequestMapping(value="/view", method=RequestMethod.GET) public String view() { return "view"; } @RequestMapping(value..
실행 화면 (글 등록) 소스 코드 글 등록 화면 (write.jsp) 과제 홈 게시판 글쓰기 제목: 내용: 글쓰기 화면은 위와 같이 제목, 내용, 그리고 이미지 첨부를 할 수 있게끔 만들었습니다. 해당 화면에서 글을 작성하고 글쓰기 버튼을 누르면 writeAction이라는 url로 controller에 요청이 가게 됩니다. 파일 첨부 기능 구현 시 form의 메서드를 post / enctype을 multipart/form-data로, input type="file"로 해주고 컨트롤러에서는 MultipartFile 받아주면 됩니다. Controller (IndexController) @Controller public class IndexController { @Autowired private BoardSe..
SpringBoot를 활용하여 간단한 게시판을 만들어야 할 일이 있어 급하게 만든 초간단 게시판을 공유합니다. 총 4개의 포스팅으로 작성할 예정이며 전체 소스는 마지막 게시글에서 GitHub링크를 남겨드리도록 하겠습니다. 최소한의 게시판이 돌아가게끔 기본적인 틀만 정해서 구현하였기에 이 게시판을 기초로 살을 붙여나가며 사용하시면 좋을 듯합니다. SpringBoot와 데이터베이스는 MySql을 사용하였고 SpringBoot에서 데이터 베이스 접근은 마이바티스 라이브러리를 사용해 접근했습니다. 주요 기능 1. 게시판 리스트 출력 2. 게시판 글 등록 (이미지 첨부) 3. 게시판 상세보기 4. 댓글과 대댓글 (계층형 댓글) 실행 화면 (게시판 리스트 출력) 테이블 생성 CREATE TABLE `tb_board..
스프링 부트(Spring Boot)란? 스프링 부트는 스프링 설정에서 반복되는 코드를 싹 빼고 간편하게 이용할 수 있도록 확장된 버전입니다 스프링은 스프링부트와 비교하여 여러가지 장점이 있습니다. 개발을 하며 가장 와닿는 장점은 설정이 매우 간편해졌다는 점입니다. 스프링의 경우 많은 XML설정 파일등을 작성하는 등 설정하기도 힘들고 웹을 구축하기 위해 많은 Dependency 설정을 추가해주는 등 설정을 위한 코드의 양도 굉장히 많았지만 스프링부트에서는 starter 라이브러리 사용으로 많이 간소화 되었습니다. 이렇게 스프링 부트는 반복되는 개발환경 구축을 위한 코드작성등의 노력을 줄여주고 쉽고 빠르게 프로젝트를 설정할 수 있도록 도와줍니다. 또한 Maven보다 강력한 Gradle이라는 빌드배포 툴을 제..
이번 포스팅에서는 스프링 프로젝트에서 BootStrap을 연동하는 방법에 대해서 한번 알아보도록 하겠습니다. BootStrap이란 웹 사이트나 웹 응용 프로그램을 작성하기 위해 사용하는 무료 소프트웨어 도구 모음입니다. 기본적인 디자인이 다 되어있는 오픈소스로 되어있기 때문에 디자인 능력이 부족한 개발자이거나 단기간에 웹사이트를 만들어야 하는 경우 요긴하게 사용할 수 있습니다. 스프링에서 BootStrap적용하기 1. BootStrap을 쓰기 위해서는 자신이 원하는 소스코드를 다운로드하아야 합니다. BootStrap을 다운로드하는 홈페이지를 두 군데 소개해드리겠습니다. 부트스트랩 무료 오픈소스 링크 바로가기 1 부트스트랩 무료 오픈소스 링크 바로가기 2 위에 링크된 사이트에서 자신이 원하는 오픈소스를 다..
Controller - 메소드 파라미터의 종류 @RequestParam - RequestParam 매핑 1. HTTP 요청 파라미터를 메서드의 파라미터로 전달받을 때 사용 2. 어노테이션이 적용된 파라미터가 String이 아닐 경우 실제 타입에 따라 알맞게 타입 변환 수행 3. 필수가 아닌 파라미터인 경우 required 속성 값을 false로 지정 (기본 값은 true), 값은 null로 저장 4. 필수가 아닌 파라미터인 경우 defaultValue 속성 값으로 기본값을 지정 CookieValue - 쿠키 매핑 1. 쿠키 값을 파라미터로 전달 받을 때 사용 2. 해당 쿠키가 존재하지 않으면 500 응답 에러 코드 전송 3. 쿠키가 필수가 아닌 경우 파라미터와 같이 required 속성의 값을 false..
이번 포스팅에서는 스프링 프로젝트에 느낌표가 뜨는 에러를 해결하는 방법에 대해 알아보려 합니다. 저도 처음 스프링을 설치하고 프로젝트를 만들었는데 느낌표가 떠서 굉장히 애먹었습니다. 스프링 프로젝트를 만드니까 이런식으로 ! 스프링 프로젝트에 느낌표가 떳었습니다. 지금 와서 깨달았는데 아마 라이브러리를 제대로 찾지 못해 생기는 현상 같습니다. 스프링 프로젝트 느낌표 에러 해결 이걸 해결해주는 방법은 굉장히 간단합니다. 먼저 User폴더로 가주세요. User폴더에 보시면 위 사진과 같이. m2라는 폴더가 있는데 이 폴더가 라이브러리를 모아두는 그런 곳입니다. 이 폴더를 삭제해주면 됩니다..(이클립스를 끈 상태에서 삭제하시는 것을 추천드립니다. 충돌 날수도 있으니..) 그런 뒤 스프링 프로젝트를 다시 실행시키..
스프링 프레임워크란? 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 동적인 웹사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있는 프레임 워크이며 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크의 기반 기술로서 쓰이고 있습니다. 현시점 실무에서 굉장히 많이 쓰이고 있는 프레임워크입니다. 설치방법에는 크게 두가지가 있습니다. 첫 번째 방법 : 스프링 설치경로 바로가기 스프링 사이트에 가서 다운로드하는 방법. 두 번째 방법 : 이클립스에서 스프링 플러그인을 설치하는 방법. 이 두 가지 방법 중에 두 번째 방법이 좀 더 쉽고 간단하니 설치하시려고 하는분들은 두번째 방법을 사용하면 좀 더 쉽게 스프링을 설치할 ..