Light Purple Pointer
설정 추가 +(lombok)
·
BACKEND/SpringBoot
현재는 컨트롤러의 리턴 값을 수정해도 바로 반영되지않고 서버를 다시 스타트해야 반영 확인가능하다 이 방법은 번거로우니까 서버를 번거롭게 재시작 하지 않더라도 그냥 사이트에서 새로고침하면 반영되도록 설정 추가한다. add starters devtool 선택하고 finish pom에서 확인 가능함 실행함 다시 컨트롤러 수정하고 hello 페이지 새로고침만 해주면 변경 사항 반영된다. 그리고 바로 변경 사항을 새로고침 안하더라도 바로 반영 가능한 확장 프로그램도 있음 https://chrome.google.com/webstore/detail/livereload%2B%2B/ciehpookapcdlakedibajeccomagbfab/related LiveReload++ Watches a port and reloa..
STS4 설치 및 설정 -> 테스트
·
BACKEND/SpringBoot
https://spring.io/tools Spring | Tools spring.io 래거시는 STS3이었음. 스프링부트는 STS4 WINDOW버전 다운로드 C:\Java옮김 압축풀기 workspace-boot 폴더 생성 후 체크박스 클릭 설정하기 window next -> Drectory 에서 경로 설정함 11버전 추가된거 확인하고 finish 클릭 등록한 11버전으로 변경 conpiler11버전으로 변경 엔코딩 utf-8확인 빌드 툴 선택해야함 -> Maven packaging -> jar language -> java java Version -> 11버전 선택 group-> com.mysite (회사주소) name -> sbb (프로젝트이름) next SNAPSOT이 붙지 않은게 안정화 버전임 수..
스프링부트란?
·
BACKEND/SpringBoot
https://blog.naver.com/drv982/222918246257 스프링부트란? 스프링부트(Spring Boot)는 자바의 웹 프레임워크로 기존 스프링(Spring) 프레임워크에 톰캣 서버를 내... blog.naver.com . 기존 스프링(Spring) 프레임워크 -> 레거시 레거시는 기능들을 하나씩 사용자가 추가해서 사용함 스프링부트(Spring Boot)는 톰캣 서버를 내장하고 여러 편의 기능들을 추가하여 꾸준한 인기를 누리고 있는 프레임워크이다. 웹 프로그램을 위해서 아래와 같은 기능들이 필요하다 보안 기능도 우수함 그럼에도 불구하고 스프링을 한 이유는 이론을 위해서 중간 과정을 뛰어넘는 것들이 많아서 스프링 부트의 이해를 돕기 위해서 스프링을 이전에 배웠음 현재 설치 된 자바 버전 확인
게시판 만들기 2 - 기본페이지(index)
·
BACKEND/Spring
현재 기본 페이지는 index.jsp이다. 이름 변경으로 main.jsp로 변경함 board의 main.jsp와는 별개임 HomeController package com.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class MainController { @GetMapping("/main") public String main() { return "/main"; } } 테스트하기 모든 요청은 컨트롤러로 받아야하므로 MainController 생성해서 메인으로 보내줘야함 위의 메뉴가 안뜸 인터셉터..
게시판 만들기 2 - 페이지 네이션 구현
·
BACKEND/Spring
페이지 네이션은 게시글이 늘어날 경우 한 페이지에 모든 게시글을 출력하면 아래와 같이 스크롤이 길어지게된다. 그래서 한 페이지에 출력가능한 게시글 개수를 제한하여 1페이지 2페이지 등 넘어가도록 작동하는 기능 보통 데이터베이스 쿼리문에서 처리하나 Spring MVC은 페이징 처리를 쉽게 할 수 있도록 지원함 #page per board count , pagination count page.listcnt = 10 page.paginationcnt = 10 게시글 개수와 페이지 개수 BoardController //페이지네이션 추가 @GetMapping("/main") public String main(@RequestParam("info_idx") int info_idx, Model model , @Requ..
게시판 만들기 2 - 게시글 삭제 처리
·
BACKEND/Spring
게시글 삭제하기 boardMapper.xml DELETE FROM board WHERE board_idx = #{board_idx} BoardDAO //게시글 삭제하기 public void deleteContent(int board_idx) { sqlTemplate.delete("board.deleteBoard",board_idx); } BoardService //게시글 삭제하기 public void deleteContent(int board_idx) { boardDAO.deleteContent(board_idx); } BoardController //게시글 삭제 처리 @GetMapping("/delete") public String delete( @RequestParam("info_idx") int i..
게시판 만들기 2 - 게시글 수정 처리
·
BACKEND/Spring
BoardController - 유효성 검사 @PostMapping("/modify_pro") public String modify_pro(@Valid @ModelAttribute("modifyContent") BoardVO modifyContent, BindingResult result) { if(result.hasErrors()) { return "board/modify"; } return "board/modify_success"; } 테스트 내용 미 입력 시 수정 처리를 위해서 boardMapper.xml 추가 UPDATE board SET title = #{title} content = #{content} content_file = #{content_file,jdbcType=VARCHAR} WHE..
게시판 만들기 2 - 이미지 업로드 방법 변경
·
BACKEND/Spring
이클립스 기능 중 clean을 삭제하면 글 작성 시 업로드하는 사진 파일도 초기화되는 현상이 생김 그래서 업로드 방법 수정함 C:\Java\upload 톰캣 서버 모듈 주소 지정 /upload를 주소에 입력하면 아래의 폴더로 이동 해당 폴더로 이미지가 올라갈거임 서버가 동적으로 계속 새로고침하면서 등록한 이미지를 가져올 수 있게끔 그리고 추가한 모듈을 등록을 해줘야 함 위의 프로퍼티는 boardService에서 가져온다. 저번에 사용했어서 이미 가져와있음 테스트하기 글 작성하고 이미지 업로드를 하면 지정한 경로의 폴더에 저장이 됨.
게시판 만들기 2 - 게시글은 글쓴이만 수정 가능하게
·
BACKEND/Spring
글 수정 기능 중 작성 권한에 대한 처리를 합니다. 수정과 삭제 버튼은 로그인한 사람과 작성한 사람이 같을 경우에만 노출합니다. 직접 주소를 입력하고 요청할 경우를 대비해 Interceptor로 처리해줍니다. BoardController 현재 로그인 된 유저의 정보는 sessioUser에 저장되어있어서 불러온다. sessionUser을 모델로 보내준다. read페이지로 기존에 있던 getBoardDetail 수정 writer_idx 추가 SELECT board_idx,u.name, writer_idx, DATE_FORMAT(regDate,'%y-%m-%d') AS regDate, title, content, content_file FROM board b JOIN user u ON b.writer_idx ..
게시판 만들기 2 - 글 작성 후 작성했던 메뉴로 돌아가기
·
BACKEND/Spring
write_success.jsp 해당 게시판 목록으로 보내줌 BoardController @PostMapping("/write_pro") public String write_pro(@Valid @ModelAttribute("writeBean") BoardVO writeBean, BindingResult result,Model model ) { if(result.hasErrors()) { return "board/write"; } //DB에 새 게시글 저장 boardService.addContentInfo(writeBean); model.addAttribute("info_idx", writeBean.getInfo_idx()); return "board/write_success"; } 글 작성하면, writ..