基于JSP的留言板课程设计含源文件Word格式文档下载.docx
《基于JSP的留言板课程设计含源文件Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于JSP的留言板课程设计含源文件Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
具有这两张表的一个视图:
首先建立关系如下:
视图如下:
页面设计
1网站的流程体如下:
2各页面功能实现说明:
1)系统提供的服务(top.jsp)
程序的主要实现根据等级设置用户权限,是用脚本言语(javascript)来显示系统的当前
时间,并通过VmarqUee>
来实现滚动的显示,主要代码如下:
<
%@PageContentType="
text∕html;
CharSet=gb2312"
Ianguage="
java"
import="
java.sql.*"
errorPage="
"
%>
%@includefile="
connDB.jsp"
jsp:
includepage="
coUnter.jsp"
/>
%
ReSUItSetrs_USer=Stmt.executeQuery("
select*fromtb_USerWhere
USername='
+session.getAttribute("
username"
)+"
'
andstatus='
版主'
);
booleaneof=rs_user.next();
%>
scriptIanguage="
javascript"
>
functionclockon(){
Vardate=newDate();
VarYY=date.getYear();
VarMM=date.getMonth()+1;
VarDD=date.getDate();
VarKK=date.getDay();
VarHH=date.getHours();
Varmm=date.getMinutes();
VarSS=date.getSecOnds();
if(MM<
10)MM="
0"
+MM;
if(DD<
10)DD="
O"
+DD;
if(HH<
10)HH="
+HH;
if(mm<
10)mm="
+mm;
if(SS<
10)SS="
+SS;
SWitCh(KK){
CaSe1:
KK="
星期一"
;
break;
CaSe2:
星期二"
CaSe3:
星期三"
CaSe4:
星期四"
CaSe5:
星期五"
break;
CaSe6:
星期六"
CaSe0:
星期日"
}
VarStr_date="
系统公告:
+YY+"
年"
+MM+"
月"
+DD+"
日"
+KK+"
+HH+"
:
+mm+"
if(document.all){
div_date.innerHTML=str_date;
Vartimer=setTimeout("
clockon()"
200);
∕script>
tableWidth="
777"
height="
124"
border="
align="
center"
cellpadding="
cellspacing="
>
tr>
tdalign="
valign="
top"
5"
bgcolor="
#FFCCCC"
/td>
/tr>
tdWidth="
790"
align="
center"
valign="
<
imgsrc="
images∕banner.gif'
Width="
500"
∕td>
tdalign="
100%"
cellspacing="
cellpadding="
tdheight="
∕table>
∕tr>
VtableWidth="
21"
。
backgroUnd="
images∕revigate.GIF"
tralign="
middle"
%if(session.getAttribute("
username"
)!
=null){%>
104"
ahref="
Topic_add.jsp"
签写留言<
∕a>
101"
modify.jsp"
修改资料<
%}else{%>
reg.jsp"
用户注册<
%}%>
=null){%>
Logout_User.jsp"
注销用户<
#"
Login_User.jsp'
”,'
Width=300,height=200'
用户登录<
index1.jsp"
查看留言<
刷新页面<
%if(eof){%>
注销版主登录<
%}else{
Login_manager.jsp'
"
'
width=300,height=200'
版主登录
47"
border="
CellSPaCing="
2"
colspan="
6"
18"
17"
left"
images/SPeaker.GIF"
Width="
16"
height="
290"
div>
∕div>
469"
right"
=null){
out.println("
["
]您好!
您不想说点什么吗?
如
果想请点击签写留言”"
);
}else{
您好!
如果您想说点什么,那么请先注册或登录!
"
}%>
tdcolspan="
3"
marqueedirection="
scrollamOUnt="
scrolldelay="
欢迎访问“在水一方”留言簿!
!
!
已经有
[<
%=application.getAttribute("
count"
)%>
]人访问过本网站!
∕marquee>
stmt.close();
con.close();
2)查看留言(index1.jsp)
将所有的;
留言记录通过循环显示在客户端,并将某条留言的回复记录和回复者的姓名
%@PageContentType="
Ianguage="
import="
Statementstmt2
=con.createStatement(ResultSet.TYPE_SCROLL_lNSENSlTlVE,ResultSet.CONCUR_READ_ONLY);
Statementstmt3
ReSUItSetrs=stmt.executeQuery("
select*fromv_board"
ReSUItSetrs_reply=nuII;
ReSUItSetrs_USer=Stmt2.executeQuery("
seIect*fromtb_USerWhere
+session.getAttribUte("
Username"
andStatUS='
SyStem.oUt.print("
查询成功!
//ResUltSetrs_topic=stmt.execUteQUery("
select*fromtb_topic"
booleantj=rs_User.next();
StringStr=(String)reqUest.getParameter("
Page"
if(str==nuII){
str="
intPageSiZe=5;
//每页显示的数据条数
rs.last();
intReCordCoUnt=rs.getRow();
//获得记录的总条数
intmaxPage=0;
maxPage=(RecordCoUnt%pagesize==0)?
(ReCOrdCOUnt/pagesize):
(ReCOrdCOUnt/pagesize+1)
〃得到的是总页数
intPage=Integer.parselnt(str);
//当前时第几页
if(Page<
1){
Page=1;
if(((Page-1)*pagesize+1)>
RecordCount){
Page=maxPage;
rs.absolute((Page-1)*pagesize+1);
for(inti=1;
i<
=pagesize;
i++){
inta=rs.getInt("
ID"
192"
cellspacing="
115"
rowspan="
align="
%=rs.getString("
UserName"
(<
status"
)
p>
%=rs.getString("
Sex"
生
表情:
face"
center"
bottom"
hr
SiZe="
1px"
color="
447"
StyIe="
padding-left:
10pt"
img
src="
images∕email.GIF"
alt="
Email:
Email"
images∕home-menu.gif'
个人主页:
homepage"
26"
20"
images∕atusers.gif'
OICQ号码:
OICQ"
14"
images∕datetime.gif"
alt="
datetime"
&
nbsp;
留言时间:
195"
padding-lefM0pt"
%out.println("
ahref='
reply.jsp?
TOPiCID="
+a+"
回复
nbsp;
/a>
if(tj){out.println("
Del.jsp?
删除
padding-left:
colspan="
hrWidth="
98%"
color="
SiZe="
1"
109"
StyIe="
padding-lefL10pt"
pre>
cOntent"
∕pre>
获取完整资料Q1225467431指导毕业设计课程设计代开发程序,代写文档
rs_reply=stmt3.executeQuery("
select*fromtb_replyWhereTOPiCID="
+a);
While(rs_reply.next()){
td
39"
valign="
%=rs_reply.getString("
replyuser"
回复<
20%"
colspan="
Style="
x%=rs_reply.getString("
content"
1Opt"
/table>
br>
try{
if(!
rs.next()){break;
}catch(ExceptiOne){}
cellspacing="
当前页数:
%=Page%>
∕<
%=maxPage%>
]&
%if(Page>
1){%>
index1.jsp?
Page=1"
第一页<
a
href="
index1.jsp?
Page=<
%=Page-1%>
上一页<
maxPage){
index1.jsp?
%=Page+1%>
下一页<
最后一页&
3)用户登陆(Login_User_deal.jsp)
在top.jsp中设计的是当用户单击登录连接的时候,弹出一个小的对话框来提供用户的
登录功能,所以在在个页面中需要刷新用户登录后的页面,用到了脚本语言(javascript)中
的一段代码:
open.location.reload().管理员登录(login_manager_deal.jsp)与此页面的代码相似,下面就不再写了。
主要的代码如下:
text/html;
request.setCharacterEncoding("
GB2312"
StringUSername=request.getParameter("
StringPWD=request.getParameter("
PWD"
if(username!
="
){%>
USerName='
+username+"
andstatus='
用户'
if(rs.next()){
StringrsPWD=rs.getString("
if(PWD.equals(rsPWD)){%>
scriptlanguage="
opener」oCation.reload();
Window.close();
/script>
SeSSion.SetAttribUte("
username);
}else{%>
alert("
您输入的密码不正确,请重新输入!
history.back();
%}
}else{%>
您输入的用户名不正确,请重新输入!
4)留言回复(reply_deal.jsp)
回复留言的关键如何准确地将回复内容和留言关联起来。
本例通过获得留言查看
(index1.jsp)页面中的留言回复连接所传递过来的参数TOPiCTD(留言记录ID),来完成回
复功能。
添加留言CToPiC_add_dej)于此相似J在次就不在介绍。
主要程序代码如下:
代开发程序,代写文档
html>