본문 바로가기

수업 & 공부

(65)
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..
29- 컴파일 언어& 인터프리터 언어 컴파일 언어란? : 고급언어를 기계언어로 번역하여 기계로 하여금 일을 하게끔 만드는 도구 :: 고급언어 : 인간이 보는 프로그래밍 코드로 쓰여진 언어 :: 자연어 : 인간끼리 의사소통 가능한 언어(한국어, 영어, 일본어, ...) 인터프리터란? : 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경 :: 번역과 실행이 거의 동시에 실행되므로 1개의 액션이 존재한다 컴파일 언어와 인터프리터 언어의 장단점 그리고 번역에서 코딩시간의 효율성을 볼 수 있다. 인터프리터 언어는 컴파일 언어에 비해 잦은 수정이 발생해도 매번 컴파일 할 필요가 없다는것이 장점이고 컴파일 언어는 코드 일부가 바뀌어도 전체 코드를 컴파일할 필요가 있어 잦은 수정시 비효율적이다. 그러면 컴파일 언어와 인터프리터 언어의..
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에서 ..
23- 게시판 만들기 1. (MVC패턴) ===초기 구성=== BoardFrontController.java client에서 *.bbs로 들어오는 모든 요청을 처리한다 여기서 어느 url로 보낼지 정한다. (글 목록 조회하기, 글 추가하기) 글 목록 조회처리 > cmdURI 값에 /boardList.bbs 값이 들어오면 DB에서 데이터를 가져온다 어떻게? BoardListCmd 즉 cmd.execute를 통해 글 추가하기 처리 > cmdURI 값에 /boardInsert.bbs 값이 들어오면 엔드유저가 작성한 글을 db에 insert시킨다 어떻게 ? BoardInsertCmd 즉 cmd.excute를 통해 그리고 viewPage를 boardInsert.bbs로 바꿔서 아래 코드를 실행 getRequestDispatcher()메서드 안에 들어가는..