课程设计——基于java的bbs设计与实现内容摘要:

第四章 详细设计与实现 系统数据库设计 数据库表格设计 本系统采用 MySQL作为后台数据库,数据库设计包括创建数据库、建表、关系、储存过程、触发器等。 根据对系统的详 细分析,我设计出以下数据库表。 如表 1数据库表所示: 表 1 数据库表 下面是主要表格设计: 11 基于 JAVA的 BBS 设计与实现 12 数据库结构的实现 在得到数据库的表格设计之后,就可以在 MySQL数据库系统中实现该逻辑结构。 实现数据库的逻辑结构的方式是借助 Navicat for MySQL来管理实现,详细步骤如 下所述。 1.打开 Navicat for MySQL,选择 “连接 ” 出现 “新建连接 ” 界面,在 “连接名 ”标签中填入项目名,如 “loclhost_3306”,其他选择默认,见图 7,之后可以看到如图 8所示的界面。 图 7 新建连接表图 13 基于 JAVA的 BBS 设计与实现 图 8 连接列表图 2.选中 ““loclhost_3306”,鼠标右击选择 “新建数据库 ”,在 “数据库名 ”标签中填入数据库名, “字符集 ”选择 “utfUTF8 Unicode”,其他选择默认,如图 9。 图 9 新建数据库图 3.双击展开 “bbsdb”数据库,选中 “表 ”,鼠标右击选中 “新建表 ”,进入填写数据项信息的界面,选中下面的 “自动递增 ”(表示 id为自动增加),填写完信息后保存,提示填入表名(如 t_user)即可,如图 10所示。 14 图 10 新建表图 4.这样我们在 MySQL数据库系统中就创建了一个 bbsdb数据库,并在该数据库下创建一个 “t_user”数据表,在后期的操作中只要连接到该数据库,就可以直接对数据库中的 数据表进行操作。 数据库连接 系统采用 “三大框架 ”,数据库采用 MySQL,其连接数据库的关键代码为: package。 import。 public class BaseDAO { private HibernateTemplate hibernateTemplate。 public HibernateTemplate getHibernateTemplate() { } 15 return hibernateTemplate。 基于 JAVA的 BBS 设计与实现 } public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { } = hibernateTemplate。 使用注入 Dao 的形式进行数据库操作,在 Dao 中对数据表进行增加、删除、查询、修改 的操作。 前台显示模块 前台显示模块包括用户的一些功能,具体的可分为用户注册、用户登录、用户注销、修改个人信息、查看版面、查看帖子、查看回复、发表帖子、和发表回复等功能 [11]。 由于帖子是在板块下存在的,所以在板块下的任何地方都可以发表帖子,而回复只能针对帖子进行回复,所以必须在帖子下才能发表回复,也就是在帖子页面下才能点击发表回复。 现将部分功能说明如下: ( 1)用户注册:新用户在 页面中输入用户名,昵称,密码,确认密码,选择角色(管理员、普通用户),点击 “我同意 ”按钮,然后点击 “注册 ”按钮,利用 struts 标签将数据提交到 UserAction中 regist()方法进行处理,注册成功后,跳转到登陆界面。 关键性代码如下: public String regist() { ( 2)用户登录:用户在有账号的前提下,可以在登录页面 中输入用户名和密码点击登录,系统利用 struts 标签将用户和密码提交到 UserAction 的check()方法进行处理,登录成功后,进入主界面。 关键性代码如下: public String check() { } (1)。 (newUser)。 return LOGIN。 User loginUser = 16 ((), ())。 } ( 3)用户注销:已登录用户在退出网站时注销登录状态,点击主界面上的 “退出 ”按钮,系统利用 struts 标签将用户和密码提交到 的 exist()方法进行处理,将修改保存到数据库中,注销成功后,进入登录页面。 关键性代码如下: public String exist() { } ( 4)查看版面:首页显示 BBS 的版块及主要信息,点击版块名进入版块下,会进入版块页面,点击主题可以进入主题页面。 用户通过 UserAction中的 check()方法验证为普通用户,然后进入 CateAction 中调用 showCates()方法处理,获得版块信息,展示在 页面下。 当点击主题时,进入 PostAction 调用showPosts()方法,获得对应主题 的所有帖子,在 mainFrame 框架中 17 if(loginUser != null) { } return ERROR。 boolean f = (loginUser)。 if(f == false) { (loginUser, loginUser)。 boolean flag = (loginUser)。 if(flag) { //(src/)。 return admin。 } else { } return SUCCESS。 } else { } return forbidden。 (loginUser)。 return LOGIN。 基于 JAVA的 BBS 设计与实现 显示 .关键性代码如下 : public void preShowAll() { } public String showCates() { } public String showPosts() { postPage = (pageNo, cate)。 prePage = () 1。 nextPage = () + 1。 totalPage=(()+()1) /()。 } ( 5)查看帖子:当用户在主页上点击主题时,会产生一个动作,向服务器发送一个请求,服务器将程序交给 CommentAction中的 showComments()方法处理,获得当前点击的帖子的所有信息,也包括它对应的所有跟帖信息,然后通过 chain跳转到 ReplyAction中调用 showReplies()方法获得跟帖中所有的回复信息。 最后将所有信息展示到。 关键性代码如下: Category curCate = (())。 Category mainCate = (())。 (mainCate, mainCate)。 (curCate, curCate)。 listSize = ().size()。 return SUCCESS。 preShowAll()。 return SUCCESS。 ListCategory cateList = ()。 ListCategory mainCateList = ()。 (cateList, cateList)。 (mainCateList, mainCateList)。 18 public String showComments() { mPage = (pageNo, post)。 listSize = ().size()。 Post curPost = (())。 prePage = () 1。 nextPage = () + 1。 totalPage = (() + ()1)/()。 (curPostamp。 quot。 , curPost)。 return forReplies。 } public String showReplies() { } ( 6)修改个人信息:用户点击自己的昵称,页面跳转到 ,从 session中取出当前用户的信息,展示到页面上。 点击确认后,页面将修改之后的信息提交 UserAction中调用 update()方法,在数据库中更新。 部分实现代码如下: public String update() { User user = (User) (loginUser)。 (())。 (())。 (())。 (())。 (())。 (())。 (newUser)。 (loginUser, newUser)。 boolean flag =。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。