BBS网络留言板设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BBS网络留言板设计与实现
姓名:
班级:
学号:
指导老师:
年月
一、系统分析
1、开发背景
当今网络的时代,人与人之间的交流从原来的面对面交流,慢慢借助于现代计算机软件技术和网络技术演变成一种远程的,存在于网络上的交流,这种远程交流其中一种方式就是通过使用BBS留言板进行,有了这样的交流,人与人之间的知识文化就可以很快地传播。
2、功能分析
在留言时,用户需要输入留意的标题、留言者的姓名、Email和留言的内容。用户可以使用留言板发表自己的观点,也可以对已有的留言进行浏览。这就需要一个单独的页面去显示所有的留言。
二、系统开发思想
本系统采用JSP+JavaBean+Servlet+JDBC的开发模式(如图1所示)进行开发,其中JSP是负责页面和表单提交,它提交给Servlet,Servlet从JSP页面取值并赋值给变量,再调用增删改的方法,而这些方法是写在JavaBean里的,JavaBean接受Servlet传过来的变量值来进行数据库的增删改查,再将结果返回到Servlet中 ,JDBC用于连接MySQL数据库并对数据库进行存储。
图1. 开发模式
以MVC的概念来看,JSP是View层,用以提交用户录入数据或展示用户想要看到的数据,Servlet就是Controller层,页面展示所需要的数据由Servlet 调用JavaBean的方法获取,View层提交上来的数据也会传送给Servlet,在Servlet中对提交上来的数据进行必要的非业务逻辑的处理后,将数据以参数形式传给调用的JavaBean的方法。JavaBean就是Module层,它封装了一些可重用的业务逻辑和数据库操作功能,被Servlet调用,实现业务功能处理或数据库操作。
三、数据库设计
本系统使用的是MySQL数据库来完成设计的,所以具备一些MySQL的基础知
识有助于对该数据库设计的理解,与SQL Server相比,SQL语言没什么大的区别,基本是通用的。
除了在数据库中保留留言者输入的信息外,一般来说还要保存留言的具体时间,这样就需要在数据库中创建一个表,并将其命名为message,表结构如表2所示:
四、系统实现
1、表示留言数据的JavaBean
用JavaBean来表示留言板数据。留言板上输入的数据在存入数据库之前,一般先奖其存入该JavaBean中;从数据库取出来的数据在被JSP使用之前,也是先将其放在JavaBean中的,这就是JavaBean的主要功能。在编写这种JavaBean时,一般是将数据库中的字段与JavaBean的属性对应起来,一个字段对应一个属性。每个属性都有get和set方法。代码如下:
package com.examp.ch10;
//对这类JavaBean类的命名在本书中约定以BO结尾
public class MessageBO implements java.io.Serializable
{
private String name,email,title,content;//属性一般都是私有类型的
private java.sql.Date date;
public void setName(String name)//name属性的set方法
{
=name;
}
public void setEmail(String email)
{
this.email=email;
}
public void setTitle(String title)
{
this.title=title;
}
public void setContent(String content)
{
this.content=content;
}
public String getName()//name属性的get方法
{
return ;
}
public String getContent()
{
return this.content;
}
public String getTitle()
{
return this.title;
}
public String getEmail()
{
return this.email;
}
public java.sql.Date getDate()
{
return this.date;
}
public void setDate(java.sql.Date date)
{
this.date=date;
}
}
2、用于将表单记录存入数据库的Servlet
HTML文件向Servelt发出请求,Servlet接收HTTP请求,然后执行数据库操作,将表单中的数据存入数据库。操作完成后如果有需要,把操作的结果保存到HTTP请求中,最后调用JSP页面显示。首先创建该Servlet,命名为AddMassageServlet.java,代码如下:
package com.examp.ch10;
import javax.servlet.*;
import javax.servlet.http.*;
import com.mysql.jdbc.Driver;
import java.sql.*;
import java.util.*;
import java.io.*;
public class AddMessageServlet extends HttpServlet
{
private Connection con;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
//从请求中获取表单中填写的数据
String name=request.getParameter("name");
String mail=request.getParameter("email");
String title=request.getParameter("title");
String content=request.getParameter("content");
if(name==null)
name="";
if(title==null)
title="";
if(content==null)
content="";
if(mail==null)
mail="";
try
{
//用于向表message中插入一条记录
PreparedStatement stm=con.prepareStatement("insert into message values(?,?,?,?,?)");
stm.setString(1,title);//设置第一个“?”为title
stm.setString(2,name);
if(mail.length()==0)
stm.setString(5,null);
else stm.setString(5,mail);