시작페이지로 즐겨찾기추가
로그인
회원가입 l 출석체크 l 마이페이지 l CGIMALL
happycgi
자료실 사이트등록 랭킹100 프로그램리뷰 관리자추천자료 초보가이드
커뮤니티
전체 펼쳐보기
퀵메뉴링크 jquery , CSS , PHP , Javascript , 무료폰트 , ASP
상세검색
 > JAVA,JSP > JSP 소스창고 > 게시판 > [oracle8i] okboard 0.96 답변형자료게시판 소스 상세정보
사이트등록
현재접속자 새로고침
[oracle8i] okboard 0.96 답변형자료게시판 소스
소스통계정보 오류신고 및 문의
해피팀
네티즌
트위터로 보내기 페이스북으로 보내기 싸이월드 공감
소스분류 게시판
다운로드 횟수 1611 회
간단설명 JSP로 만든 답변형자료게시판 okboard 0.96 버전입니다.
평가하기 훌륭함 매우좋음 좋음 괜찮음 보통 별로
홈페이지바로가기 소스다운로드 데모 미리보기가 없습니다 스크랩하기
/*
[oracle8i] okboard 0.96 답변형자료게시판 소스
작성자 : kenu@okjsp.pe.kr
배포처 : http://www.okjsp.pe.kr
작성일 : 2001-12-05 10:07오전
테스트 : http://okjsp.pe.kr/ Q&A 게시판
Contact: http://210.122.97.37:8880/okboard/board.jsp?bbs=okboard

LICENSE: 기업이든 개인 사용자이든 게시판 하단에 http://okjsp.pe.kr 링크를 지우지 않는
조건 하에 무료로 사용할 수 있습니다.

피치못할 사정으로 저작권 표시를 제거해야 한다면 kenu@okjsp.pe.kr 로 연락하셔서
소정의 비용을 지불해야 합니다.

구입버젼과 무료배포본과의 차이는 단지 저작권 표시 유무일 뿐입니다.
그외의 어떤 기술적인 지원이나 설치등의 지원도 해드리지 않으며,
손해 발생시에도 책임지지 않습니다.

모든 소스는 변경과 수정이 가능합니다만 게시판 하단의 저작권 표시는 반드시 해야
합니다.

소스의 변경, 수정, 설치, 운용 중 발생하는 모든 문제와 손해 발생시
소스의 배포자인 본인은 책임지지 않습니다.
*/

■■개요:
Oracle8i, O``reilly MultiPartRequest, DBConnectionManager 를 이용한 답변형 자료게시판입니다.

■■설치법
Tomcat, resin 의 경우
okbbs.war 를 webapps 디렉토리에 위치한 다음 JSP 컨테이너를 재시동하면 압축이 풀립니다.
기타서버의 경우
jar xvf okbbs.war 로 압축을 풀어서 컨텍스트 ROOT 아래 /okboard , /WEB-INF , /upload 폴더를 복사합니다.
okbbs.zip 으로 이름을 바꿔서 winzip 으로 압축을 풀 수 있습니다.

resin 의 경우
board.jsp 와 board_view.jsp 의
href="<%=request.getContextPath()%>/servlet/down?mask= 부분을
href="download.jsp?mask= 로 고쳐서 사용합니다.


■■실행법
boardcfg.jsp 와 db.jsp 를 적절하게 변경,저장합니다.
설치 완료 후 tomcat을 구동시킨 후
브라우저에서 http://localhost:8080/okbbs/okboard/board_create.jsp 를 요청합니다.
kboard 라는 table 이 만들어 지면 됩니다.

■■보안
oracle의 데이터베이스의 기본 접근권한으로 되어있습니다. (scott, tiger)
변경을 원하시면 db.jsp 파일만 수정하시면 됩니다.
게시판관리자 패스워드 변경은 boardcfg.jsp 파일에서 하실 수 있습니다.

■■주의
bean 컴파일 시
C: omcat4webappsokbbsWEB-INFclassesok>javac -classpath ../ -d ../ -encoding 8859_1 *.java
처럼 해주시면 됩니다.

■■ History
0.96- 2001-12-05 4:01오전
의견(메모)달기 기능 추가
- board_memo.jsp, board_memo2.jsp, oracle 의 trigger 사용
- 관리자만 삭제 가능
다운로드시 servlet 이용
- DownloadServlet.class
servlet mapping 사용 /servlet/DownloadServlet 을 /servlet/down 으로 사용
- web.xml 에서 지정
web.xml 에서 table 명 지정
- 변경 후 재시동해야 적용됨
DBHandler, DBCollectionManager 를 부분적으로 적용.
- Pool 사용으로 게시판 속도 향상
okboard.js, okboard.css 내용추가

0.95- 2001-11-23 3:14오후
board_insert.jsp
board_modify.jsp
board_reply.jsp
board_insert2.jsp
board_modify2.jsp
board_reply2.jsp

board_write.jsp
board_write2.jsp
로 통합
skin 추가 중 boardcfg.jsp 에서 skin1 과 skin2 선택 후에 서버 재시동.
cropByte 메소드 추가 (byte 단위로 substring 기능수행)

0.94- 2001-11-10 11:14오후
시간순, 답변순 기능 추가.
CREATE INDEX IDX_KBOARD2 ON KBOARD (SEQ)
게시판 이동 기능 추가 (oracle 의 procedure 이용)
: 게시판에 게시물 2개 이상일 경우 이동 가능
답변시 답장 송신 기능 추가. (OkMailBean.java, board_reply2.jsp)
admin logout 기능 추가
skin 기능 추가 중입니다.
내용검색시 정열 안되는 버그 수정
글 쓴 후 목록이 refresh 안 되는 버그 해결
(fake 파라메터를 이용해 주소줄에 시간 추가 후
브라우저의 멍청한 점 이용 새로 페이지 로딩하게 함)


0.93- 2001-10-17 6:59오후
main.jsp 와 sublist.jsp 와 bean 을 통한 새로운 게시물 리스트 추가
DBConnectionManager POOL 사용하여 속도향상-현재 bean 에만 사용
Admin 로그인 후 삭제과정 단축
홈페이지 표시.
미리보기 창 길이 축소.
지난 안내.txt 수정
CREATE INDEX IDX_KBOARD ON KBOARD (REF, STEP DESC)


0.92- 2001-10-04 4:05오전
index 사용으로 Oracle 하위버전(8i 미만)의 inline view 에서
order by 사용하지 않고도 순서대로 쿼리가능
Oreilly 의 MultipartRequest 로 jspSmartUpload 대체
(문제발생 windows2k 에서는 한글파일명 지원하지 않음, Unix/Linux 에서는 양호)
게시판 목록 제어 가능 - boardcfg.jsp 의 constraint
미리보기 기능추가
제목길이 조절하는 메소드 추가 Fn.java 의 crop()
필드 추가- homepage, html, preview
jdbc 드라이버 위치 내장 - WEB-INF/lib 디렉토리
브라우저 버전별 다운로드 헤더 구분 - download.jsp


0.91- 2001-07-28 1:26오전
reply 제목줄의 e가 사라지는 버그 수정
패스워드없는 글 관리자 삭제가능토록 수정


0.9- 2001-07-26 4:51오전
관리자 삭제 기능 추가 - 인증만 거치면 삭제시 패스워드 불문 (session 사용)
top.jsp 와 bottom.jsp 를 통한 다중게시판 커스터마이징 가능
okboard.css 의 ok-1 스타일을 통해 타이틀 배경색 지정가능
페이지 링크에서 파라메터 최적화
게시판 html 코드 보이기


0.81- 2001-07-24 2:14오전
내용 검색 버그 수정


0.8- 2001-07-13 6:19오전
DB Schema 에 SEQ (일련번호) 추가 및 효율화
한글 검색 페이지 넘어가면 안되는 버그 수정
list 에서 tag 장난방지
당일 게시물은 시간으로 목록에 표시
3일 이내 게시물 구분표시
페이지그룹 이동 시 다음페이지의 처음과 끝 게시물로 이동
download 시 스트림 확실히 끊어주기
글쓰기, 수정, 답변 시 취소버튼 추가
main.jsp, Article.java, ArticleLists.java - bean test 파일, bug 많음


0.7- 2001-05-28 2:28오전
게시물 보기에서 관련글 리스트 출력
게시물 보기에서 이전, 다음글 링크 추가
DB Connection 중 사용한 Statement 랑 PreparedStatement 끊어주기
게시물 목록에서 제목길이 30자 제한
리스트에서 현재 페이지 굵게 표시


0.62 - 2001-05-24 11:26오후
검색후 리스트 버그 수정
최근 3일 게시물 표시
Timestamp와 SimpleDateFormat을 이용한 날짜표시


0.61 - 2001-05-23 6:33오전
리스트 버그 수정


0.6 - 2001-05-21 1:58오전
게시판 제목, 이름, 내용 검색 추가
select 항목 지정하는 javascript 추가


0.5 - 2001-05-20 1:11오전
수정기능 추가
Cookie로 입력신상 저장


0.4 - 2001-05-18 10:56오전
답변기능 추가
Fn.java 버그 수정


0.3 - 2001-05-17 5:57오후
오라클의 4000바이트 제한을 풀었습니다.
다운로드 방식을 바꾸었습니다.
한글제목파일, 이미지 다운로드시 이상없습니다.
게시물 작성 후 refresh 되도록 했습니다.
email 링크로 변경했습니다.
doc, xls, ppt, gif, img 모두 다운로드 창 뜹니다.
jsp 코드 올려도 실행되지 않습니다.

전신
kboard 를 오라클용으로 전환합니다.

■■현재개발환경
tomcat 4.0.1
Oracle 8.1.5,8.1.7

■■파일위치
/ <-- Context Root
/index.html
/okboard/admin.jsp <-- 게시판 관리자 인증처리
/okboard/top.jsp <-- 페이지 상단 처리
/okboard/bottom.jsp <-- 게시판 하단 처리
/okboard/boardcfg.jsp <-- 게시판 테이블명 환경설정/ 관리자 비밀번호
/okboard/board_create.jsp <-- 게시판 생성 한번실행 후 파일명 바꾸시거나 삭제하세요.
/okboard/board.jsp <-- 게시물리스트
/okboard/board_write.jsp <-- 자료 입력/수정/답변 폼
/okboard/board_write2.jsp <-- 자료 입력/수정/답변 처리
/okboard/board_memo.jsp <-- 의견/의견 입력칸 보이기
/okboard/board_memo2.jsp <-- 의견 입력/삭제 처리
/okboard/passchk.jsp <-- 수정권한 암호 입력
/okboard/db.jsp <-- jdbc 정보파일
/okboard/go.jsp <-- back 방지용 중계처리
/okboard/delete.jsp <-- 삭제권한 암호 입력
/okboard/delete2.jsp <-- 삭제처리
/okboard/path.jsp <-- jvm의 classpath, context path 확인
/okboard/okboard.css <-- 페이지 CSS
/okboard/okboard.js <-- javascript
/okboard/main.jsp <-- 최신게시물 리스트업 - beta
/okboard/sublist.jsp <-- 최신게시물 리스트업 컴포넌트 - beta
/okboard/error.jsp <-- 에러처리

/okboard/images/ <-- 그림파일 디렉토리
/okboard/images/skin1 <-- skin1 디렉토리
/okboard/images/skin2 <-- skin2 디렉토리
/WEB-INF/lib/cosi.jar <-- O``reilly servlet 컴포넌트
/WEB-INF/lib/classes12_1.jar <-- Oracle jdbc 드라이버
/WEB-INF/classes/DBConnectionManager.* <-- DBConnection Pool Manager
/WEB-INF/classes/db.properties <-- DBConnection Pool Manager 용 jdbc 정보
/WEB-INF/classes/DBHandler.* <-- DB 핸들러
/WEB-INF/classes/ok/ <-- 한글처리, 문자열대치, 쿠키처리 빈
/WEB-INF/classes/ok/DownloadServlet.* <-- 다운로드 처리 서블릿
/WEB-INF/classes/ok/Article.* <-- 게시판 필드 엔터티 빈
/WEB-INF/classes/ok/NewArticles.* <-- 최신게시물 빈
/WEB-INF/classes/ok/OkMailBean.* <-- 메일발송 빈

/upload/ <-- 파일이 업로드되는 디렉토리

■■table 구성 (kboard, kboard_cnts, kboard_memo)

CREATE TABLE kboard (
BBSID VARCHAR2 (10) NOT NULL,
SEQ NUMBER NOT NULL,
REF NUMBER NOT NULL,
STEP NUMBER DEFAULT 0 NOT NULL,
LEV NUMBER DEFAULT 0 NOT NULL,
WRITER VARCHAR2 (50) NOT NULL,
SUBJECT VARCHAR2 (500) NOT NULL,
PREVIEW VARCHAR2 (500),
PASSWORD VARCHAR2 (8),
EMAIL VARCHAR2 (50),
READ NUMBER DEFAULT 0 NOT NULL,
FILENAME VARCHAR2 (200),
MASKNAME VARCHAR2 (20),
FILESIZE NUMBER DEFAULT 0,
DOWNLOAD NUMBER DEFAULT 0,
HTML CHAR (1),
HOMEPAGE VARCHAR2 (200),
STS CHAR (1) DEFAULT ``1``,
WHEN DATE,
IP VARCHAR2 (24))

CREATE TABLE kboard_cnts (
BBSID VARCHAR2 (10) NOT NULL,
SEQ NUMBER NOT NULL,
CONTENT VARCHAR2 (4000),
CID NUMBER DEFAULT 0 NOT NULL) ;

CREATE TABLE kboard_memo (
MSEQ NUMBER NOT NULL,
BBSID VARCHAR2 (10) NOT NULL,
SEQ NUMBER NOT NULL,
WRITER VARCHAR2 (50),
BCOMMENT VARCHAR2 (2000),
WTIME DATE DEFAULT SYSDATE)

-- index
CREATE INDEX IDX_kboard ON kboard (REF, STEP DESC)
CREATE INDEX IDX_kboard2 ON kboard (SEQ)
CREATE INDEX IDX_kboard_memo ON kboard_memo(SEQ)

-- procedure
CREATE OR REPLACE PROCEDURE PROC_kboard_MOVE
(MSEQ IN NUMBER, TBBS IN VARCHAR2)
IS
NEWREF NUMBER;
BEGIN
SELECT NVL(MAX(REF),0)+1 INTO NEWREF
FROM kboard WHERE BBSID = TBBS;

UPDATE kboard SET BBSID = TBBS, REF = NEWREF
WHERE SEQ = MSEQ;
UPDATE kboard_cnts SET BBSID = TBBS
WHERE SEQ = MSEQ;
END;

-- trigger
CREATE OR REPLACE TRIGGER TRI_kboard_memo_DELETE
AFTER DELETE ON kboard_memo
REFERENCING
NEW AS NEW
OLD AS OLD
FOR EACH ROW
BEGIN
UPDATE kboard
SET MEMO = MEMO - 1
WHERE BBSID = :OLD.BBSID
AND SEQ = :OLD.SEQ;
End;

CREATE OR REPLACE TRIGGER TRI_kboard_memo_INSERT
AFTER INSERT ON kboard_memo
REFERENCING
NEW AS NEW
OLD AS OLD
FOR EACH ROW
BEGIN
UPDATE kboard
SET MEMO = MEMO + 1
WHERE BBSID = :NEW.BBSID
AND SEQ = :NEW.SEQ;
End;

■■known bug:
문제발생 windows2k 에서는 한글파일명 upload 지원하지 않음, Unix/Linux 에서는 양호
해결하신 분 연락주시면 감사하겠습니다.


네티즌 의견   이용하신 자료의 후기를 자유롭게 작성하세요. (상업적인 광고 및 도배성 글 등은 사전통보없이 삭제될 수 있습니다.)
내용 아이디 의견남기기
등록된 의견이 없습니다.
1
이름
내용
:네맞아요: :화나는군요: :잠와: :우울해: :이건아냐: :왕하하: 왕웃음~ 놀램~
도배방지키
 68352481 보이는 도배방지키를 입력하세요.