课程设计——基于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 =。课程设计——基于java的bbs设计与实现
相关推荐
,成本较低,安全可靠,操作方便。 本次设计的电子密码锁是以手动键盘输入密码的,通过这两个星期对电子密码锁的研究学习,发觉这种密码输入方式可以进行改革。 在越来越高科技化的今天,遥控控制显的愈发重要,今后的电子密码锁应该具有以红外技术或无线电技术为辅助的密码按键输入远程交互技术,这样就能远程输入密码完成操作。 也可以放弃传统的按键输入密码模式,借助传感器技术运用声控来实现密码输入
elsif(sel(2)=39。 039。 )then szkzj=39。 039。 gnkzj=39。 139。 elsif(sel(3)=39。 039。 ) then szkzj=39。 039。 gnkzj=39。 139。 end if。 elsif(R(3)=39。 039。 ) then 第 三 章 硬件原理及软件设计 10 if(sel(0)=39。 039。 )then
(gca,39。 Position39。 ),... 39。 Xaxislacation39。 ,39。 bottom39。 ,... 39。 YAxislocation39。 ,39。 ringt39。 ,39。 Color39。 ,39。 None39。 ,... 39。 Xcolor39。 ,39。 k39。 ,39。 YColor39。 ,39。 k39。 )。 ht=line(t,x
统 的 显 示 原 理 ,学 习 数 码 管显 示 数 字 和 字 符 的 编 程 方 法 . 试设计一简易秒表,使得七段符显示管的 ag 分别接在单片机的 P 口上,输出低电平时,显示管点亮, 要求从数字“ 0”显示到数字“ 9”,延时间隔为 1 秒。 设计要求 [1]显示时间 范围 ; [2]按键开关按下,电路复位。 方案的选择与论证 . 1 总体设计方案 方案 1:在方案 1 中
做到金融扶贫全覆盖、服务能力全提升、服务功能全方位。 六、工作措施及要求 (一)统一思想认识。 坚决打赢脱贫攻坚战是全面建成小康社会、实现共同富裕的重大举措,金融扶贫既是一项政治任务,也是农商银行立足农村市场、实现可持续发展的重大机遇。 因此,要切实增强使命感和紧迫感,勇于争当 “ 三严三实 ” 和 “ 四个 自觉 ” 模范,以更明确的目标、更有力的措施、更务实的作风,全力以赴推动脱贫攻坚
0000。 ELSE vcd10n=vcd10n1。 END IF。 END IF。 END IF。 END IF。 END PROCESS。 PROCESS(bcd1n,vcd10n) BEGIN J3=39。 039。 IF(bcd1n=0 and vcd10n=0)THEN J3=39。 139。 END IF。 END PROCESS。 END。 元件图 ( 20 秒倒计时计数器元件图)