본문 바로가기

전체 글

(104)
<스프링 부트 Spring boot> 게시판 구현 - 답글 기능 - 게시판 답글 기능 게시판의 답글 기능은 DB에서 게시판을 생성할 때 기본적인 컬럼에 추가적으로 답글 기능과 관련된 컬럼들을 함께 만들어주어야 한다. *기본 컬럼 - num(번호), title(글제목), contents(글내용), writer(글쓴이), hit(조회수 - 없어도 됨), date(작성날짜 - 없어도 됨) *답글 기능 관련 컬럼 ref : 원글과 원글에 대한 답글을 하나의 그룹으로 묶어줌, 원글의 번호를 참조하여 설정됨 step : 원글과 답글들을 한 그룹으로 묶었을 때 해당 그룹 내의 순서 depth : 답글이 원글에 대한 답글일 수 있고, 답글에 대한 답글일 수 있는데 이 때 이러한 답글의 계층을 나타냄 위 내용을 바탕으로 DB에서 게시판을 생성하였다면, 프론트와 백엔드 부분을 차례로 ..
<스프링 Spring> 페이징 + 검색 기능 구현 - 페이징 기능에 사용되는 컴포넌트 : 백엔드 - Controller, Service, Repository, Mapper.xml, VO, Pager / 프론트엔드 - JSP, JS, CSS 1) 페이징 기능 구현을 위해, VO 객체 외에도 페이징을 구현할 변수가 따로 필요하다. 이는 클래스 Pager를 생성하여 만든다. Pager 클래스에 담길 변수(필드)는 다음과 같다. 전체 글의 갯수 totalCount 전체 페이지의 수 totalPage 페이지당 글의 수 perPage 전체 블럭의 수 totalBlock 페이지당 블럭의 수 perBlock 현재 블럭 번호 curBlock 게시판 테이블의 컬럼 kind 검색어 search 페이지 시작번호 startNum 페이지 끝번호 lastNum 마지막 블럭 조사 ..
<스프링 부트 Spring boot> 게시판 구현 - 글 목록 조회 - 게시판 글 목록 조회 기능 스프링보다 훨씬 간편하게 글 목록 조회 기능 구현이 가능하다. 순서는 다음과 같다. 1) Controller에 글 목록 조회 시 실행되는 메서드를 만든다. 매핑은 Get으로 한다. @GetMapping("list") public ModelAndView getList(ModelAndView mv, NoticeVO noticeVO) throws Exception{ List list = noticeService.getList(noticeVO); mv.addObject("noticeList", list); return mv; } VO 객체를 통해 글 목록에 대한 정보를 담아 Service로 보낸다. Service로부터 받아온 데이터는 다시 List 타입의 list 변수에 담아 Mo..
<자바 Java> 추상클래스 - 추상클래스 생성의 목적 개발 프로젝트에서 코드를 설계하는 사람과 코드를 직접 작성하는 사람이 따로 있다고 가정했을 때, 설계하는 사람은 코드를 작성하는 사람에게 클래스의 구조가 어떠해야 하는지 설명해야 한다. 이 때 보다 분명하고 확실하게 지침을 전달하기 위해 코드를 작성하는 사람이 만들어야 할 많은 클래스들 중 공통된 특징을 추려내어 추상클래스를 만들어서 전달해 줄 수 있다. 이렇게 하면, 클래스들 간의 공통되는 특징들 만큼은 정해진 규격을 따라 코드를 작성할 수 있기 때문에 여러모로 편리해진다. 이 때 추상클래스의 추상(abstract)이란, 실체 간에 공통되는 특성을 추출한 것을 뜻하는 단어로서 이처럼 클래스들 간의 공통되는 특징을 추출하여 만든 클래스를 추상클래스라고 한다. - 추상클래스의 특..
<스프링 부트 Spring boot> Ajax 아이디 중복확인 기능 구현 - 아이디 중복확인 Ajax를 통해 페이지 이동 없이 해당 페이지 내에서 아이디 중복확인만 실행이 가능하다. 순서는 다음과 같다. 1) 회원가입 폼에 아이디 입력 후 아이디 중복확인을 할 수 있는 버튼을 만든다. 아이디 중복확인 이 때, 버튼을 만들되 버튼에 속성값으로 type="button"으로 한 번 더 명시해준다. 일반적으로 버튼은 submit의 기능을 포함하고 있기 때문에, 이 속성값을 설정하지 않으면 회원가입 폼의 전체 내용을 submit 하는 마지막 회원가입 버튼과 기능이 혼재되어 나타날 수 있기 때문이다. 따라서 submit이 중첩되지 않게, 아이디 중복확인의 버튼에는 submit 기능이 포함되지 않고 오직 button 기능만 할 수 있도록 해당 속성값을 추가해준다. 추가적으로 css는 다음..