분류 전체보기 403

[Spring ] postHandle_modify url 접근막기_ 22.08.04 [16일차]

jsp에서 로그인한 회원에게만 버튼을 보여준다고 해서 문제가 해결되지 않는다. url로 접속할때도 수정이나 삭제를 하지 못하도록 막아야 한다. ================ delete 다시 만들어야 함. delete는 보지 마세여!! modify는 get 요청이기 때문에 수정화면에 진입하는 것을 포스트 핸들에서 거른 것인데. delete는 get과 post 구분이 없어서 프리핸들만 통과하면 삭제가 되게 된다. delete 요청을 get 으로 보내면 검증을 수행한 후 post 요청을 보내는 방식으로 수정을 해야 한다. 지금은 url로 delete 접근시 게시물이 삭제 된다. http://localhost:8183/board/delete?boardNo=2 이런식으루.. ================ del..

Spring 2022.08.04

[Spring ] 회원관리_인가처리 22.08.04 [16일차]

인가가 필요한 페이지에서 권한을 준다든가, 로그인 여부를 확인하는 인가를 확인하는 코드의 작성 - 인터셉터 : 문지기 역할 ex) localhost:8183/board/write 요청을 클라이언트가 보냈을 때 서버가 응답하기전에 인터셉터가인가 여부를 확인 == 글쓰기, 수정, 삭제 의 인가 설정 addPathPatterns => /board로 시작하는 모든경로에 이 인터셉터를 적용 하겠다. excludePathPatterns => /board/list 와 /board/content는 인터셉터 검증에서 제외 == 서버 실행후 확인 == 로그인 후 리다이렉트로 재 설정 == 인터셉터 여기까지........ 기본활용

Spring 2022.08.04

[Spring ] 회원관리_인증처리_ 22.08.03 [15일차]

1. 회원가입 * 입력값 검증 [아이디 이메일 중복여부] 2. 로그인 / 자동로그인 * 로그인을 유지하기 위한 수단 = 세션 3. 인증처리 / 인가처리 ex) 코스트코 회원권을 들고 있다 = 인증 ex) VIP구역에 들어갈수 있는지 여부 = 인가 === 실무에서 spring security 를 사용하지만 강의 시간에는 최대한 security를 쓰지 않고 만들어 보도록 한다. ※ 회원 수정/탈퇴는 각자 알아서[강의에서는 다루지 않는다.] == 패스워드 암호화 빌드설정 =BCryptPasswordEncoder(); == 중복체크 기능 마이바티스 xml == 중복확인 중간처리 service 메서드 == 회원관리 MemberController MVC 회원 가입 아이디를 입력해주세요. 비밀번호를 입력해주세요. 비..

Spring 2022.08.03

// 서버에 있는 파일 삭제 요청 처리 코드

//서버에 있는 파일 삭제 요청처리 //URI: /deleteFile?fileName=/2019/09/22/s_djfksldfjs_abc.jpg @DeleteMapping("/deleteFile") public ResponseEntity deleteFile(String fileName) throws Exception { try { //파일 삭제 File delFile = new File(UPLOAD_PATH + fileName); if (!delFile.exists()) return new ResponseEntity(HttpStatus.NOT_FOUND); delFile.delete(); return new ResponseEntity("file-de-lsuccess", HttpStatus.OK); } c..

Spring 2022.08.02

[Spring / 댓글 비동기요청 - 결석[코드 총 복붙 공부용]] _ 22.08.01 [14일차]

https://getbootstrap.com/docs/5.2/components/modal/ Modal Use Bootstrap’s JavaScript modal plugin to add dialogs to your site for lightboxes, user notifications, or completely custom content. getbootstrap.com // 댓글 수정 화면 열기 이벤트 처리 function openModifyModalEvent() { const $replyData = document.getElementById('replyData'); $replyData.onclick = e => { // console.log('수정버튼 클릭함!! before'); if (!e.targ..

Spring 2022.08.02

[Spring / 댓글 비동기요청 #2] _ 22.07.29 [13일차]

view 처리 하기 ${b.boardNo}번 게시물 작성자 글제목 내용 ${b.content} 수정 삭제 목록 댓글 내용 댓글 작성자 등록 댓글 (0) 댓글 수정하기 X 댓글내용 수정 닫기 댓글 목록 출력 완료! //== 시간 출력 포맷팅 // 완료 ===// 현재 한 게시물에서 출력되는 댓글은 10개로 제한되어있다. // 먼저 총 댓글수 출력 하기 총 댓글수 나오게 하기 완료 //= 댓글 페이징 처리 $가 아니고 &로 해야함. 완료! == 댓글 페이지 처리 후 버그 발생 == 조치 완료 등록 POST = my version. 선생님 버전 = 즉시 실행함수에 넣을것. == // 댓글을 작성했을 때 내가 작성한 페이지로 조회 되도록 하기

Spring 2022.07.29

[Spring / 댓글 비동기요청 #1] _ 22.07.29 [13일차]

GET 요청 POST DELETE //================= DOCTYPE html> Document #작성자명 : #내용: 댓글작성 function makeReplyDOM(replyList){ const $ul = document.getElementById('replies'); replyList.forEach(rep =>{ const {replyWriter, replyText, replyNo} = rep; const $li = document.createElement('li'); $li.dataset.rno = replyNo; $li.textContent = `작성자:' ${replyWriter}, 내용: ${replyText}`; const $delBtn = document.createEle..

Spring 2022.07.29

[Spring / 비동기 # 12] fetch(GET)_실무!_22.07.29 [13일차]

/* # fetch API: 자바스크립트에서 제공하는 비동기 통신 함수 - Promise를 자동 리턴하여 손쉽게 통신의 응답데이터를 소비할 수 있게 해줌. - fetch함수가 리턴하는 Promise는 단순한 응답 JSON데이터가 아닌 전체적이고 포괄적인 응답 정보를 가지고 있습니다. - 따라서 서버가 응답한 여러 정보 중 JSON데이터만 소비하려면 json()이라는 메서드를 사용합니다. 문자열 데이터라면 text()메서드를 사용합니다. */ DOCTYPE html> Document const result = fetch('http://localhost:5000/board'); // console.log(result); // Promise 리턴 /* result .then(res => { console.lo..

Spring 2022.07.29