| 网站首页 | 建站学院 | 资源下载 | 建站教程 | 图片素材 | 网贝社区 | 
您现在的位置: 网贝建站 >> 建站学院 >> JSP技术 >> 数据库 >> 正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
没有相关文章
jsp留言板源代码       ★★★★
jsp留言板源代码
作者:皮蛋 文章来源:网络整理 点击数: 更新时间:2004-7-21 13:48:58

guestbook.jsp 
=========================== 
<html><head> 
<META content="text/html; charset=gb2312 " http-equiv=Content-Type> 

<title>张家界电话黄页(网上114)</title></head> 
<style type="text/css"> 
<!-- 
BODY { FONT-FAMILY: "宋体\\","Arial Narrow", "Times New Roman"; FONT-SI 
ZE: 9pt } 
.p1 { FONT-FAMILY: "宋体\\", "Arial Narrow", "Times New Roman"; FONT-SIZ 
E: 12pt } 
A:link { COLOR: #00793d; TEXT-DECORATION: none } 
A:visited { TEXT-DECORATION: none } 
A:hover { TEXT-DECORATION: underline} 
TD { FONT-FAMILY: "宋体\\", "Arial Narrow", "Times New Roman"; FONT-SIZE 
: 9pt } 
.p2 { FONT-FAMILY: "宋体\\", "Arial Narrow", "Times New Roman"; FONT-SIZ 
E: 9pt; LINE-HEIGHT: 150% } 
.p3 { FONT-FAMILY: "宋体\\", "Arial Narrow", "Times New Roman"; FONT-SIZ 
E: 9pt; LINE-HEIGHT: 120% } 

--> 
</style> 


<body> 


<%@ page contentType="text/html; charset=GB2312" %> 
<%@ page language="java" import="java.sql.*" %> 
<jsp:useBean id="testInq" scope="page" class="ymbean.opDb" /> 
<% 
int pages=1; 
int pagesize=10; 
int count=0; 
int totalpages=0; 

String countsql="",inqsql="",lwhere="",insertsql="",st=""; 

String lw_title="",lw_author="",pagetitle="",author_http="",author_e 
mail="",lw_ico="", 
lw_content="",lw_class1=""; 
String author_ip="",lw_time="",lw_class2="",lw_type="",zt_time="",zt 
_author=""; 
int answer_num=0,click_num=0; 
int inquire_item=1; 
String inquire_itemt="",inquire_value=""; 
String lurlt="<a href=guestbook.jsp?",llink=""; 

lwhere=" where lw_type=z "; //只显示主贴 

/* 
Enumeration e = request.getParameterNames(); 
while (e.hasMoreElements()) { 
String name = (String) e.nextElement(); 
*/ 
try{ 
//取显示的页页序数 
pages = new Integer(request.getParameter("pages")).intValue(); 
} catch (Exception e) {} 
try{ 
//取查询参数 
inquire_item=new Integer(request.getParameter("range")).intValu 
e(); 
inquire_value=new String(request.getParameter("findstr").getByt 
es("ISO8859_1")); 
if(inquire_item==0) inquire_itemt="lw_title"; 
else if(inquire_item==1) inquire_itemt="lw_content"; 
else if(inquire_item==2) inquire_itemt="lw_author"; 
else if(inquire_item==3) inquire_itemt="lw_time"; 
else if(inquire_item==4) inquire_itemt="lw_title"; 
lwhere=lwhere+" and "+inquire_itemt+" like %"+inquire_value+"% 
"; 
lurlt=lurlt+"range="+inquire_item+"&findstr="+inquire_value+"&" 


} catch (Exception e) {} 

try{ 
//取得参数 留言内容 
lw_class1=new String(request.getParameter("gbname").getBytes("ISO885 
9_1")); 
lw_title=new String(request.getParameter("lw_title").getBytes("ISO88 
59_1")); 
lw_author=new String(request.getParameter("lw_author").getBytes("ISO 
8859_1")); 
pagetitle=new String(request.getParameter("pagetitle").getBytes("ISO 
8859_1")); 
author_http=new String(request.getParameter("author_http").getBytes( 
"ISO8859_1")); 
author_email=new String(request.getParameter("author_email").getByte 
s("ISO8859_1")); 
lw_ico=request.getParameter("gifface"); 
lw_content=new String(request.getParameter("lw_content").getBytes("I 
SO8859_1")); 
String requestMethod=request.getMethod(); 
requestMethod=requestMethod.toUpperCase(); 
if(requestMethod.indexOf("POST")<0) 
{ out.print("非法操作!"); 
return; 


//形成其他数据项 
author_ip=request.getRemoteAddr() ; 
lw_time=testInq.getCurrentDate("yyyyMMddHHmmss"); 
lw_class2="2"; 
lw_type=""+"z"; //主贴 
zt_time=lw_time; 
zt_author=lw_author; 
answer_num=0; 
click_num=0; 
//================ 
st=","; 
//保证留言所有数据项的长度在正常范围内 
if(lw_title.length()>50) lw_title=lw_title.substring(0,50); 
if(lw_author.length()>20) lw_author=lw_author.substring(0,20); 
if(author_http.length()>40) author_http=author_http.substring(0,40); 

if(author_email.length()>50) author_email=author_email.substring(0,4 
0); 
if(lw_content.length()>4000) lw_content=lw_content.substring(0,4000) 


insertsql="insert into guestbook values("+lw_title+st+lw_author+st+ 
author_http+st+ 
author_email+st+lw_ico+st+lw_time+","+answer_num+","+cli 
ck_num+","+ 
author_ip+st+lw_class1+st+lw_class2+st+lw_type+st+zt_time 
+st+zt_author+st+ 
lw_content+")"; 
//out.print(insertsql); 
//插入留言 
try{ 
String lmsg=testInq.executeUpdate(insertsql); 
if(lmsg.indexOf("executeUpdate ok")<0) 
out.print("lmsg="+lmsg); 

}catch (Exception e) { out.print("错误:"+e);} 
} catch (Exception e) {} 
%> 

<% 
//验证留言输入项合法性的javascript 
String ljs=" <SCRIPT language=javascript> 
"+ 
" <!-- 
"+ 
" function ValidInput() 
"+ 
" {if(document.sign.lw_author.value=="") 
"+ 
" {alert("请填写您的大名。"); 
"+ 
" document.sign.lw_author.focus(); 
"+ 
" return false;} 
"+ 
" if(document.sign.lw_title.value=="") 
"+ 
" {alert("请填写留言主题。"); 
"+ 
" document.sign.lw_title.focus(); 
"+ 
" return false;} 
"+ 
" if (document.sign.author_email.value!="") 
"+ 
" { if ((document.sign.author_email.value.indexOf("@")<0)//(document 
.sign.author_email.value.indexOf(":")!=-1)) 
"+ 
" {alert("您填写的EMail无效,请填写一个有效的Email!"); 
"+ 
" document.sign.author_emaill.focus(); 
"+ 
" return false; 
"+ 
" } 
"+ 
" } 
"+ 
" return true; 
"+ 
" } 
"+ 
" function ValidSearch() 
"+ 
" { if(document.frmsearch.findstr.value=="") 
"+ 
" {alert("不能搜索空串!"); 
"+ 
" document.frmsearch.findstr.focus(); 
"+ 
" return false;} 
"+ 
" } 
"+ 
" //--> 
"+ 
" </SCRIPT> "; 
out.print(ljs); 
%> 

<% 
//留言板界面首部 
String ltop=" <DIV align=center> 
"+ 
" <CENTER> 
"+ 
" <FORM action=guestbook.jsp method=post name=frmsearch> 
"+ 
" <INPUT name=gbname type=hidden value=cnzjj_gt> 
"+ 
" <TABLE align=center border=0 cellSpacing=1 width="95%"> 
"+ 
" <TBODY> 
"+ 
" <TR> 
"+ 
" <TD bgColor=#336699 colSpan=2 width="100%"> 
"+ 
" <P align=center><FONT color=#ffffff face=楷体_GB2312 
"+ 
" size=5>欢迎远方的朋友来张家界旅游观光</FONT></P></TD></TR> 


" <TR bgColor=#6699cc> 
"+ 
" <TD align=left noWrap width="50%">主页: <A 
"+ 
" href="http://www.zj.hn.cn" target=_blank><FONT 
"+ 
" color=#ffffff>张家界旅游</FONT></A> 管理员: <A 


" href="mailto:dzx@mail.zj.hn.cninfo.net"><FONT color=#ffffff> 
一民</FONT></A> 
"+ 
" >><A 
"+ 
" href="http://www.zj.hn.cn "><FONT 
"+ 
" color=#ffffff>管理</FONT></A> >><A 
"+ 
" href=" http://www.zj.hn.cn "><FONT 
"+ 
" color=#ffffff>申请</FONT></A> </TD> 
"+ 
" <TD align=right width="50%"><SELECT class=ourfont name=range s 
ize=1> 
"+ 
" <OPTION selected value=0>按主题</OPTION> <OPTION value=1>按内 
容</OPTION> 
"+ 
" <OPTION value=2>按作者</OPTION> <OPTION value=3>按日期</OPTI 
ON> <OPTION 
"+ 
" value=4>按主题&内容</OPTION></SELECT> <INPUT name=findst 
r> <INPUT name=search onclick="return ValidSearch()" type=submit val 
ue="搜 索\\"> 
"+ 
" </TD></TR></TBODY></TABLE></FORM> 
"+ 
" <HR align=center noShade SIZE=1 width="95%"> 
"+ 
" </CENTER></div> "; 
out.print(ltop); 
%> 

<% 
//显示最近时间发表的一页留言 
countsql="select count(lw_title) from guestbook "+lwhere; 
inqsql ="select lw_title,answer_num,click_num,lw_author,lw_time,expres 
sion,"+ 
" author_email,lw_class1,lw_class2 from guestbook "+lwhere+" o 
rder by lw_time desc" ; 

if(pages>0) 

try { 
try{ 
ResultSet rcount=testInq.executeQuery(countsql); 
if(rcount.next()) 

count = rcount.getInt(1); 

rcount.close(); 
} catch (Exception el1) { out.println("count record error 
: "+el1+"
" ); 
out.println(countsql); 


totalpages=(int)(count/pagesize); 
if(count>totalpages*pagesize) totalpages++; 
st=""+ 
" <TABLE align=center border=0 cellPadding=0 cellSpacing= 
0 width="95%"> "+ 
" <TBODY> <TR> <TD align=middle bgColor=#97badd width="1 
00%"><FONT color=#ff0000>"+ 
" 共 "+totalpages+" 页,"+count+" 
条. "+" 当前页: "+pages+ 
" </FONT></TD></TR></TBODY></TABLE><BR> "; 

out.print(st); 

//out.print(" 共 "+totalpages+" 页,"+ 
count+" 条. "+" 当前页: "+pages+"
"); 

st=" <center> "+ 
" <TABLE border=0 cellPadding=2 cellSpacing=1 width="95%"> "+ 
" <TBODY> "+ 
" <TR> "+ 
" <TD align=middle bgColor=#6699cc width="55%"><FONT "+ 
" color=#ffffff>留言主题</FONT></TD> "+ 
" <TD align=middle bgColor=#6699cc width=50><FONT "+ 
" color=#ffffff>回应数</FONT></TD> "+ 
" <TD align=middle bgColor=#6699cc width=40><FONT "+ 
" color=#ffffff>点击数</FONT></TD> "+ 
" <TD align=middle bgColor=#6699cc width=100><FONT "+ 
" color=#ffffff>作者名</FONT></TD> "+ 
" <TD align=middle bgColor=#6699cc width=140><FONT "+ 
" color=#ffffff>发表/回应时间</FONT></TD></TR> "; 
out.print(st); 

if(count > 0 ) 

ResultSet rs = testInq.executeQuery(inqsql); 
ResultSetMetaData metaData = rs.getMetaData(); 

int i; 
// 跳过pages -1 页,使cursor指向pages并准备显示 
for(i=1;i<=(pages - 1)*pagesize;i++) rs.next(); 
//显示第pages页开始 
String linestr=""; 
for(i=1;i<=pagesize;i++) 
if(rs.next()) 

lw_title=rs.getString("lw_title"); 
answer_num=rs.getInt("answer_num"); 
click_num=rs.getInt("click_num"); 
lw_author=rs.getString("lw_author"); 
lw_time=rs.getString("lw_time"); 
st=lw_time.substring(0,4)+"-"+lw_time.substring(4,6)+"-" 
+lw_time.substring(6,8)+":"+ 
lw_time.substring(8,10)+":"+lw_time.substring(10,12)+ 
":"+lw_time.substring(12,14); 
lw_ico=rs.getString("expression"); 
author_email=rs.getString("author_email"); 
lw_class1=rs.getString("lw_class1"); 
lw_class2=rs.getString("lw_class2"); 
llink="reply.jsp?lw_class1="+lw_class1+"&lw_class2="+lw_ 
class2+"&zt_time="+lw_time+ 
"&zt_author="+author_email; 
linestr=" <TR bgColor=#d5e8fd> 
" + 
" <TD bgColor=#d5e8fd><IMG src=""+lw_ico+".gif 
"><A "+ 
" href=""+llink+" ">"+lw_title+"</A></TD> "+ 
" <TD align=middle>["+answer_num+"]</TD>"+ 
" <TD align=middle>"+click_num+"</TD>"+ 
" <TD align=middle><A href="mailto:"+author_ema 
il+"">"+lw_author+"</A></TD>"+ 
" <TD align=middle>"+st+"</TD></TR>"; 

out.println(linestr); 


rs.close(); 
//显示第pages页结束 
st="</TBODY></TABLE><BR>"; 
out.print(st); 

int iFirst=1,iLast=totalpages,iPre,iNext; 
if(pages<=1) iPre=1; 
else iPre=pages - 1; 

if(pages>=totalpages) iNext=totalpages; 
else iNext=pages + 1; 

int n=(int)(count/pagesize); 
if(n*pagesize<count) n++; 
if(n>1) 

//for(i=1;i<=n;i++) out.print("<a href=inquire.jsp?pages= 
"+i+">"+i+" </a>"); 
//out.print("<HR align=center noShade SIZE=1 width="95% 
">"); 
String lt1="返回主页",lt2="第一页",lt3="上一页",lt4="下一 
页",lt5="最后一页",lt6=""; 
lt6="<a href=http://www.zj.hn.cn>"+ lt1 + " </ 
a>"+ 
lurlt + "pages="+iFirst+"><FONT color=red>"+lt2+"&nbs 
p; </a>"+ 
lurlt + "pages="+iPre+"><FONT color=red>"+lt3+" 
</a>" + 
lurlt + "pages="+iNext+"><FONT color=red>"+lt4+" 
; </a>" + 
lurlt + "pages="+iLast+"><FONT color=red>"+lt5+" 
; </a>"; 
st=""+ 
" <TABLE align=center border=0 cellPadding=0 cellSpacing= 
0 width="95%"> "+ 
" <TBODY> <TR> <TD align=middle bgColor=#97badd width="1 
00%"><FONT color=#ff0000>"+ 
lt6+ 
" </FONT></TD></TR></TBODY></TABLE><BR> "; 

out.print(st); 




} catch (Exception e) { out.println("error: "+e); } 



%> 


<% 
//留言板界面尾部 
String lbottom=""; 
lbottom=lbottom+ 

"+ 
" <FORM action=guestbook.jsp method=post name=sign> 
"+ 
" <INPUT name=gbname type=hidden value=cnzjj_gt> 
"+ 
" <INPUT name=pages type=hidden value=1> 
"+ 
" <TABLE bgColor=#d5e8fd border=0 cellSpacing=1 width="95%"> 
"+ 

" <TBODY> 
"+ 
" <TR> 
"+ 
" <TD align=middle bgColor=#e6e6fa colSpan=2 noWrap><STRONG><FONT 
color=blue 
"+ 
" face=楷体_GB2312 size=5>发 表 意 见</FONT></STRONG> &nbs 
p; [加*的内容必须填写] </TD></TR> 
"+ 
" <TR> 
"+ 
" <TD noWrap width="45%"> 
"+ 
" <DIV align=left> 
"+ 
" <TABLE bgColor=#d5e8fd border=0 cellSpacing=1 width="100%"> 

"+ 
" <TBODY> 
"+ 
" <TR> 
"+ 
" <TD noWrap width="100%">*留言主题:<INPUT maxLength=40 n 
ame=lw_title 
"+ 
" size=36></TD></TR> 
"+ 
" <TR> 
"+ 
" <TD noWrap width="100%">*网上大名:<INPUT maxLength=18 n 
ame=lw_author 
"+ 
" size=36></TD></TR> 
"+ 
" <TR> 
"+ 
" <TD noWrap width="100%"> 主页标题:<INPUT maxLength 
=40 name=pagetitle 
"+ 
" size=36></TD></TR> 
"+ 
" <TR> 
"+ 
" <TD noWrap width="100%"> 主页地址:<INPUT maxLength 
=255 name=author_http 
"+ 
" size=36></TD></TR> 
"+ 
" <TR> 
"+ 
" <TD noWrap width="100%">*电子邮件:<INPUT maxLength=40 n 
ame=author_email 
"+ 
" size=36></TD></TR></TBODY></TABLE></DIV></TD> 
"+ 
" <TD noWrap vAlign=top width="55%"> 
"+ 
" <DIV align=left> 
"+ 
" <TABLE bgColor=#b6d7fc border=0 cellSpacing=1 width="100%"> 

"+ 
" <TBODY> 
"+ 
" <TR> 
"+ 
" <TD width="100%">请在下面填写你的留言:</TD></TR> 
"+ 

" <TR> 
"+ 
" <TD width="100%"><TEXTAREA cols=50 name=lw_content rows= 
7></TEXTAREA></TD></TR></TBODY></TABLE></DIV></TD></TR> 
"+ 
" <TR> 
"+ 
" <TD bgColor=#fbf7ea colSpan=2 noWrap>表情\
"+ 
" <INPUT name=gifface type=radio value=1 checked><IMG 
"+ 
" alt="1.gif (152 bytes)" height=15 src="1.gif" width=15> <I 
NPUT 
"+ 
" name=gifface type=radio value=2><IMG alt="2.gif (174 bytes)" 
height=15 
"+ 
" src="2.gif" width=15> <INPUT name=gifface type=radio value=3 
><IMG 
"+ 
" alt="3.gif (147 bytes)" height=15 src="3.gif" width=15> <I 
NPUT 
"+ 
" name=gifface type=radio value=4><IMG alt="4.gif (172 bytes)" 
height=15 
"+ 
" src="4.gif" width=15> <INPUT name=gifface type=radio value=5 
><IMG 
"+ 
" alt="5.gif (118 bytes)" height=15 src="5.gif" width=15> <I 
NPUT 
"+ 
" name=gifface type=radio value=6><IMG alt="6.gif (180 bytes)" 
height=15 
"+ 
" src="6.gif" width=15> <INPUT name=gifface type=radio value=7 
><IMG 
"+ 
" alt="7.gif (180 bytes)" height=15 src="7.gif" width=15> <I 
NPUT 
"+ 
" name=gifface type=radio value=8><IMG alt="8.gif (96 bytes)" 
height=15 
"+ 
" src="8.gif" width=15> <INPUT name=gifface type=radio value=9 
><IMG 
"+ 
" alt="9.gif (162 bytes)" height=15 src="9.gif" width=15> <I 
NPUT 
"+ 
" name=gifface type=radio value=10><IMG alt="10.gif (113 bytes) 
" height=15 
"+ 
" src="10.gif" width=15> <INPUT name=gifface type=radio value= 
11><IMG 
"+ 
" alt="11.gif (93 bytes)" height=15 src="11.gif" width=15> < 
INPUT 
"+ 
" name=gifface type=radio value=12> <IMG alt="12.gif (149 bytes 
)" height=14 
"+ 
" src="12.gif" width=15> 
"+ 
" <INPUT 
"+ 
" name=gifface type=radio value=13> <IMG alt="13.gif (149 bytes 
)" height=14 
"+ 
" src="13.gif" width=15> 
"+ 
" <INPUT 
"+ 
" name=gifface type=radio value=14> <IMG alt="14.gif (149 bytes 
)" height=14 
"+ 
" src="14.gif" width=15> 
"+ 
" <INPUT 
"+ 
" name=gifface type=radio value=15> <IMG alt="15.gif (149 bytes 
)" height=14 
"+ 
" src="15.gif" width=15> 
"+ 
" <INPUT 
"+ 
" name=gifface type=radio value=16> <IMG alt="16.gif (149 bytes 
)" height=14 
"+ 
" src="16.gif" width=15> </TD> 
"+ 
" </TR> 
"+ 
" <TR> 
"+ 
" <TD align=middle colSpan=2 noWrap><INPUT name=cmdGO onclick="re 
turn ValidInput()" type=submit value="提 交"> 
"+ 

" <INPUT name=cmdPrev onclick="return ValidInput()" type=submit valu 
e="预 览"> 
"+ 
" <INPUT name=cmdCancel type=reset value="重 写"> <INPU 
T name=cmdBack onclick=javascript:history.go(-1) type=button value="返 
回"> 
"+ 
" </TD></TR></TBODY></TABLE></FORM></CENTER></DIV> "; 
out.print(lbottom); 

%> 

</body></html> 

上一页  [1] [2] [3] [4] 下一页

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)