jsp留言板(给初学者).doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 留言板 初学者
- 资源描述:
-
往链点点通共享资源,了解更多请登录www.WL jsp留言板源代码一: 给jsp初学者. 2000-12-18 00:00 T|T jsp留言板源代码一: 给jsp初学者. 作 者: precom (皮蛋) oracle数据表创建. create table guestbook ( lw_title varchar2(100) not null, --留言主题 lw_author varchar2(20) not null, --网上大名 pk author_http varchar2(40) , --主页地址 author_email varchar2(40) not null,--电子信箱 pk expression varchar2(2) not null,--表情 lw_time varchar2(14) not null,--发表回应时间 answer_num number(3) not null,--回应数 click_num number(4) not null,--点击数 author_ip varchar2(16) ,--来源ip lw_class1 varchar2(10) not null,--留言板大类 pk lw_class2 varchar2(20) not null,--论坛栏目 pk lw_type varchar2(1) not null,--留言类别,即是否为主贴 zt_time varchar2(14) ,--主贴时间 zt_author varchar2(40) ,--主贴email lw_content varchar2(4000) ,--内容 constraint pk_guestbook primary key(lw_class1,lw_class2,lw _time,lw_author) ) storage (initial 5M next 5M pctincrease 1); 本文来自: 站长之家() 详细出处参考: jsp留言板源代码二: 给jsp初学者. 2000-12-18 00:00 T|T 作 者: precom (皮蛋) 2000.12.10 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> \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); %> <% //留言板界面首部 String ltop=" <DIV align=center> \n"+ " <CENTER> \n"+ " <FORM action=guestbook.jsp method=post name=frmsearch> \n"+ " <INPUT name=gbname type=hidden value=cnzjj_gt> \n"+ " <TABLE align=center border=0 cellSpacing=1 width=\"95%\"> \n"+ " <TBODY> \n"+ " <TR> \n"+ " <TD bgColor=#336699 colSpan=2 width=\"100%\"> \n"+ " <P align=center><FONT color=#ffffff face=楷体_GB2312 \n"+ " size=5>欢迎远方的朋友来张家界旅游观光</FONT></P></TD></TR> \n" + " <TR bgColor=#6699cc> \n"+ " <TD align=left noWrap width=\"50%\">主页: <A \n"+ " href=\"\" target=_blank><FONT \n"+ " color=#ffffff>张家界旅游</FONT></A> 管理员: <A \n" + " href=\"mailto:dzx@\"><FONT color=#ffffff> 一民</FONT></A> \n"+ " >><A \n"+ " href=\" \"><FONT \n"+ " color=#ffffff>管理</FONT></A> >><A \n"+ " href=\" \"><FONT \n"+ " color=#ffffff>申请</FONT></A> </TD> \n"+ " <TD align=right width=\"50%\"><SELECT class=ourfont name=range s ize=1> \n"+ " <OPTION selected value=0>按主题</OPTION> <OPTION value=1>按内 容</OPTION> \n"+ " <OPTION value=2>按作者</OPTION> <OPTION value=3>按日期</OPTI ON> <OPTION \n"+ " value=4>按主题&内容</OPTION></SELECT> <INPUT name=findst r> <INPUT name=search onclick=\"return ValidSearch()\" type=submit val ue=\"搜 索\"> \n"+ " </TD></TR></TBODY></TABLE></FORM> \n"+ " <HR align=center noShade SIZE=1 width=\"95%\"> \n"+ " </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+"<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页开始 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> \n" + " <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=>"+ 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+ " \n"+ " <FORM action=guestbook.jsp method=post name=sign> \n"+ " <INPUT name=gbname type=hidden value=cnzjj_gt> \n"+ " <INPUT name=pages type=hidden value=1> \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> <展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




jsp留言板(给初学者).doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/7676178.html