본문 바로가기

수업 & 공부/수업 내용

(29)
33- 게시판 리뷰 (회원가입) 1. 추가된 페이지와 변경점 4- 게시판 (회원가입 기능) 추가된 페이지와 구조 signUp.jsp 1. script를 사용하여 비밀번호 검사를 구현한다. (pwd와 pwdCheck가 같아야지 submit 통과) 2. 비밀번호 검사를 통과했을때 EndUser에게 입력받은 id와 pwd값을 controller를 통.. dwc04112.tistory.com PasswordEncoder 여기서 hash처리 로직을 Common 패키지의 PasswordEncoder로 빼서 구현했다. Hash처리하는 코드를 다른곳에서 쉽게 불러올 수 있다. 아래는 PasswordEncoder 코드이다 public class PasswordEncoder { public static String getEncodedPassword(St..
31- 게시판 만들기 (로그인 기능) 추가된 페이지와 역할 connection 코드를 model의 DBConnection으로 이동 > MemberDAO에서도 쉽게 쓸수있게 하려고 LoginCmd.Java - EndUser에게 입력받은 id, pwd를 DB에 저장된 id, pwd와 비교하는 역할 MemberDAO - 유저의 정보 즉 Member테이블과 DB작업을 위한 쿼리 MemberDTO - 유저의 정보 데이터 정의 로그인기능 구현 1 id와 pwd를 EndUser에게 입력받아 LoginCmd로 넘긴다 2 LoginCmd 에서 받은id값을 DB에 넣어서 해당 id의 DB데이터를 가져온다 (memberDAO, DTO 만들기) >> DB에서 가져온 값을 사용하기 위해 MemberDTO에 넣어서 리턴 3 비밀번호를 비교하는 isPasswordMa..
30- 게시판 리뷰 (답글 달기) 코드의 구조 1. boardRead에서 '[답글쓰기]' 버튼을 통해 boardReply.jsp 페이지로 이동한다. 이때 replyRoot, depth, orderNum 을 같이 넘겨준다 replyRootId > 답글의 원글 depth > 원래 글에대한 깊이 ( depth의 값에따라 답글 앞에붙는 'RE' 수가 정해진다) orderNum > 원래 글에대한 orderNum ( 답글들의 순서 ) 2. boardReply.jsp 에서 엔드유저 입력을 받고 ( boardInsert와 거의 비슷하다 ) controller를 통해 boardReplyInsert.Java로 넘겨준다 3. boardReplyInsert 에서 입력받은 값과 아래 세 가지 값을 받아서 // boardReplyInsert.Java중 int r..
28- jspmvc 구성도와 요구사항 명세 1. jspmvc 시스템 구성도 OS안에 DBMS, 웹 브라우저, Apache Tomcat, JVM 등등..들어있는 구조이고 (JVM은 Java Virtual Machine 의 줄임말 이며 Java Byte Code를 OS에 맞게 해석 해주는 역할) 우리가 만든 웹 프로그램 jspMvc는 Apache Tomcat 에서 실행된다 RDBMS란? relational database 즉 관계형 DBMS이다 관계형 데이터베이스는 테이블(table)로 이루어져 있으며, 이 테이블은 키(key)와 값(value)의 관계를 나타낸다. 이처럼 데이터의 종속성을 관계(relationship)로 표현하는 것이 관계형 데이터베이스의 특징이다 2. url의 뜻과 apache Tomcat의 역할을 써보자 2-1 : http://..
27- 게시판 리뷰 (댓글 출력&카운트) 1. 댓글 출력기능 내가만든 방법은 comment에 있는 모든 값을 가져와서 boardRead.jsp 에서 forEach문으로 현제 읽고있는 글의 id랑 일치하는 댓글만 뿌려줬는데 (그러고보니 댓글이 많아질수록 느려지지 않을까..?) 강사님은 comment에 있는 값을 출력해서 받을때 id값을 넣어줘서 id에 맞는 댓글만 받아왔다. 이 방법이 훨씬 좋다 2. 댓글 수 출력기능 내가 만든 방법은 board의 commentCount에 댓글을 작성하면 댓글 수를 다 집계해서 board 테이블 commentCount 에 업데이트 하는 쿼리를 썼다. for(int i= 1; i> 해당 rifid 나머지 자기자신과 같거나 큰 orderNum 은 +1 해줘야함. 왜냐하면 orderNum이 중복되기 때문 >> 답글의 ..
26- 게시판 만들기4 (페이징 처리) 추가한 기능 페이징처리와, EndUser에게 입력받은 '숫자'에 맞추어 글을 출력 동작순서 1. BoardList.jsp에서 EndUser에게 입력받아 Controller를 통해 BoardLIstCmd로 값을 넘겨준다 (action) 2. BoardListCmd에서 받은 데이터를 서버(BoardDAO)로 넘겨주고 3. 서버(BoardDAO) 에서는 주어진 쿼리를 수행 > 수행한 쿼리값을 다시 BoardListCmd로 넘겨준다 4. BoardLIstCmd에서 값을 받아 BoardList.jsp로 전달 > request.setAttribute(“객체명”, 객체) 5. BoardLIst.jsp에서 EndUser에게 입력받은 값의 동작을 보여준다 :: Action으로 넘어온 값을 변경시킨후 JSP 페이지로 넘겨..
25 - 게시판 만들기3 (삭제기능 구현) 게시판 만들기 삭제기능 구현 문제점: boardRead에서 삭제를 누를시 Controller에서 비밀번호를 비교를하고 맞을시 비밀번호 삭제를 수행하는 BoardDeleteCmd까지 이동하는것 까지 성공했으나 500 에러발생 DB에서도 delete쿼리를 날리면 id에 따라 삭제가 잘 되는걸로 봐서 BoardDeleteCmd의 코드가 틀렸다고 예상했다 public class BoardDeleteCmd implements BoardCmd { @Override public boolean execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int id = Integer.parse..
24- 게시판 만들기2 (MVC 패턴) ( BoardFrontController = BFC ) 1. 게시판 조회 (client에서 bbs 요청이 들어오면 BFC에서 bss 를 받아 boardList.jsp) =====게시판 글 선택 ===== 2. 게시판 글을 선택하면 글읽기 (BFC에서 bss 를 받아 boardRead.jsp) 3. 글읽기에서 3-1. 수정버튼 선택하면 > 수정할 비밀번호 입력 (boardPasswordToUpdate.jsp) 3-2. 글 목록 버튼을 선택하면 > 1. 으로 4. 비밀번호 입력시 > BFC 에서 받아서 (맞으면) boardReadToUpdate 혹은 (틀리면) boardPwdCheckFalse 로 이동한다 5. 글 수정 화면 수정하기 에서 5-1. 수정하기 선택시 boardUpdate.bbs 를 BFC에서 ..