;石川;);out . println(\" & lt;TR & gt& ltTD height = \" 1 \" bgcolor = \" # 999933 \" >& lt/TD & g" />
用JAVA寫的留言板原代碼
/*
* guestbookServlet.java
*
* */
導入javax . servlet . *;
導入javax.servlet..com " >;石川;);
out . println(" & lt;TR & gt& ltTD height = " 1 " bgcolor = " # 999933 " >& lt/TD & gt;& lt/TR >;);
out . println(" & lt;/TABLE >);
out . println(" & lt;BR >;);
out . println(" & lt;TABLE width = " 600 " border = " 0 " cellspacing = " 0 " cell padding = " 0 " align = " CENTER " class = " my text " >);
out . println(" & lt;TR & gt& ltTD height="8 " >& lt/TD & gt;& lt/TR >;);
out . println(" & lt;TR & gt& ltTD height = " 18 " bgcolor = " # f7f 7 f 7 " >。& ltDIV align="right " >);
out . println(" * * * has "+reccount+" messages ");
Out.println("當前第壹
if(current page & gt;1)
out . println(" & lt;a href=guestbookServlet?ipage = 1 & gt;主頁
其他
Out.println("首頁上壹頁");
if(current page & lt;總頁數)
out . println(" & lt;a href=guestbookServlet?ipage = "+(current page+1)+" & gt;下壹頁
其他
Out.println("下壹頁的最後壹頁");
out . println(" & lt;/DIV & gt;& lt/TD & gt;& lt/TR >;);
out . println(" & lt;/TABLE >);
out . println(" & lt;BR >;);
//下面是顯示的消息內容。
如果(!noResult){
字符串dname
字符串demail
字符串數據內容;
字符串dtime
日期temptime
嘗試{
做{
dname = new String(myrs . getstring(" Mname "));
de mail = new String(myrs . getstring(" Memail "));
d content = new String(myrs . getstring(" m content "));
嘗試{
dtime =新字符串(myrs.getObject("Mtime ")。toString());
}
catch(Java . lang . nullpointerexception e){
dtime = new String(" 2001-04-06 12:30 ");
}
if(dname==null)
Dname =新字符串("石川");
if(demail==null)
de mail = new String(" YF 188 @ 21cn . com ");
if(dcontent==null)
dcontent =新字符串(" test ");
if(dtime==null)
dtime = new String(" 2001-04-06 12:30 ");
dname = convert(dname);
dcontent = convert(dcontent);
//temptime = myrs . getdate(" Mtime ");
/*
string temp year = string . value of(temp time . get year()+1900);
string tempmonth = string . value of(temp time . getmonth()+1);
if(tempmonth.length()==1)
tempmonth =新字符串(" 0 "+temp month);
string tempdays = string . value of(temp time . getdate());
if(tempdays.length()==1)
tempdays =新字符串(" 0 "+tempdays);
string temp minute = string . value of(temptime . get minutes());
if(temp minute . length()= = 1)
tempminute =新字符串(" 0 "+temp minute);
string temp hours = string . value of(temp time . get hours());
if(temphours.length()==1)
temphours =新字符串(" 0 "+temp hours);
string dtime = temp year+" year "+temp month+" month "+tempdays+" day "+temp hours+" hour "+temp minute+" minute ";
*/
out . println(" & lt;TABLE width = " 600 " border = " 0 " cellspacing = " 0 " cell padding = " 4 " align = " CENTER " class = " my text " >);
out . println(" & lt;TR & gt& ltTD & gt名字
out . println(" & lt;TR & gt& ltTD height="10 " >& lt/TD & gt;& lt/TR >;);
out . println(" & lt;TR & gt& ltTD height="10 " >+dcontent+" & lt;/TD & gt;& lt/TR >;);
out . println(" & lt;/TABLE >);
out . println(" & lt;HR width="600" size="1 " >);
} while(myrs . next());}
catch(SQLException e){
out.println("發現錯誤");
}
}
否則{
Out.println("還沒有消息!");
}
//結束
out . println(" & lt;FORM name = " FORM 1 " method = " post " action = " guest book servlet " >);
out . println(" & lt;TABLE width = " 600 " border = " 0 " cellspacing = " 0 " cell padding = " 4 " align = " CENTER " class = " my text " >);
out . println(" & lt;TR & gt& ltTD width="80 " >名稱:* & lt/TD & gt;& lt/TR >;);
out . println(" & lt;TR & gt& ltTD & gt電子郵件:& lt/TD & gt;& ltTD & gt& ltINPUT type = " text " name = " email " & gt;* & lt/TD & gt;& lt/TR >;);
out . println(" & lt;TR & gt& ltTD & gt消息:& lt/TEXTAREA & gt;& lt/TD & gt;& lt/TR >;);
out . println(" & lt;/TABLE >);
out . println(" & lt;TABLE width = " 400 " border = " 0 " cellspacing = " 0 " cell padding = " 6 " align = " CENTER " class = " my text " >);
out . println(" & lt;TR & gt& ltTD height="15" width="200 " >& lt/TD & gt;& ltTD & gt& lt/TD & gt;& lt/TR >;);
out . println(" & lt;TR & gt& ltTD & gt& ltDIV align="RIGHT " >& ltinput type = " button " name = " button " value = " submit " style = " cursor:hand " onclick = " JavaScript:check()" > & lt;/DIV & gt;& lt/TD >;);
out . println(" & lt;TD & gt& ltinput type = " reset " name = " submit 2 " value = " reset " > & lt;/TD & gt;& lt/TR >;);
out . println(" & lt;/TABLE >);
out . println(" & lt;/FORM >);
out . println(" & lt;TABLE width = " 400 " border = " 0 " cellspacing = " 0 " cell padding = " 4 " align = " CENTER " class = " my text " >);
out . println(" & lt;TR & gt& ltTD width="15 " >& lt/TD & gt;& lt/TR >;);
out . println(" & lt;TR & gt& ltTD & gt& ltDIV align="LEFT " >& lt/DIV & gt;& lt/TD & gt;& lt/TR >;);
out . println(" & lt;TR & gt& ltTD & gt& lt/TD & gt;& lt/TR >;);
out . println(" & lt;/TABLE >);
out . println(" & lt;/BODY >);
out . println(" & lt;/HTML >);
out . println(" & lt;腳本語言="javascript " >);
out.println("函數check(){ ");
out . println(" if(form 1 . username . value . length & lt;1 | | form 1 . u content . value . length & lt;1)");
Out.println("{alert(需要名稱和消息!);} else { form 1 . submit();}}");
out . println(" & lt;/SCRIPT >);
out . close();
}
/**處理HTTP & lt代碼& gt獲取& lt/code & gt;方法。
* @param request servlet請求
* @param response servlet響應
*/
受保護的void doGet(HttpServletRequest請求,HttpServletResponse響應)
拋出ServletException,java.io.IOException {
processRequest(請求,響應);
}
/**處理HTTP & lt代碼& gtPOST & lt/code & gt;方法。
* @param request servlet請求
* @param response servlet響應
*/
受保護的void doPost(HttpServletRequest請求,HttpServletResponse響應)
拋出ServletException,java.io.IOException {
processRequest(請求,響應);
}
受保護的void getDsnConn(){
string sqlurl = " JDBC:MySQL://10 . 0 . 0 . 1/妳申請用戶名了嗎?用戶=妳的& amp密碼=您的賬號";
嘗試{
如果(調試)
conn = driver manager . getconnection(" JDBC:odbc:odbc源","用戶名","密碼口令");
其他
conn = driver manager . get connection(SQL URL);
}
catch(SQLException es){
System.err.println("連接庫出錯:"+es . getmessage());
}
}
受保護的void execute insert(String sqlStr){
嘗試{
statement stmt = conn . create statement();
stmt . execute update(sqlStr);
}
catch(SQLException es){
System.err.println("插入時:"+es . getmessage());
}
}
受保護的void execute update(String sqlStr){
嘗試{
statement stmt = conn . create statement();
stmt . execute update(sqlStr);
}
catch(SQLException e){
System.err.println("查詢記錄中的錯誤");
}
}
//搜索
受保護的結果集執行查詢(字符串sqlStr){
rs = null
嘗試{
statement stmt = conn . create statement();
RS = stmt . execute query(sqlStr);
}
catch(SQLException ex){
System.err.println("執行查找時出錯:"+ex . getmessage());
}
返回RS;
}
受保護的結果集executeScrollableQuery(String sqlStr){
rs = null
嘗試{
語句stmt = conn . create statement(ResultSet。TYPE_SCROLL_INSENSITIVE,ResultSet。CONCUR _ READ _ ONLY);
RS = stmt . execute query(sqlStr);
}
catch(SQLException e){
System.err.println("執行動態查找時出錯");
}
返回RS;
}
//獲取表記錄的總數
protected int getRecordCount(String sTableName){
rs = null
int count result = 0;
string sqlStr = " select count(*)from "+stable name;
嘗試{
statement stmt = conn . create statement();
RS = stmt . execute query(sqlStr);
if(rs.next())
count result = RS . getint(1);
rs = null
stmt . close();
}
catch(SQLException ex){
system . err . println(ex . getmessage());
}
返回CountResult
}
//獲取記錄的總頁數。
protected int gettotal page(String stable name,int iPageSize){
int totalPage
int totalRecNum = getRecordCount(sTableName);
if(totalRecNum%iPageSize==0)
total page = totalRecNum/IP agesize;
其他
total page = totalRecNum/IP agesize+1;
返回totalPage
}
受保護的字符串轉換(String InputStr){
String converted =新字符串();
byte[]字節;
嘗試{
bytes = inputstr . getbytes(" ISO8859-1 ");
converted =新字符串(bytes," GB 2312 ");
}
catch(Java . io . unsupportedencodingexception e){
system . out . print(" error ");
}
返回已轉換的;
}
/**返回servlet的簡短描述。
*/
公共字符串getServletInfo() {
返回“簡短描述”;
}
}