电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网络编程 -> JSP教程
jsp留言板源代码三: 给jsp初学者._jsp实例
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
作 者: precom (皮蛋) 2000.12.10
reply.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="",updatesql="",lwhere="",insertsql="",st=
"";

String lw_title="",lw_author="",pagetitle="",author_http="",author_e
mail="",lw_ico="0",
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=reply.jsp?";

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

/*
Enumeration e = request.getParameterNames();
while (e.hasMoreElements()) {
String name = (String) e.nextElement();
*/
try{
//取显示的页页序数
pages = new Integer(request.getParameter("pages")).intValue();
} catch (Exception e) {}
try{
//取查询参数
lw_class1=new String(request.getParameter("lw_class1").getBytes
("ISO8859_1"));
lw_class2=new String(request.getParameter("lw_class2").getBytes
("ISO8859_1"));
zt_time=new String(request.getParameter("zt_time").getBytes("IS
O8859_1"));
zt_author=new String(request.getParameter("zt_author").getBytes
("ISO8859_1"));

lwhere=" where ( lw_class1="+lw_class1+" and lw_class2="+lw_
class2+
" and (lw_time="+ zt_time+" or zt_time="+zt_time+
") and (author_email="+zt_author+" or zt_author="+zt
_author+") ) ";
lurlt=lurlt+"lw_class1="+lw_class1+"&lw_class2="+lw_class2+"&zt
_time="+zt_time+
"&zt_author="+zt_author+"&";
//out.print(lwhere);
} catch (Exception e) { //out.print("error1: "+e+"<hr>");
}

try{
//取得参数 留言内容
lw_class1=new String(request.getParameter("lw_class1").getBytes("ISO
8859_1"));
lw_class2=new String(request.getParameter("lw_class2").getBytes("ISO
8859_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"));
zt_time=new String(request.getParameter("zt_time").getBytes("ISO8859
_1"));
zt_author=new String(request.getParameter("zt_author").getBytes("ISO
8859_1"));
lw_ico=request.getParameter("gifface");

} catch (Exception e) {}

try{
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_type=""+"c"; //从贴
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(zt_author.length()>50) zt_author=zt_author.substring(0,40);
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{
st=testInq.executeUpdate(insertsql);
if(st.indexOf("executeUpdate ok")<0)
out.print("msg="+st);
else
{
updatesql="update guestbook set answer_num=answer_num + 1 "+l
where;
//增加回复人数统计
try{
st=testInq.executeUpdate(updatesql);
if(st.indexOf("executeUpdate ok")<0)
out.print("msg="+st);
}catch (Exception e) { }
}
}catch (Exception e) { out.print("留言出错:"+e);}
} catch (Exception e) {}
%>

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


<%
//显示最近时间发表的一页留言
countsql="select count(lw_title) from guestbook "+lwhere;
inqsql ="select lw_title,lw_author,lw_time,lw_content,author_ip, "+
" author_email from guestbook "+lwhere+" order by lw_time desc
" ;
updatesql="update guestbook set click_num=click_num + 1 "+lwhere;

//增加浏览人数统计
try{
st=testInq.executeUpdate(updatesql);
if(st.indexOf("executeUpdate ok")<0)
out.print("msg="+st);
}catch (Exception e) { }

//out.print(inqsql);
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+"<br>" );
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+"<br>");

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页开始
st= " <CENTER> <TABLE border=0 cellSpacing=1 width=\"95%\"
> <TBODY> ";
out.print(st);
String linestr="";
for(i=1;i<=pagesize;i++)
if(rs.next())
{
lw_title=rs.getString("lw_title");
lw_author=rs.getString("lw_author");
lw_time=rs.getString("lw_time");
lw_content=rs.getString("lw_content");
author_ip=rs.getString("author_ip");
author_email=rs.getString("author_email");
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);
try{lw_content=testInq.addBr(testInq.removeComment(lw_co
ntent));} catch (Exception e) {}
linestr =""+
" <TR bgColor=#bed9fc> "+
" <TD align=left width=\"75%\"><FONT "+
" color=#0000cd>留言主题:</FONT><STRONG>"
+lw_title+"</STRONG></TD> "+
" <TD align=left width=\"25%\"><FONT color=
#0000cd>留言时间:</FONT>"+st+"</TD></TR> "+
" <TR bgColor=#e7f1fe> "+
" <TD colSpan=2 "+
" width=\"700\" wrap=yes><BR>"+lw_content+"
<BR><br></TD></TR> "+
" <TR bgColor=#bed9fc> "+
" <TD align=right colSpan=2 width=\"100%\">
<FONT "+
" color=#0000cd>作者:</FONT>"+lw_author+"
<FONT "+
" color=#0000cd>来源:</FONT>"+author_ip+"
</TD></TR>";
out.println(linestr);

}
rs.close();
//显示第pages页结束
st= " </TBODY></TABLE></CENTER></DIV><BR> "+

" <CENTER><A "+
" href=\"guestbook.jsp\"><FONT "+
" color=blue face=楷体_GB2312 size=4>返回留言板
首页</FONT></A></CENTER><BR> "+
" <HR align=center noShade SIZE=1 width=\"95%\"
> ";

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+
" <center> \n"+
" <FORM action=reply.jsp method=post name=sign> \n"+
" <INPUT name=lw_class1 type=hidden value=cnzjj_gt> \n"+
" <INPUT name=lw_class2 type=hidden value="+lw_class2+"> \n"
+
" <INPUT name=pages type=hidden value=1> \n"+
" <INPUT name=zt_time type=hidden value="+zt_time+"> \n"+
" <INPUT name=zt_author type=hidden value="+zt_author+"> \n"
+
" <TABLE bgColor=#d5e8fd border=0 cellSpacing=1 width=\"95%\"> \n"+

" <TBODY> \n"+
" <TR> \n"+
" <TD align=middle bgColor=#e6e6fa colSpan=2 noWrap><STRONG><FONT
color=blue \n"+
" face=楷体_GB2312 size=5>发 表 意 见</FONT></STRONG> &nbs
p; [加*的内容必须填写] </TD></TR> \n"+
" <TR> \n"+
" <TD noWrap width=\"45%\"> \n"+
" <DIV align=left> \n"+
" <TABLE bgColor=#d5e8fd border=0 cellSpacing=1 width=\"100%\">
\n"+
" <TBODY> \n"+
" <TR> \n"+
" <TD noWrap width=\"100%\">*留言主题:<INPUT maxLength=40 n
ame=lw_title \n"+
" size=36></TD></TR> \n"+
" <TR> \n"+
" <TD noWrap width=\"100%\">*网上大名:<INPUT maxLength=18 n
ame=lw_author \n"+
" size=36></TD></TR> \n"+
" <TR> \n"+
" <TD noWrap width=\"100%\"> 主页标题:<INPUT maxLength
=40 name=pagetitle \n"+
" size=36></TD></TR> \n"+
" <TR> \n"+
" <TD noWrap width=\"100%\"> 主页地址:<INPUT maxLength
=255 name=author_http \n"+
" size=36></TD></TR> \n"+
" <TR> \n"+
" <TD noWrap width=\"100%\">*电子邮件:<INPUT maxLength=40 n
ame=author_email \n"+
" size=36></TD></TR></TBODY></TABLE></DIV></TD> \n"+
" <TD noWrap vAlign=top width=\"55%\"> \n"+
" <DIV align=left> \n"+
" <TABLE bgColor=#b6d7fc border=0 cellSpacing=1 width=\"100%\">
\n"+
" <TBODY> \n"+
" <TR> \n"+
" <TD width=\"100%\">请在下面填写你的留言:</TD></TR> \n"+

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

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

%>

</body></html>

作 者: precom (皮蛋) 2000.12.10

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·如何使用jsp+mysql创建留言本(三)_jsp实例
·用连接池提高servlet访问数据库的效率(2)_jsp技巧
·使用javabean创建您的网上日历本(1)_jsp实例
·使用javabean创建您的网上日历本(2)_jsp实例
·打开页面就是全屏的方法_jsp技巧
·如何在jsp中使用jdbc来联结mysql_jsp技巧
·如何用jsp读取mysql数据库_jsp技巧
·如何使用jsp访问mysql数据库_jsp技巧
·在linux上建jsp環境_jsp教程
·jsp数据库操作例程(use bean)_jsp实例

最新文章
·通过jdbc连接oracle的十大灵活技术_jsp技巧
·jdbc之代码重复使用_jsp技巧
·提升jsp页面响应速度的七大秘籍绝招_jsp技巧
·jdbc连sql server数据库步骤及有一项操作已被挂起,需重新启动计算机解决办法_jsp技巧
·解决jsp中使用request乱码问题_jsp技巧
·详细的jsp分页(oracle+jsp+apache)_jsp技巧
·jsp中与标签要用不同的方式获得数据库中的数据_jsp技巧
·jsp2.0新特性_jsp文摘
·jsp从数据库取得数据作为下拉菜单选项的实现 _jsp技巧
·实现session登陆时间的验证,验证用户登录页面的一个监听器_jsp技巧


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号