英特內軟體股份有限公司


jcx.servlet.common
Class forumServlet

jcx.servlet.Servlet
  |
  +--jcx.servlet.common.htmlServlet
        |
        +--jcx.servlet.common.multiPageServlet
              |
              +--jcx.servlet.common.forumServlet

public abstract class forumServlet
extends multiPageServlet

討論區的輸入,新增,版別管理,設定,版主設定, Servlet 程式可繼承此類別另外開發適合的討論區。 若非使用程式預設值,getForum(),getForumSubTitle(),getForumDec(), newForum(),updateForum(),deleteForum()等必須由繼承者覆寫


Field Summary
protected  java.lang.String BGCOLOR
           
protected  java.lang.String DIAG_BGCOLOR
           
protected  java.lang.String DIAG_FONTCOLOR
           
protected  java.lang.String FONTCOLOR
           
protected  java.lang.String MARK_COLOR
           
protected  java.io.PrintStream out
           
protected  java.lang.String SUBTITLE_BGCOLOR
           
 
Fields inherited from class jcx.servlet.common.multiPageServlet
PAGE_AMOUNT, PAGE_TEMP, PAGE_TEMP_PATH
 
Fields inherited from class jcx.servlet.Servlet
files, req, resp
 
Constructor Summary
forumServlet()
           
 
Method Summary
protected  void action(java.io.PrintStream out)
           程式由action()開始
 boolean deleteArticle(java.lang.String key, java.lang.String akey, java.lang.String atitle)
           刪除文章.
 boolean deleteForum(java.lang.String[] forum_data)
           刪除討論區資料 可由繼承者覆寫
 java.lang.String[][] getArticles(java.lang.String key, java.lang.String akey)
           取得該標題的文章 可以由繼承者覆寫.
 java.lang.String[] getDeleteForum()
           取得刪除討論區資料 可由繼承者覆寫
 java.lang.String[] getForum()
           取得所有討論區的名稱 可以由繼承者覆寫.
 java.lang.String[] getForumDec(java.lang.String key)
           取得該討論區詳細內容 可以由繼承者覆寫.
 java.lang.String[] getForumSubTitle(java.lang.String key)
           取得該討論區的標題 可由繼承者覆寫
 java.lang.String[] getInsertForum()
           取得新增討論區資料 可由繼承者覆寫
protected  java.lang.String getPageHead()
          頁面所需的開頭標題
protected  java.lang.String getPageTail()
          頁面所需的結尾
 java.lang.String getTitle()
           取得討論區名稱.
 java.lang.String[] getUpdateForum()
           取得修改討論區資料 可由繼承者覆寫
 boolean newArticle(java.lang.String key, java.lang.String id, java.lang.String subtitle, java.lang.String article, java.lang.String replytitle)
           增加文章
 boolean newForum(java.lang.String[] forum_date)
           新增討論區資料 必須由繼承者覆寫
abstract  void run2()
           
protected  java.lang.String[][] searchResult()
           取得檢索結果.
 void setPageCount(int count)
           設定全文檢索時每一分頁的筆數.
 void setTitle(java.lang.String title)
           設定討論區名稱.
 void showArticles(java.lang.String[][] articles)
           顯示所有文章.
 void showDeleteForum(java.lang.String key)
           顯示刪除討論區畫面 可由繼承者覆寫
 void showForum(java.lang.String[] forums)
           顯示討論區的所有版別 可以由繼承者覆寫
 void showForumSetup()
           顯示討論區的維護功能畫面 可以由繼承者覆寫
 void showForumSubTitle(java.lang.String key, java.lang.String[] forumsubtitle)
           顯示key所指定該版的所有標題 可以由繼承者覆寫
 void showFrameset()
           輸出的格式, 可由繼承者自行覆寫。
 void showInsertForum()
           顯示新增討論區畫面 可由繼承者覆寫
 boolean showNewArticle(java.lang.String key)
           顯示文章輸入畫面.
protected  void showSearchForm()
           顯示全文檢索畫面.
protected  void showSearchResult(java.lang.String[][] articles)
           顯示檢索結果.
 void showUpdateForum(java.lang.String key)
           顯示修改討論區畫面 可由繼承者覆寫
 void step0()
           討論區frameset畫面 讀取討論區的第一個步驟 .
 void step1()
           顯示所有討論區 .
 void step3()
           顯示討論區的所有討論標題.
 void step31()
           新增討論區的文章.
 void step32()
           新增討論區的文章寫入資料.
 void step4()
           顯示該討論標題的所有文章.
 void step41()
           刪除文章.
 void step5()
           討論區維護畫面.
 void step6()
           新增討論區畫面 .
 void step61()
           新增討論區寫入資料 .
 void step7()
           修改討論區畫面 .
 void step71()
           修改討論區寫入資料 .
 void step72()
           修改討論區說明 .
 void step8()
           刪除討論區畫面 .
 void step81()
           刪除討論區資料 .
 void step9()
           顯示全文檢索畫面 .
 void step91()
           顯示全文檢索資料 .
 boolean updateForum(java.lang.String[] forum_data)
           修改討論區資料 可由繼承者覆寫
 
Methods inherited from class jcx.servlet.common.multiPageServlet
newPage, run1
 
Methods inherited from class jcx.servlet.Servlet
addCookie, checkClientTrusted, checkServerTrusted, decode, equals, fromEscapeCode, getAcceptedIssuers, getClientProperty, getCookies, getFileInputStream, getFormData, getHeader, getInputStream, getMemoryInputStream, getMethod, getOutputStream, getParameter, getPath, lzw_decompress, returnAuthenticateResponse, returnAuthenticateResponse, returnErrorResponse, returnNormalResponse, run, setHeader, ToHtml, ToSql, verify
 

Field Detail

out

protected java.io.PrintStream out

BGCOLOR

protected java.lang.String BGCOLOR

FONTCOLOR

protected java.lang.String FONTCOLOR

SUBTITLE_BGCOLOR

protected java.lang.String SUBTITLE_BGCOLOR

DIAG_BGCOLOR

protected java.lang.String DIAG_BGCOLOR

DIAG_FONTCOLOR

protected java.lang.String DIAG_FONTCOLOR

MARK_COLOR

protected java.lang.String MARK_COLOR
Constructor Detail

forumServlet

public forumServlet()
Method Detail

run2

public abstract void run2()
                   throws java.lang.Exception

action

protected void action(java.io.PrintStream out)
Description copied from class: multiPageServlet
程式由action()開始
Overrides:
action in class multiPageServlet
Following copied from class: jcx.servlet.common.multiPageServlet
Parameters:
out - PrintStream
See Also:
multiPageServlet.newPage()

setPageCount

public void setPageCount(int count)
設定全文檢索時每一分頁的筆數.
Parameters:
int - count 筆數
.

setTitle

public void setTitle(java.lang.String title)
設定討論區名稱.
Parameters:
String - title 討論區名稱
.

getTitle

public java.lang.String getTitle()
取得討論區名稱.
Returns:
String title 討論區名稱
.

step0

public void step0()
討論區frameset畫面
讀取討論區的第一個步驟
.
程式內文:
	public void step0(){
		returnNormalResponse("text/html");		
		showFrameset();
	}
參考 showFrameset()

step1

public void step1()
顯示所有討論區
.
程式內文:
	public void step1(){
		returnNormalResponse("text/html");
		showForum(getForum());
	}
參考 getForum()
     showForum(String[])

step3

public void step3()
顯示討論區的所有討論標題.
程式內文:
	public void step3(){
		returnNormalResponse("text/html");
		String key=getParameter("key");
		try{
			key=convert.ByteToStr(key);
		}catch(Exception e){
		}
		showForumSubTitle(key,getForumSubTitle(key));
	}
參考 getForumSubTitle(String)
      showForumSubTitle(String,String[])

step31

public void step31()
新增討論區的文章.
程式內文:
	public void step31(){
		returnNormalResponse("text/html");
		String key=getParameter("key");
		try{
			key=convert.ByteToStr(key);
		}catch(Exception e){
		}
		showNewArticle(key);
	}
參考 showNewArticle(String)

step32

public void step32()
新增討論區的文章寫入資料.
程式內文:
	public void step32(){
		returnNormalResponse("text/html");
		String key=getParameter("key");
		String id=getParameter("id");
		String subtitle=getParameter("subtitle");
		String article=getParameter("article");
		String replytitle=getParameter("replytitle");
		if (replytitle==null){
			replytitle="not_found";
		}
		try{
			key=convert.ByteToStr(key);
			id=convert.ByteToStr(id);
			subtitle=convert.ByteToStr(subtitle);
			article=convert.ByteToStr(article);
			replytitle=convert.ByteToStr(replytitle);
		}catch(IOException e){
			System.out.println("step32 fail=>"+e);
			return;
		}
		newArticle(key,id,subtitle,article,replytitle);
	}
參考 newArticle(String,String,String,String,String)

step4

public void step4()
	顯示該討論標題的所有文章.
程式內文:
	public void step4(){
		returnNormalResponse("text/html");
		String key=getParameter("key");
		String akey=getParameter("akey");
		try{
			key=convert.ByteToStr(key);
			akey=convert.ByteToStr(akey);
		}catch(Exception e){
		}
		showArticles(getArticles(key,akey));
	}
參考 getArticles(String,String)
      showArticles(String[][])

step41

public void step41()
	刪除文章.
程式內文:
	public void step41(){
		returnNormalResponse("text/html");
		String key=getParameter("key");
		String akey=getParameter("akey");
		try{
			key=convert.ByteToStr(key);
			akey=convert.ByteToStr(akey);
		}catch(Exception e){
		}
		deleteArticle(key,akey,atitle);
	}
參考 deleteArticle(String,String,String)

step5

public void step5()
	討論區維護畫面.
程式內文:
	public void step5(){
		returnNormalResponse("text/html");
		showForumSetup();
	}
參考 showForumSetup()

step6

public void step6()
	新增討論區畫面
.
程式內文:
	public void step6(){
		returnNormalResponse("text/html");
		showInsertForum();
	}
參考 showInsertForum()

step61

public void step61()
	新增討論區寫入資料
.
程式內文:
	public void step61(){
		returnNormalResponse("text/html");
		newForum(getInsertForum());
	}
參考 getInsertForum()
參考 newForum(String[])

step7

public void step7()
修改討論區畫面
.
程式內文:
	public void step7(){
		returnNormalResponse("text/html");
		String key=getParameter("key");		
		try{
			key=convert.ByteToStr(key);
		}catch(IOException e){
		}
		showUpdateForum(key);
	}
參考 showUpdateForum(String)

step71

public void step71()
	修改討論區寫入資料
.
程式內文:
	public void step71(){
		returnNormalResponse("text/html");
		updateForum(getUpdateForum());
	}
參考 getUpdateForum()
參考 updateForum(String[])

step72

public void step72()
	修改討論區說明
.
程式內文:
	public void step72(){
		returnNormalResponse("text/html");
		String key=getParameter("key");
		String owner_message=getParameter("owner_message");
		try{
			key=convert.ByteToStr(key);
			owner_message=convert.ByteToStr(owner_message);
		}catch(Exception e){
			return;
		String om[]={key,owner_message};
		updateForum(om);
	}
參考 updateForum(String[])

step8

public void step8()
刪除討論區畫面
.
程式內文:
	public void step8(){
		returnNormalResponse("text/html");
		String key=getParameter("key");		
		try{
			key=convert.ByteToStr(key);
		}catch(IOException e){
		}
		showDeleteForum(key);
	}
參考 showDeleteForum(String)

step81

public void step81()
	刪除討論區資料
.
程式內文:
	public void step81(){
		returnNormalResponse("text/html");
		deleteForum(getDeleteForum());
	}
參考 getDeleteForum()
      deleteForum(String[])

step9

public void step9()
	顯示全文檢索畫面
.
程式內文:
	public void step9(){
		returnNormalResponse("text/html");
		showSearchForm();
	}
參考 showSearchForm()

step91

public void step91()
	顯示全文檢索資料
.
程式內文:
	public void step91(){
		returnNormalResponse("text/html");
		showSearchResult(searchResult());
	}
參考 showSearchForm()

showFrameset

public void showFrameset()
	輸出的格式,
	可由繼承者自行覆寫。
	預設值:
		<frameset cols='*,80%' border=1>
		<frame src='/server-java/[繼承的class]?step=1&id="+id+"' name='left1'>
		<FRAME SRC='/server-java/[繼承的class]?step=3&id="+id+"&key=0' NAME='right1'>
		</FRAMESET>

getForum

public java.lang.String[] getForum()
	取得所有討論區的名稱
	可以由繼承者覆寫.
Returns:
String[]所有討論區的名稱

getForumDec

public java.lang.String[] getForumDec(java.lang.String key)
	取得該討論區詳細內容
	可以由繼承者覆寫.
Parameters:
key - 討論區代號
Returns:
String[]討論區詳細內容 共有5筆資料,依序為 討論區名稱、版主、討論區說明、成立日期、成立時間

showForumSetup

public void showForumSetup()
	顯示討論區的維護功能畫面
	可以由繼承者覆寫
Returns:
String 包含HTML tag的維護功能畫面

showForum

public void showForum(java.lang.String[] forums)
	顯示討論區的所有版別
	可以由繼承者覆寫
Parameters:
String[] - 所有版別

showForumSubTitle

public void showForumSubTitle(java.lang.String key,
                              java.lang.String[] forumsubtitle)
	顯示key所指定該版的所有標題
	可以由繼承者覆寫
Parameters:
String - 版別代號
String[] - 所有標題

getForumSubTitle

public java.lang.String[] getForumSubTitle(java.lang.String key)
	取得該討論區的標題
	可由繼承者覆寫
Parameters:
String - key 討論區標題代號
Returns:
String[] 該討論區所有文章的標題

getArticles

public java.lang.String[][] getArticles(java.lang.String key,
                                        java.lang.String akey)
	取得該標題的文章
	可以由繼承者覆寫.
Parameters:
String - key 討論區標題代號
String - akey 標題代號
Returns:
String[][] 該標題的所有文章 每一筆資料的元素依序為 標題、帳號、日期、時間、內文

showInsertForum

public void showInsertForum()
	顯示新增討論區畫面
	可由繼承者覆寫

showUpdateForum

public void showUpdateForum(java.lang.String key)
	顯示修改討論區畫面
	可由繼承者覆寫

showDeleteForum

public void showDeleteForum(java.lang.String key)
	顯示刪除討論區畫面
	可由繼承者覆寫

getInsertForum

public java.lang.String[] getInsertForum()
	取得新增討論區資料
	可由繼承者覆寫

getUpdateForum

public java.lang.String[] getUpdateForum()
	取得修改討論區資料
	可由繼承者覆寫
Returns:
String[] 修改後資料

getDeleteForum

public java.lang.String[] getDeleteForum()
	取得刪除討論區資料
	可由繼承者覆寫

newForum

public boolean newForum(java.lang.String[] forum_date)
新增討論區資料
必須由繼承者覆寫
Parameters:
String[] - 討論區相關資料
資料種類由使用者自訂
輸入資料流亦由使用者自訂

updateForum

public boolean updateForum(java.lang.String[] forum_data)
修改討論區資料
可由繼承者覆寫
Parameters:
String[] - 討論區修改後資料
資料種類由使用者自訂
輸入資料流亦由使用者自訂

deleteForum

public boolean deleteForum(java.lang.String[] forum_data)
刪除討論區資料
可由繼承者覆寫
Parameters:
String[] - 討論區修改後資料
資料種類由使用者自訂
輸入資料流亦由使用者自訂

showArticles

public void showArticles(java.lang.String[][] articles)
顯示所有文章.
Parameters:
String[][] - articles 所有文章

showNewArticle

public boolean showNewArticle(java.lang.String key)
顯示文章輸入畫面.
Parameters:
String - key 討論區代號

newArticle

public boolean newArticle(java.lang.String key,
                          java.lang.String id,
                          java.lang.String subtitle,
                          java.lang.String article,
                          java.lang.String replytitle)
	增加文章
Parameters:
key:版別代號 -  
id:帳號 -  
subtitle:新增文章標題 -  
article:文章內容 -  
replytitle:回覆文章標題, - 若是新增文章時傳"not_found"即可。

deleteArticle

public boolean deleteArticle(java.lang.String key,
                             java.lang.String akey,
                             java.lang.String atitle)
刪除文章.
Parameters:
String - key 討論區代號
String - akey 標題
String - atitle 文章標題

showSearchForm

protected void showSearchForm()
顯示全文檢索畫面.

searchResult

protected java.lang.String[][] searchResult()
取得檢索結果.
Returns:
String[][] 檢索結果 每一筆資料有6個元素 討論區代號、主題、帳號、日期、文章標題、內文

showSearchResult

protected void showSearchResult(java.lang.String[][] articles)
顯示檢索結果.
Parameters:
String[][] - 檢索結果 每一筆資料有6個元素 討論區代號、主題、帳號、日期、文章標題、內文

getPageHead

protected final java.lang.String getPageHead()
頁面所需的開頭標題
Overrides:
getPageHead in class multiPageServlet

getPageTail

protected final java.lang.String getPageTail()
頁面所需的結尾
Overrides:
getPageTail in class multiPageServlet

英特內軟體股份有限公司