728x90
반응형

프로젝트 11

[Spring Project] 도서관만들기 #6 댓글 작성,수정,삭제

※ 실제작업순서와 포스팅순서가 다를 수 있습니다(프로젝트 진행율과 포스팅날이 다름) 0. 작동사진 및 페이지사진 1. 구성 2. 댓글작성 (부트스트랩 사용) - 모달창에서 댓글내용,작성자,bno를 불러와 ajax로 데이터를 보내서 register한다 3. 댓글 보기 - bno 즉 게시글넘버를 넘겨줌으로써 해당 게시글에 있는 댓글 list를 가져온다. - 받아온 list로 showReplyList() 작동 - list.length만큼 str에 코드를 반복시켜 더해준 후 댓글이 나타날 공간에 str를 html로 넣어준다. 4. 댓글 수정 - 댓글 클릭시 작성자라면 modal을 오픈한다(댓글 자세히보기) - 오픈된 모달창에서 내용을 수정하고 modify버튼을 누르면 update ajax 실행 - 댓글을 클릭해..

프로젝트 2023.07.04

[Spring Project] 도서관만들기 #5-3 게시글 상세보기,수정, 삭제

※ 실제작업순서와 포스팅순서가 다를 수 있습니다(프로젝트 진행율과 포스팅날이 다름) 0. 작동사진 및 페이지사진 1. 상세보기 작동코드 - 게시판화면에서 게시물 클릭시 게시글넘버(bno)를 넘긴다 - bno를 조건으로 게시글 데이터들을 불러온다. 2. 수정 상세코드 @Transactional 어노테이션을 사용함으로써 modifyWithAttach() 메서드의 모든 데이터베이스 작업은 하나의 트랜잭션으로 묶이며, 예외 발생 시 롤백될 수 있다. - 게시물의 사진정보(tbl_attach)를 모두 삭제한다. - mapper.update를 실행시켜 제목,내용 등의 수정된 내용을 update하고 정상적으로 완료시 1(true)를 return한다 - 게시물에 남아있는 사진들을 모두 다시 저장한다(insert) - ..

프로젝트 2023.07.04

[Spring Project] 도서관만들기 #5-2 게시판 화면구성

※ 실제작업순서와 포스팅순서가 다를 수 있습니다(프로젝트 진행율과 포스팅날이 다름) 0. 완성사진 1. 백엔드 - 쿼리성능 최적화를위해 hint 사용(/* */) , 신규 게시물이 상단으로 표시되게 끔 역순으로 조회 - CDATA를 사용해 데이터(특수문자)를 문자 그대로 사용되게끔 작성 - refid="criteria"는 추후 게시글 내 검색 기능에서 설명예정 - 정리하자면 1.게시글을 역순으로 불러온다 2.Criteria.class에서 설정한 1,10 즉 10개씩 가져온다 두가지 기능이 포함된 쿼리 - 상동하게 refid=criteria는 추후 설명예정 - 총 게시물 개수(count)를 조회하는 쿼리 2. 작동 콘솔 - 게시물을 불러오는 쿼리와 total 게시물 갯수를 불러오는 쿼리가 잘 작동되는것을 ..

프로젝트 2023.07.04

[Spring Project] 도서관만들기 #5-1 게시판 글쓰기

※ 실제작업순서와 포스팅순서가 다를 수 있습니다(프로젝트 진행율과 포스팅날이 다름) 0. 작동영상 및 페이지사진 1. 테이블 생성 1-1 게시글 1-2 게시글 내부 사진(attach) 2. 백엔드 구성 자동생성되는 시퀀스값을 bno로 저장합니다 즉 게시물에서 제목,내용,작성자,파일정보(uuid,uploadpath)등을 받아와 mybatis로 백엔드에 저장합니다. 3. 프론트 구성 - 작성자/연락처는 session에 저장된 auth에서 바로 불러옴 - 작성일은 new Date()로 불러옴 - textarea는 ckeditor 사용 - 첨부파일 스크립트 - 파일첨부시 확장자 및 용량을 체크 후 ajax(비동기) 방법으로 controller에 데이터를 넘긴다. - 첨부되는 파일들을 c:\\upload폴더에 저..

프로젝트 2023.07.04

[Spring Project] 도서관만들기 #4 정보수정/탈퇴

※ 실제작업순서와 포스팅순서가 다를 수 있습니다(프로젝트 진행율과 포스팅날이 다름) 0. 정보수정 작동영상 1. 정보수정화면 2. 백엔드 코드 - session에 남아있는 로그인정보에서 id를 가져온다 - MemberVO를 만들어 id(session)와 pw(입력된값)을 set한 후, authenticate로 백엔드의 값과 비교 - authVo에 인코딩 전 pw(입력된 pw)를 set 한 후 session에 다시 넣어준 후 정보수정페이지(editInfo)로 이동한다. - editInfo에서는 똑같이 session에서 id를 가져와서 getUserInfo로 회원정보를 불러온다. - 받아온 회원정보에 pw값 초기화(정보수정에서 pw란을 비우기위함) 및 email split(abc@abc형태로 저장되고있기때문..

프로젝트 2023.06.29

[Spring Project] 도서관만들기 #3 로그인,로그아웃

※ 실제작업순서와 포스팅순서가 다를 수 있습니다(프로젝트 진행율과 포스팅날이 다름) 1. 로그인화면 2. 컨트롤러 코드 2-1 AuthVO 2-2 authenticate() - selectMemberByUserid -> 로그인 시 입력한 아이디에 맞는 회원정보를 가져와 selectVO에 담는다 - 유저정보가없거나(selectVO == null) , 비밀번호가 다를시 메시지와 함께 throw한다 ※pwencoder.matches(a,b) -> 입력된 비밀번호(인코딩x)과 백엔드에 저장된 비밀번호(인코딩o)를 비교하는 메서드 - 데이터가 확인되었다면 AuthVO 항목들은 set 후 리턴한다. - 컨트롤러로 돌아와서 session에 authVO를 저장한다(로그인을한다 ? 사용자정보를 계속 들고다닌다) - se..

프로젝트 2023.06.29

[Spring Project] 도서관만들기 #2-2 회원가입(Back)

※ 실제작업순서와 포스팅순서가 다를 수 있습니다 1. sql table 생성 전화번호와 주소열을 정말 고민했는데 큰규모의 프로젝트가 아니니 우선 각각의 항목을 따로 관리하기로 했다 2. MemberVO 생성 3. MemberController 기본설정 4. 아이디 중복확인 코드 - 회원가입시 입력된 아이디에 "="이 붙어와서 split으로 나눠준 후 첫번째 배열로 재셋팅( "="를 제거하는셈) - Service에 checkIfIdIsDuplicate 실행 (중복확인) - 콘솔창으로 중복여부 확인 및 리턴 - MyBatis에서 백엔드에 저장되어있는 모든 id를 가져온 후 List에 담는다 - List에 입력된 id가 있는지 확인하여 true/false 리턴 5. 가입하기버튼 클릭시 - 입력된 회원정보들을 ..

프로젝트 2023.06.29

[Spring Project] 도서관만들기 #2-1 회원가입(Front)

※ 실제작업순서와 포스팅순서가 다를 수 있습니다 1. 회원가입 3단계 Front 작업 2. 각 단계별 스크립트 작동영상 주소입력은 Daum주소API를 적용시켜두었다(호스팅시 동작 확인) 2-1 약관동의 스크립트 function agree(){ $("#all_agree").change(function(){ if($(this).is(':checked')){ $('.agree').prop('checked',true); } else{ $('.agree').prop('checked',false); } }) $(".agree").change(function(){ if($('#agree1').is(':checked') && $('#agree2').is(':checked') && $('#agree3').is(':che..

프로젝트 2023.06.28

[Spring Project] 도서관만들기 #1 Home 페이지 Front 제작

※ 블로그포스팅과 실제 프로젝트 진행률이 일치하지않습니다. 1. Home 페이지 Front부분 제작 - 슬라이드 및 메뉴숨김/표시 , 팝업 등의 기본적인 화면표시 스크립트 작동 2. 주요기능 2-1 팝업닫기(쿠키사용) function popupCheck(){ // 각 버튼 클릭시 1 , 7일 동안 지속되는 쿠키생성 $("#select1").click(function(){ $.cookie('popup1_oneday','ok',{ expires:1, path:'/' }) $("#popup_1").hide() }) $("#select2").click(function(){ $.cookie('popup1_oneweek','ok',{ expires:7, path:'/' }) $("#popup_1").hide() }..

프로젝트 2023.06.28

[Spring Project] 도서관만들기 #0

1. 도서관 선정이유 - Spring , Html , Css , Javascript 등 배운것들을 활용하기에 가장 적절하다 판단됨 2. 목표 - 기존에 존재하는 도서관페이지와 최대한 똑같은 사이트 만들기 - css는 최대한 따라하되, 디테일은 후순위로 두기 - 벡앤드기능을 중점으로 만들기 3. 기대효과 - 약 7개월가량 배운 내용들을 최대한 활용하기 - 천천히 추가하면서 활용하는 내용들을 복습하여 완전히 내것으로 만들기 - 실제 페이지에 사용되는 기능들의 흐름 파악하기 화이팅😊

프로젝트 2023.06.28
728x90
반응형