首页后端开发其他后端知识jsp留言板源代码二: 给jsp初学者.

jsp留言板源代码二: 给jsp初学者.

时间2024-02-07 19:51:03发布访客分类其他后端知识浏览287
导读:收集整理的这篇文章主要介绍了jsp留言板源代码二: 给jsp初学者.,觉得挺不错的,现在分享给大家,也给大家做个参考。 作 者: PRecom (皮蛋 2000.12.10guestB...
收集整理的这篇文章主要介绍了jsp留言板源代码二: 给jsp初学者.,觉得挺不错的,现在分享给大家,也给大家做个参考。 作 者: 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=\"http://www.zj.hn.cn\" target=_blank> FONT \n"+
" color=#ffffff> 张家界旅游/FONT> /A> 管理员: A \n"
+
" href=\"mailto:dzx@mail.zj.hn.cninfo.net\"> FONT color=#ffffff>
一民/FONT> /A> \n"+
" > > A \n"+
" href=\"http://www.zj.hn.cn \"> FONT \n"+
" color=#ffffff> 管理/FONT> /A> > > A \n"+
" href=\" http://www.zj.hn.cn \"> 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*pagesizecount) 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+
" \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> 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>
您可能感兴趣的文章:
  • JS实现留言板功能
  • js使用DOM操作实现简单留言板的方法
  • jsp留言板源代码三: 给jsp初学者.
  • JS+CSS模拟可以无刷新显示内容的留言板实例
  • JS实现留言板功能[楼层效果展示]
  • js 实现的可折叠留言板(附源码下载)
  • JS实现简易留言板(节点操作)
  • 本人ajax留言板的源程序 不错的应用js
  • 用ReactJS和Python的Flask框架编写留言板的代码示例
  • JavaScript DOM实现简单留言板

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: jsp留言板源代码二: 给jsp初学者.
本文地址: https://pptw.com/jishu/604483.html
一个开发人员眼中的JSP技术(下) JSP教程(四)-JSP Actions的使用

游客 回复需填写必要信息