回复信息表如表3-3所示:
表3-3 回复信息表(reply) 字段名 ReplyID(主键) content Titile publishTime modifyTime userId topicId 类型(值) Int(10) Varchar(5000) Int(10) Varchar(20) Datetime int int 说明 ID 回复内容 标题 回复时间 修改回复时间 用户id 主题id
版块表如表3-4所示:
表3-4 版块表(channel) 字段名 channelId(主键) channelName userId 类型(值) int varchar(30) int 说明 版块id 版块名称 版主姓名
16
第4章 论坛系统实现
4.1系统各部分的实现方法
从系统功能模块划分中可以看出,系统总体上有4个功能模块组成。各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于管理员和用户的操作。在介绍系统各模块的实现方法之前,首先介绍系统与数据库的连接方式——使用JavaBean连接连接在服务器tomcat里配置的连接池。再介绍系统主要部分的实现方法。 4.1.1创建与数据库的连接
配置数据源创建连接池,再通过JavaBean连接到数据源再对数据库进行操作。
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。连接池可以极大的改善用户的 Java 应用程序的性能,同时减少全部资源的使用。连接池主要的优点有:减少连接创建时间、简化的编程模式、受控的资源使用。连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,不过如果超过该水平,应用程序将崩溃而不仅仅是变慢。 配置连接池:
Public cfinal static String DRIVER_CLASS =\sqlserver.jdbc.SQLServerDriver\数据库java驱动
public final static String CONNECTION_URL =\0.1:2433;DatabaseName=jspbbs;\0.0.1:2433;DataBaseName=jspbbs\连接字符串
public final static String USER = \数据库用户名 public final static String PASSWORD = \数据库密码 /**
* 得到数据库连接 用Java驱动 *
* @return 数据库连接*/
17
public Connection getConnection() { Connection connection = null; try {
Class.forName(DRIVER_CLASS);// 注册驱动
connection = DriverManager.getConnection(CONNECTION_URL, USER, PASSWORD); // 获得数据库连接 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); }
return connection; // 返回连接 }
4.1.2访问数据库的JavaBean
JavaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成为属性。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、Applet程序或应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JSP的一个重要特性就是可以用JavaBean实现功能的扩展。将大部分功能放在JavaBean中完成,以使JSP页面程序更干净简洁、利于维护。JavaBean可以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。
连接数据库的JavaBean——DbHelper。通过JSP页面调用此JavaBean,
18
可以实现对数据库的连接,数据表的添加、删除、更新等操作。 4.1.3用户及管理员登录模块页面
用户登录页面比较简单,因为用户不登录就可以浏览帖子,所以登录的功能就直接增加到了头文件里,用户没有登录时,此模块将一直显示。如果登录后则将不显示。
用户登录如图4-1所示:
图4-1 用户登录
用户登录后如图4-2所示:
图4-2用户登录后
19
登录界面如图4-3所示:
图4-3 管理员登录界面
在登录页面时,当用户提交了登录资料后,就由“doLogin.jsp”这个页面进行验证,它的工作主要是判断用户登录的帐号和密码是否一致。完成这些工作就必须连接存储用户数据库取出相关信息记录。如果用户输入了错误的用户名和密码,通过erro.jsp;返回到登录界面并提示出错,如图4-4所示:
图4-4 用户登录失败
若用户提交正确的用户和密码后,如果记录验证无误,就通过JSP的response.sendRedirect(\方法跳转到相应的界面;然后再判断是否为版主,如果是版主则要求显示出版主相应的功能。Java程序片段如下所示:
您尚未 |
<%
} else {//两种方法:一种用useBean动作创建User对象,另一种直接用User类创建
20