티스토리 뷰

오늘도 30도.. 엄청 덥겠군요.. 그나마 어제는 날이 흐려서 덜 더웠던것 같아요..

오늘도 비오지 않지만 흐린 날씨 기대해봅니다;..



요새 JSP로 이메일 보내는 것을 만들어보고 있습니다..

전에 JSP로 게시판 만들기를 해봤는데요.. 게시판 만들기는 지금봐도 너무 허접스럽게 만들어서.. 보여주기 민망하네요;..

이메일 보내는 것, 수신 확인하는것, 주소록 저장, 추가, 그룹 설정 등.. 거의 완료가 되었고..

템플릿을 추가해서.. 글 보낼때 배경이나, 음악 등을 넣어보려고 했는데.. 이건 어떻게 해야하는지 막막하네요..

그리고 게시판은 varchar2 (4000) 으로 내용을 설정해줬는데요..

한글이 2byte 씩 잡아먹으니까 2천자 정도 쓸수있겠네요..

근데.. 이번 이메일에는 수신 확인 하는 것도 내용에 포함되고, 이것 저것 포함하다 보니.. 2000자로는 모자를것 같아서

CLOB 로 내용 설정해주려고 하는데.. 이건 기존의 String 으로 insert 하는것과는 틀리게 update 로 올려야하더군요..

그리고 기존 sql 구문도 쓰지 못하구요.. 이거 변경하는게 좀 어려울것 같군요..

이거 아니면.. 템플릿 빼고 그냥 공개해도 되는데 말이죠..

CLOB 설명 해놓은 글들을 보니까.. 뭐 그리 어렵게 적어놨는지.. 이해하는데 한참 걸릴것 같더군요..

어디 좋은 사이트 없을라나.. 나도 좀 보면서 해보자..


ps. 삽질하고 있었습니다;..
CLOB 대충 이런식으로 하면 된다고 해서 스트림으로 받고 하려고 했는데;..

   if ( rs.next() )
   {

    CLOB clob = (CLOB)rs.getClob(1);       
    Writer writer = clob.getCharacterOutputStream();
    Reader src = new CharArrayReader(contents.toCharArray());
    char[] buffer = new char[1024];
    int read = 0;
    while ( (read = src.read(buffer,0,1024)) != -1) {
      writer.write(buffer, 0, read); // write clob.
    }
    src.close();       
    writer.close();
   }

   StringBuffer buf = new StringBuffer();
   Reader input = rs.getCharacterStream(6);
   char[] buffer = new char[1024];
   int byteReader;
   while((byteReader = input.read(buffer,0,1024))!=-1) {
     buf.append(buffer,0,byteReader);
   }
   String contents = buf.toString();

오라클8i 부터는 request.getParameter 로 그냥 받아 올 수 있더군요;..
BLOB 만 스트림으로 받는다고 하더라구요;..