Light Purple Pointer
게시판 만들기 2 - BoardController, board(read,modify,write,delete.jsp)페이지 생성
·
BACKEND/Spring
BoardController package com.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/board") public class BoardController { @GetMapping("/main") public String main() { return "board/main"; } @GetMapping("/read") public String read() { r..
게시판 만들기 2 - context path, user(login,logout,modify,join.jsp)
·
BACKEND/Spring
자유게시판 유머게시판 정치게시판 스포츠게시판 확인을 위해서 일시적으로 modules변경 리스타트하고 홈페이지 들어감 자유게시판에 커서 올리면 왼쪽 하단에 path확인가능 다시 기본 페이지로 변경 만약 contextPath 가 바뀌게 되면 모든 주소를 수정해야 할 수 있기 때문에 정확하게 적어주기 위해서 주소를 변수(root)로 만들어서 저장해서 사용 BoardController 생성 package com.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotati..
게시판 만들기 2 - 기본 설정 및 include(nav,footer 분리)
·
BACKEND/Spring
컨트롤러부터 생성 pom.xml에서 버전 수정해야함 버전 수정 후 메이븐 업데이트 - 버전 11변경 확인 완료 3 HomeController 수정 package com.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home";///WEB-INF/views/가 생략되어있는거임 } } servlet-context.xml에 경로 작성되어있음. home.jsp UTF-8설정 가..
게시판 만들기 2 - MVC의 구조
·
BACKEND/Spring
controller, service, repository : 특수 클래스 https://kkminseok.github.io/posts/Spring_semina/ Spring DAO란?, DTO란?, VO란?, DTO vs VO, DTO vs Domain, DAO vs Repository 귀염둥이 후배들과 스터디를 하면서 세미나를 하기로 했다. kkminseok.github.io
내 게시판 만들기 - 기본 설정 /DB연결
·
BACKEND/Spring
새 프로젝트 생성 - my_board pom_xml에서 버전 수정 필요 사용 버전 web_xml 한글 인코딩 필터 설정 추가 home.jsp에 UTF-8 추가함. DB연결 - 테이블 생성 필요한 테이블 board, user,reply 세 개 CREATE TABLE board( bno int not null auto_increment, title varchar(50) not null, id varchar(50) not null, content text not null, regDate timestamp not null default now(), viewCnt int default 0, primary key(bno), FOREIGN KEY(id) REFERENCES user(id) ); CREATE TABLE..
게시판 만들기 - 댓글 삭제하기
·
BACKEND/Spring
replyMapper.xml 삭제 쿼리문 추가 - 이미 작성되어있음. delete from tbl_reply where rno = #{rno} and bno = ${bno} ReplyDAO // 댓글 삭제 public void delete(ReplyVO vo) throws Exception; ReplyDAOImple //댓글 삭제 @Override public void delete(ReplyVO vo) throws Exception { sqlTemplate.delete("reply.replyDelete", vo); } ReplyService // 댓글 삭제 public void delete(ReplyVO vo) throws Exception; ReplyServiceImple //댓글 삭제 @Overrid..
게시판 만들기 - 댓글 수정하기
·
BACKEND/Spring
view.jsp 수정, 삭제 링크 추가 ${reply.writer}/ ${reply.content} 수정/삭제 댓글 수정 링크 클릭하면 이동할 페이지 만들어야함 views -> reply 폴더 생성 view.jsp 복사해서 modify.jsp로 수정한다. 댓글 작성자 댓글 수정 replyMapper.xml select rno, bno, writer, content, regDate from tbl_reply where bno = #{bno} and rno = #{rno} ReplyDAO // 단일 댓글 조회 public ReplyVO replySelect(ReplyVO vo) throws Exception; ReplyDAOImple // 단일 댓글 조회 @Override public ReplyVO repl..
게시판 만들기 - 댓글 작성(write)
·
BACKEND/Spring
view.jsp 댓글 작성자 댓글 작성 submit으로 해야 POST로 이동 ReplyController // 댓글 작성 @PostMapping("/write") public String posttWrite(ReplyVO vo) throws Exception { replyService.write(vo); return "redirect:/board/view?bno=" + vo.getBno(); } ReplyController를 만들었을때, 컨트롤러 자체를 /reply로 매핑했으므로, 이 댓글 작성 메서드에 적용되는 실제 url은 /reply/write 입니다. return은 redirect:/board/view?bno= 로 되어있어서, 댓글을 작성했던 게시물로 다시 이동됩니다. 즉, 데이터의 순서는 1. ..
게시판 만들기 - 댓글 DB에 테이블 추가, 게시글 댓글 조회
·
BACKEND/Spring
view.jsp 하단에 댓글 html 코드 추가 게시물 수정 게시물 삭제 첫번째 댓글 작성자 첫번째 댓글 두번째 댓글 작성자 두번째 댓글 세번째 댓글 작성자 세번째 댓글 댓글 작성자 댓글 작성 MySQL에서 테이블 추가함 CREATE TABLE tbl_reply ( rno int not null auto_increment, bno int not null, writer varchar(30) not null, content text not null, regDate timestamp not null default now(), PRIMARY KEY(rno, bno), FOREIGN KEY(bno) REFERENCES tbl_board(bno) ); select * from tbl_reply; 댓글은 게시글의 댓..
게시판 만들기 - 검색 기능
·
BACKEND/Spring
listPage.jsp 복사해서 listPageSearch.jsp생성 주소 수정 [ 이전 ] ${num} ${num} [ 다음 ] BoardController 에 추가 // 게시물 목록 + 페이징 + 검색 @GetMapping("/listPageSearch") public void getlistPageSearch(@RequestParam("num") int num, Model model) throws Exception { int count = boardService.count(); Page page = new Page(); page.setNum(num); page.setCount(count); page.dataCalc();//페이지와 총게시글로 계산하기 List list = boardService.lis..