시작 : show_content.jsp 삭제링크 클릭. cmd : delete_content
Ctr : DeleteContentController.execute()
BoardService : deleteContentByNO(int no) : void
BoardDTO : deleteContentByNO(int no)

응답 : list_all.jsp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* 결과보기

 

 

 

 

 


'프로그래밍 > JSP Programming' 카테고리의 다른 글

게시판 소스  (0) 2012.05.18
2012-5-18 답변폼 조회  (0) 2012.05.18
2012-5-17 게시판 글수정하기  (0) 2012.05.17
2012-5-17 게시판 글번호로 조회  (0) 2012.05.17
2012-5-17 전체 글목록 조회(no paging)  (0) 2012.05.17
Posted by 조은성
,

-------------수정폼 조회하기------------

시작 : show_content.jsp에서 글수정 링크 클릭 command : modify_form
Ctr : ModifyFormController.execute();
BoardService : getContentByNOForForm(int no) : BoardDTO
BoardDAO : selectContentByNO(int no) : BoardDTO
응답 : modify_form.jsp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-------------글 수정 처리---------------

시작 : modify_form.jsp에서 수정버튼 클릭 command : modify_content
Ctr : ModifyContentController.execute();
BoardService : modifyContent(BoardDTO bdto) : void
BoardDAO : updateContent(BoardDTO bdto)
- 제목, 작성자, 내용, 일시

응답 : show_content.jsp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Posted by 조은성
,

---------------글번호로 조회--------------------------------

시작 : list_all.jsp(목록에서 글제목 클릭시) - command=get_content
Ctr : GetContentController.execute();
BoardService : getContentByNO(int no) : BoardDTO
BoardDAO : updateViewCount (int no)
                 selectContentByNO(int no) : BoardDTO
응답 : show_content.jsp


 


 

 

 

 

 

 

 

 

 

 * 결과보기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Posted by 조은성
,

* 전체 글목록 조회(no paging)

시작 : show_content.jsp - 링크(command=list_all)
Ctr : BoardAllListController.execute()
BoardService : getBoardAllList() : ArrayList<BoardDTO>
BoardDAO : selectBoardAllList() : ArrayList<BoardDTO
                 - 정렬 : refamily 내림차순(desc)
응답 : list_all.jsp

* controller

 

 

 

 

 

* dto

 

 

 

* dao

 

 

* service

 

 

* util

 

 

 

* jsp

 

 

 


* 결과보기

 

 

 

Posted by 조은성
,

* controller

 

 

 

 

* DTO

 

 

 

* DAO

 

 

* service

 

 

* util

 

 

 

 

 

* 결과보기

 

 

Posted by 조은성
,

'프로그래밍 > JDBC Programming' 카테고리의 다른 글

2012-5-24 오라클 sql명령어[실습]  (1) 2012.05.24
INSERT(데이터 삽입)  (0) 2012.04.09
테이블 수정(update)  (0) 2012.04.09
테이블 삭제 및 데이터 삭제(drop, delete)  (0) 2012.04.09
constraint 제약조건  (0) 2012.04.09
Posted by 조은성
,

* Oracle Sequence

1. 순차적으로 자동증가 하는 값을 새성하는 오라클 객체
2. 구문
CEATE SEQUENCE sequence_name
[START WITH n]
[INCREMENT BY n]
[MAXVALUE | NOMAXVALUE]
[MINVALUE | NOMINVALUE]
[CYCLE | NOCYCLE]

DROP SEQUENCE sequence name

예) 아래와 같이 하면 1부터 10까지 증가 하고 10이 되면 다시 1로 가서 1부터 10까지 증가하는 순으로 계속 반복된다.
create sequence test_seq
start with 1
increment by 1
maxvalue 10
cycle

3. sequence_name.nextval
 - 시퀀스가 가진 값을 증감한 값 조회
4. sequence_name.currval
 - 시퀀스가 현재 가진 값 조회

 

* 실행 결과

 

 

* table에 sequence값 삽입하기

* max값 지정하기

 

 

 

* cycle지정(nocache : 다음에 가져올 값을 메모리에 미리 저장해 놓고 가져옴)

 

 

 

 

Posted by 조은성
,

 

board.zip

* 컬럼

title(글제목)
writer(작성자)
content(내용)
no->pk(글번호)
searchCount(조회수)
registDate(글등록날짜)

* 답변 컬럼

refamily : 원본글과 답변에 대한 그룹 묶음
restep : 같은 그룹끼리의 정렬(순서)을 관리
relevel : 답변에 대한 디자인을 처리하기위한 것(내가 답변하고자 하는 레벨+1(답변시 한칸씩 옆으로 밀리는 모습))

 

 

 

* [실습]
dynamic web project
name :  board_fc
lib : jstl 라이브러리 copy

File
WebContent\WEB-INF\board.sql

* 게시판 생성시 필요한 컬럼 정보

테이블 - 게시판(board)
속성
no   :  number - primary key : 글번호
title   :  varchar2(150) - nut null : 글제목
writer  :  varchar2(30) - not null : 글작성자
content  :    varchar2(4000) - not null : 글내용
writedate :   varchar2(14) - not null : 글작성(수정) 일시 (yyyyMMddHHmmss)
viewcount :  number - not null : 조회수(최초입력 : 0, 조회시마다 1씩 증가)
----------답변과 관련된 속성----------
refamily  : number - not null : 원본글 기준으로 그 답변 글들을 묶은 그룹번호
              기분글(최초 원본글) - 새로운 값(글번호)
              답변글 : 답변하는 글의 refamily값
restep   : number - not null : 같은 refamily로 묶인 글들 사이에서의 정렬 순서
              기준글 : 0
              답변글 : 답변하는 글의 restep값 + 1
relevel  : number - not null : 답변 레벨
              기준글 : 0
              답변글 : 답변하는 글의 relevel + 1
             
시퀀스 - 게시판 글번호를 위한 자동증가 시퀀스
이름 : board_no_seq : 0~무한대, 1씩 증가

* table 생성 쿼리

             
create table board(
 no number,
 title varchar2(150) not null,
 writer varchar2(30) not null,
 content varchar2(4000) not null,
 writedate varchar2(14) not null,
 viewcount number not null,
 --답변과 관련된 속성
 refamily number not null,
 restep number not null,
 relevel number not null,
 constraint board_pk primary key(no)
)
select * from board;
drop table board;

drop sequence board_no_seq;
create sequence board_no_seq;
select board_no_seq.nextval from dual;

interface
package : board.controller
name : Controller
          BoardFrontController : mapping - /boardController

class : ForwardDTO, ControlerCommandMapping, BoardDTO

---------새글 작성------------

write_form.jsp
controller -> BoardController -> WriteContentController
BusinessService -> BoardService.writeContent(BoardDTO)
DAO -> BoardDAO.selectBoardNo : 글번호 조회
            BoardDAO.insertContent(BoardDTO) - 새글, 답변글
응답 -> show_content.jsp : 정상처리
           error.jsp : 오류 발생시

* BoardService와 BoardDAO는 싱글턴패턴으로 만들어라.

 

* utility 만들기
class
package : board.util
name : DBUtil
           Utilities

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

 

 

 

 

* DTO

 

 

 

* exception

 

 

 

*DAO

 

 

* util

 

 

* service

 

 

* res

 

 

 

 

 

 

 

 

* WEB-INF

 

 

 

* WebContent

 

 

 

 

 

 

 

 

* 결과보기

 

* 전체소스(내꺼)

member_servlet_fc.zip

강사님 소스

member_servlet_fc.zip

 

* ControllerCommandMapping 만들기

 

 

Posted by 조은성
,

* FrontController 패턴

1. Client의 요청을 집중 시키는 앞단 client
    -> Controller들의 공통 로직을 앞단에서 처리
    -> 모든 client의 요청을 한 곳에 집중시킴


* Front Controller :  Controller의 공통적인 작업을 모아서 처리한다.(사 전 : Filter, 사 후)

[실습]
dynamic web project
 - member_servlet_fc

copy
src
member.dto
member.model.dao
member.model.exception
member.model.service
member.util

servlet
package : member.controller
Class name : MemberFrontController
url-pattern : /controller

interace
package : member.controller
name : Controller

 

 

 

 

 

 

 

 

 

 * 결과보기

 

 

 

 

 

 

 

 

* 결과보기

 

Posted by 조은성
,