본문 바로가기
웹프로그램

JSP 오라클8i 글자수 무제한 게시판소스

by 세이박스 2009. 6. 9.
반응형
intermedia text 를 사용하지 않고 4000byte 가 넘는 텍스트를 like 검색
(경계에 걸리는 단어는 검색불가능합니다만 그외의 단어는 검색가능합니다.
SQL을 잘 안다면 잘라진 텍스트를 붙여서 검색하는 쿼리도 생각해 볼 수 있겠죠.
^^; 불가능 할 수도 있을 거구요.)
가능하도록 쪼개서 넣는 로직으로 구현했습니다.
한글이 맨 마지막에 들어갈 경우 4001 바이트가 되므로 한 덩어리 크기는
3999 bytes로 잘랐습니다.

소스를 보시고 더 좋은 의견이 있으신 분은 답글 달아주시면 감사하겠습니다.
index는 달지 않았습니다. 습작이기 때문이기도 하고, 제가 db를 잘 모르는
이유도 있습니다.

board_insert2.jsp 파일에 텍스트를 자르는 루틴이 들어있습니다.
db schema는 답변형 게시판으로 잡았지만 아직 구현되지는 않았습니다.
readme.txt 파일에 설치및 기능 설명을 해 놓았습니다.

읽어주셔서 감사합니다. 좋은 하루 되십시오.
/*
   okboard 0.61
   작성자 : kenu@okjsp.pe.kr
   배포처 : http://www.okjsp.pe.kr
   작성일 : 2001-05-23 6:33오전
   테스트 : http://210.219.132.222/okboard/board.jsp (no guarantee)
*/
Oracle8i, jspSmartUpload 를 이용한 자료게시판입니다.

개발환경
apache 1.3.19,
tomcat 3.2.1, Resin 1.2.5,
Oracle 8.1.5, 8.1.6, 8.1.7

설치법
root(예: c:/jsphome)
c:/jsphome/index.html
c:/jsphome/okboard/board_create.jsp  <-- 게시판 생성 한번실행 후 파일명 바꾸시거나 삭제하세요.
c:/jsphome/okboard/board_delete.jsp  <-- 게시판 drop 시킵니다 파일명 바꾸시거나 삭제하세요.
c:/jsphome/okboard/board.jsp         <-- 게시물리스트
c:/jsphome/okboard/board_insert.jsp  <-- 자료 입력폼
c:/jsphome/okboard/board_insert2.jsp <-- 자료 입력처리
c:/jsphome/okboard/board_reply.jsp   <-- 답변 입력폼
c:/jsphome/okboard/board_reply2.jsp  <-- 답변 입력처리
c:/jsphome/okboard/passchk.jsp       <-- 수정권한 암호 입력
c:/jsphome/okboard/board_modify.jsp  <-- 수정폼
c:/jsphome/okboard/board_modify2.jsp <-- 수정처리
c:/jsphome/okboard/db.jsp            <-- jdbc 정보파일
c:/jsphome/okboard/go.jsp            <-- back 방지용 중계처리
c:/jsphome/okboard/delete.jsp        <-- 삭제권한 암호 입력
c:/jsphome/okboard/delete2.jsp       <-- 삭제처리
c:/jsphome/okboard/path.jsp          <-- jvm의 classpath 확인
c:/jsphome/okboard/download.jsp      <-- 다운로드 처리
c:/jsphome/okboard/okboard.css       <-- 페이지 CSS
c:/jsphome/okboard/okboard.js        <-- javascript

c:/jsphome/okboard/images/           <-- 그림파일 디렉토리
c:/jsphome/WEB-INF/classes/com/      <-- JspSmartUpload 컴포넌트 디렉토리
c:/jsphome/upload/                   <-- 파일이 업로드되는 디렉토리

※ D:\oracle\ora81\jdbc\lib\classes12.zip 이 jvm 의 classpath 에 인식이 되어야 합니다.
   그렇지 않을 경우 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 메세지가 뜹니다.
   Oracle 8.0 이하는 쿼리가 제대로 동작하지 않을 수 있습니다.


실행법
설치 완료 후 tomcat을 구동시킨 후
브라우저에서 http://localhost/okboard/board_create.jsp 를 요청합니다.
kboard 라는 table 이 만들어 지면 됩니다.
board_create.jsp 파일 이름을 바꿔주세요.
board_delete.jsp 파일 이름을 바꿔주세요. 테이블리셋 시에 바꾼이름을 브라우저에서 요청하면 됩니다.

보안
oracle의 데이터베이스의 기본 접근권한으로 되어있습니다. (scott, tiger)
변경을 원하시면 db.jsp 파일만 수정하시면 됩니다.

table 구성 (kboard, kboard_cnts)
CREATE TABLE KBOARD (
 BBSID VARCHAR2 (10) 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,
 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,
 WHEN DATE,
 IP VARCHAR2 (24)) ;

CREATE TABLE KBOARD_CNTS (
 BBSID VARCHAR2 (10) NOT NULL,
 REF NUMBER NOT NULL,
 STEP NUMBER NOT NULL,
 LEV NUMBER NOT NULL,
 CONTENT VARCHAR2 (4000),
 CID NUMBER DEFAULT 0 NOT NULL) ;

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 를 오라클용으로 전환합니다.

반응형