본문 바로가기

전체 글

(85)
Spring boot 3일차 ● 리스트에서 제목을 누르면 상세페이지로 이동할 수 있도록 list에 title부분을 수정 [[${bvo.title }]] ●  detail 페이지를 구성해줄건데 이번에는 modfiy.html을 만들어서 수정화면으로 넘어가서 수정하는 것이아닌 상세페이지에서 버튼을 누르면 detail 페이지의 상태를 modify 페이지의 상태로 만들어보도록 함.수정을 위해서는 form에서 post할 필요가 있으므로 form안에 내용들을 넣어주도록함. no. title writer [[${bvo.regDate }]] ..
Spring Boot 2일차 스프링 부트로 게시판을 만들기위해 워크스페이스를 하나 새로만들어서 application.properties 부터 설정 spring.application.name=springserver.port=8090# 타임리프 캐싱 끄기. 새로고침 반영 설정spring.thymeleaf.cache=falsespring.thymeleaf.enabled=truespring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.suffix=.html# DB 설정spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.jdbc-url=jdbc:mysql://localhost:3306/bootdbspr..
Spring Boot 1일차 Spring Boot를 사용하기위해서 일단 JDK17을 깔아주어야하고 이번에는 인텔리제이를 써서 사용해보도록 할 예정이기에 인텔리제이까지 깔아주도록 함.인텔리제이를 깔 때에는 유료버젼은 한달만 무료이므로 무료버젼을 사용해줌.JDK 17과, 인텔리제이를 깔았으면 Spring 프로젝트를 안에서 생성할 수 없으므로 스프링 홈페이지에가서 initializr를 사용해서 프로젝트를 원하는 버젼과 디펜던시 등을 설정해서 다운받아 주도록함. 인텔리제이 기본설정●  자바 컴파일러에서 17버전인지 확인해주기.●  빌드 툴에서 Gradle 부분 인텔리제이로 속도가 빨라짐 (필수아님)●  파일 인코딩에서 UTF-8로 설정프로젝트 파일 설정●   application.properties 에서 포트번호, 타임리프에관한 설정들을 ..
Spring 8일 ● 글을 생성할 때 본인의 닉네임이 들어갈 수 있도록 설정. writer  ● 로그인을 하지않으면 댓글을 작성하는 창이 나오지않도록 sec:authorize로 권한이 있을때만 띄우게만듬.sec:authentication로 닉네임을 가져와서 작성자는 본인의 닉네임으로 설정 ${authNick } post  c:set은 로그인하지않아도 자바스크립트  authNick을 인지할 수 있도록 설정. ● 댓글에서 작성자의 닉네임과 본인의 닉네임이 다르면 수정, 삭제버튼이 사라지도록 구현 (본인만 수정/삭제할 수 있게)  일단 로그인한 아이디의 닉네임을 벨류로받아서 스크립트에서 인식할 수 있도록함. if( authNick == cvo.writer){ li += ``; li +=..
Spring 7일 시큐리티 관련 디펜던시 추가- spring-security core, web, config, taglibs  5.5.3 ● 시큐리티 설정을 위해 config에 SecurityInitalizer 와 SecurityConfig를 생성해줌- SecurityInitalizer 에 AbstractSecurityWebApplicationInitializer 를 상속받아야 시큐리티 관련 필터들이 활성화 됨.- SecurityConfig에서 객체를 생성하고 필요한 설정세팅.@Slf4j@EnableWebSecurity@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter{ // 비밀번호 암호화 객체 PasswordEncoder 빈 생..
Spring 6일 5일에 이미지파일을 datail (상세) 페이지에 뿌린거부터 이어서  ● 이미지 파일이 아닌경우 파일 아이콘을 부트스트랩에서 하나 가져와서 눌러서 다운로드 할 수 있도록 설정download ="" 안에 파일이름을 넣어서 다운로드할때 경로, uuid를 생략하고 파일이름만 나올 수 있도록 설정.  ● BoardVO로 뿌렸었는데 DTO로 수정해서 뿌리게돼서 datail을 수정했으니 modify도 이어서 DTO로 수정해줘야함. c:set으로 form태그안에있는 BoardVO객체들을 DTO의 bvo로 읽을 수있도록 해주고 0 }"> ${fvo.fil..
Spring 5일 이어서 댓글 더보기 버튼 구현 ● js에서 댓글을 뿌리는 메서드안에 화면에서 더보기버튼을 가져와서 result안의 pgvo 현재페이지가 result의 전체페이지보다 작으면 표시하도록 추가let moreBtn = document.getElementById('moreBtn');if(result.pgvo.pageNo  ● moreBtn을 누르면 타겟의 dataset을 가져오게 할 때 String으로 가져오기에 parseInt를 해줘서page를 가져오고 page를 추가해서 만든 메서드를 넣어줘서 댓글을 뿌리게함. if(e.target.id == "moreBtn"){ let page = parseInt(e.target.dataset.page); spreadCommentList(bnoV..
Spring 4일 이어서 댓글기능의 구현DB부터 구성 ● 댓글 테이블 생성create table comment(cno bigint auto_increment,bno bigint not null,writer varchar(500) not null,content text,reg_date datetime default now(),primary key(cno)); ● 테이블 구성에 맞게 CommentVO부터 컨트롤러, 서비스, 다오 , 매퍼까지 다 생성 @Getter@Setter@AllArgsConstructor@NoArgsConstructor@ToStringpublic class CommentVO { private long cno; private long bno; private String writer; private Stri..