JSP课程设计模板留言板设计文档格式.docx
《JSP课程设计模板留言板设计文档格式.docx》由会员分享,可在线阅读,更多相关《JSP课程设计模板留言板设计文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
留言板基本信息:
主要包括、标题、时间、容。
2.5数据库的物理设计
根据系统需求及逻辑结构设计,本基于SQLServer2008数据库,建立如下数据库表。
说明:
用户的基本情况,logname设为主键。
列名
数据类型
长度
可否为空
注释
logname
Char
10
NotNull
用户名
mima
20
密码
tel
15
Null
联系
Email
Varchar
50
电子信箱
Realname
8
Null
真实
说明:
留言板的基本情况,name设为主键。
Name
Notnull
Title
标题
Time
Datetime
Content
VarChar
100
容
2.6系统功能分析
留言板基于用户验证登录的方式实现用户信息管理、留言板信息管理及留言容的保存等功能。
其功能结构如图:
3系统实现
3.1系统功能模块设计
留言板主要包含用户登录、用户注册、留言、留言板的查询等模块。
1、进入界面
进入有多个选项供用户使用
2、用户注册
用户在使用留言板之前要先进行注册,在注册之后才可以进行操作。
3、用户登录
留言板理采用用户名及密码验证方式,进入留言板前,用户必须在登录页面输入用户名及密码,只有验证通过的用户方可进入留言板操作主页面。
3、留言板信息管理
包含3个功能模块:
留言容基本信息添加与删除处理和修改。
(1)添加留言板容
(2)留言成功后程序提示
(3)留言查询
4、系统信息维护模块
包括用户基本信息管理与留言容的管理。
其中,用户管理包括用户的添加、删除、密码修改。
3.2系统目标分析
留言板主要提供用户信息的管理以及留言板容的管理,其主要功能如下。
●登录管理模块
用户名及密码验证处理
●会员注册信息管理模块
实现会员基本信息的维护,功能如下:
○录入会员个人信息。
○会员信息列表及修改、删除处理。
○会员信息查询。
●留言板管理模块
实现留言容的维护,功能如下:
○留言板的容维护和加密。
○留言板容基本信息维护:
添加、删除。
○留言板容的查询
系统操作流程图:
Y
登录密码框
判断密码是否正确输入?
留言板系统
操作管理
结束
开始
N
保存操作结果
4编成实现
(1)Head.txt
<
%pagecontentType="
text/html;
charset=GB2312"
%>
divalign="
center"
>
H2>
留言板<
/H2>
tablecellSpacing="
1"
cellPadding="
width="
760"
align="
border="
0"
trvalign="
bottom"
td>
Ahref="
register.jsp"
fontsize=2>
用户注册<
/font>
/A>
/td>
login.jsp"
用户登录<
submit.jsp"
showMessage.jsp"
留言查询<
/tr>
/Font>
/table>
/div>
(2)Index.jsp
html>
head>
title>
/title>
/head>
%includefile="
head.txt"
center>
h1>
FontSize=4color=green>
欢迎使用留言板<
/h1>
imagesrc=IMG_0379.JPG"
width=300height=200>
/image>
/center>
/body>
/html>
(3)Register.jsp
HEAD>
/HEAD>
%taglibtagdir="
/WEB-INF/tags"
prefix="
register"
注册页面
HTML>
BODYbgcolor=cycan>
Fontsize=2>
CENTER>
FORMaction="
"
name=form>
table>
输入您的信息,用户名中不能含有符号。
tr>
用户名称:
Inputtype=textname="
logname"
*<
设置密码:
mima"
联系:
tel"
真是:
realname"
电子:
email"
Inputtype=submitname="
g"
value="
提交"
/Form>
/CENTER>
%
Stringlogname=request.getParameter("
);
Stringmima=request.getParameter("
Stringtel=request.getParameter("
Stringrealname=request.getParameter("
Stringemail=request.getParameter("
register:
Registerlogname="
%=logname%>
mima="
%=mima%>
tel="
%=tel%>
realname="
%=realname%>
email="
%=email%>
/>
Center>
P>
返回的信息:
%=backMess%>
/Center>
/Body>
/HTML>
(4)Register.tag
%tagimport="
java.sql.*"
%tagpageEncoding="
gb2312"
%attributename="
required="
true"
%variablename-given="
backMess"
scope="
AT_END"
%booleanboo=true;
if(logname!
=null){
if(logname.contains("
"
)||logname.contains("
))
boo=false;
}
if(boo){
try{Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
catch(ClassNotFoundExceptione){
out.print(e);
//response.sendRedirect("
error.jsp"
Connectioncon;
Statementsql;
ResultSetrs;
Stringcondition="
INSERTINTOkuhuVALUES"
;
condition+="
("
+"
+logname;
+mima;
+tel;
+realname;
+email;
try{
byte[]b=condition.getBytes("
iso-8859-1"
condition=newString(b);
Stringuri="
jdbc:
odbc:
mymoon"
con=DriverManager.getConnection(uri,"
sql=con.createstatement();
sql.executeUpdate(condition);
con.close();
byte[]c=logname.getBytes("
logname=newString(c);
Stringmess=logname+"
注册成功"
jspContext.setAttribute("
mess);
catch(Exceptione){
没有填写用户名或用户名已经被注册"
else{
注册失败(用户名中不能有符号)"
(5)Login.jsp
login"
登陆页面
BODYbgcolor=cyan>
BR>
tableborder=2>
th>
请您登陆<
/th>
FROMaction="
Method="
post"
登陆名称:
输入密码:
if(logname==null){
logname="
if(mima==null){
login:
loginlogname="
mima="
(6)Loglin.tag
%
byte[]a=logname.getBytes("
logname=newString(a);
byte[]b=nima.getBytes("
mima=newString(b);
Stringmess="
try{Class.forname("
stringloginMess=(String)session.getAttribute("
if(loginMess==null){
loginMess="
********************"
Stringstr=logname+"
if(loginMess.equal(str)){
mess=logname+"
已经登陆"
boolenboo=(logname.length()>
0)&
&
(mima.length()>
0);
Stringcondition=
select*fromkehuwherelogname="
+
logname+"
andmima="
+mima+"
sql=con.createStatement();
rs=sql.executeQuery(condition);
booleanm=rs.next();
if(m==true){
登陆成功"
str=logname+"
session.setAttribute("
str);
mess="
您输入的用户名"
+logname+"
不存在,或密码错误"
else
{
还没有登陆或您输入的用户名不存在或密码错误。
catch(SQLExceptionexp){
问题:
+exp;
(7)Submit.jsp
BODY>
messagePane.jsp"
method="
name="
form"
p>
输入您的名字:
Inputtype="
text"
peopleName"
输入您的留言标题:
Title"
输入您的留言:
TextAreaname="
messages"
ROWs="
10"
COLS=36WRAP="
physical"
/TextArea>
submit"
提交信息"
/FROM>
form1"
查看留言板"
look"
/BODY>
(8)messagePane.jsp
Charset=GB2312"
%pageimport="
java.util.*"
%!
Vectorv=newVector();
ServletContextapplication;
synchronizedvoidsendMessage(Strings){
application=getServletContext();
v.add(s);
application.setAttribute("
Mess"
v);
%Stringname=request.getParameter("
Stringtitle=request.getParameter("
Stringmessages=request.getParameter("
if(name==null){
name="
guest"
+(int)(Math.random()*10000);
if(title==null){
title="
无标题"
if(messages==null){
messages="
无信息"
Stringtime=newDate().toString();
Strings="
#"
+name+"
+title+"
+time+"
+messages+"
sendMessage(s);
out.print("
您的信息已提交!
submit.jsp>
返回
查看留言板
(9)showMessage.jsp
%pagecontentType="
%pageimport="
%Vectorv=(Vector)application.getAttribute("
tdbagcolor=cyan>
留言者"
留言标题"
留言时间"
留言容"
for(inti=0;
i<
v.size();
i++){
Stringmessage=(String)v.elementAt(i);
StringTokenizerfenxi=newStringTokenizer(message,"
intnumber=fenxi.countTokens();
for(intk=0;
k<
number;
k++){
Stringstr=fenxi.nextToken();
if(k<
number-1){
tdbgcolor=cyan>
+str+"
TextArearows=3cols=12>
/t