BBS网络留言板设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档