基于Ssh框架的论坛设计与实现(8)

2020-06-07 15:46

贵阳学院计算机科学系本科生毕业论文设计

登陆成功后,组件会发送相应的用户session,之后每次用户对论坛进行操作,都要先通过session,来判断用户的权限.

用户 对论坛操作 判断权限 N 是否通过 Y 返回窗口 服务器

图3.7权限判断流程

(3).JSP标签组件

由于本文是基于MVC模式架构,所以在JSP网页中不应存放过多的逻辑判断,当本系统JSP网页中必须存有JAVA逻辑代码时,本系统设计了一些JSP标签来替代这些逻辑代码

BBS论坛设计--

31

贵阳学院计算机科学系本科生毕业论文设计

第 4 章 系统实现

程序设计又称编码,是系统生命周期中继详细设计之后的阶段,这个阶段的任务是使用选定的程序设计语言,把经过概要设计和详细设计所得到的以程序设计说明书体现的信息处理过程描述后,转换成能在计算机系统上运行的程序源代码。

4.1 系统框架实现

在系统的整体设计中,我们采取了三层结构.这样结构的优点是灵活,移植和可维护性比较高. 每个层在处理程序上都应该有一项明确的责任, 而不应该在功能上与其它层混合,并且每个层要与其它层分开的

图4.1 S.S.H框架的结合使用

4.1.1底层数据库的建立

在前期的数据库选用中,本系统选取了灵活高速的 MySQL数据库,而在数据库的设计中,本文已经确立了表结构. 根据这些就可以创建一个数据库,在数据库创建并连接好后,就可以创建表、修改表和删除表,创建、修改、和删除主键、外键等等。选中“leafbbs”数据库,use database并使用Create table<表名>Sql语句,依次创建以下表结构。由于考虑到本系统是应用在单机系统上,另外根据

BBS论坛设计--

32

贵阳学院计算机科学系本科生毕业论文设计

管理的规模,我们只建立一个数据库,在此数据库基础上建立

bbs_userinfo 用户基本资料表 bbs_userdeta 用户详细信息表 bbs_forum 论坛文章表 bbs_board 论坛版区表 bbs_config 论坛初始化信息表

4.1.2持久化层的建立(hibernate)

典型的Web应用的另一个末端是持久层。Hibernate为java提供了OR持久化机制和查询服务, 它还给已经熟悉SQL和JDBC API 的Java开发者一个学习桥梁,他们学习起来很方便。 Hibernate的持久对象是基于POJO和Java collections。此外。

系统建立Hibernate的持久层 。 首先把BO持久化。 Hibernate是通过POJO工作的, 因此数据对象需要给所有的fileds 加上getter,setter方法。 Hibernate通过XML文件来映射(OR)对象。

本系统可以在com.leafbbs.bean目录下找到这些xml文件。Hibernate配置文件的作用用来告诉程序 应该与哪个数据库通信,该使用哪个连接池或使用了DataSource, 应该加载哪些持久对象。而Session接口是用来完成Selecting,Saving,Delete和Updating这些操作。

4.1.3业务逻辑层的建立

本系统的业务逻辑是交由struts中的Action进行判断的,比如判断登陆的业务逻辑时,会建立一个LoginAction类来进行逻辑判断,而一些关联的映射,LeafBBS系统是写在struts框架的struts-config.xml中.

从编码的视角来看,这层是最容易被忽视的一层。 却往往在持久层周围看

BBS论坛设计--

33

贵阳学院计算机科学系本科生毕业论文设计

到这些业务处理的代码,这其实是不正确的,因为它导致了程序代码的紧密偶合,这样一来,随着时间推移这些代码很难维护。幸好,针对这一问题本系统可以使用Spring框架来解决.spring框架都着手于“依赖注射”(dependency injection)(还有我们知道的‘控制反转'Inversion of Control=IoC)这样的简单概念。Spring还提供了Setter Injection(type2),Constructor Injection(type3)等方式供选择。 Spring把程序中所涉及到包含业务逻辑和Dao的Objects——例如transaction management handler(事物管理控制)、Object Factoris(对象工厂)、service objects(服务组件)——都通过XML来配置联系起来。这种方式让你的对象从创建中释放了出来,降低了偶合度.

每个对象都可以在Spring 配置信息applicationContext.xml中用标签引用。在这里,mySessionFactory引用了HibernateSessionFactory,而myTransactionManager引用了HibernateTransactionManage。 代码中myTransactionManger

Bean

sessionFactory

HibernateTransactionManager有个sessionFactory setter 和 getter方法,这是用来在Spring启动的时候实现\依赖注入\(dependency injection)的。 在sessionFactory 属性里 引用mySessionFactory。这两个对象在Spring容器初始化后就被组装了起来了。 这样的搭配让你从 单例(singleton objects)和工厂(factories)中解放了出来,降低了代码的维护代价。 mySessionFactory.的两个属性,分别是用来注入mappingResources 和 hibernatePropertes的。

BBS论坛设计--

34

贵阳学院计算机科学系本科生毕业论文设计

图4.2 Spring基于配置文件,将各个Bean搭建在一起。

4.1.4表示层的建立

在表示层上,主要是基于JSP和AJAX异步传输技术来进行建立,最后通过Struts 框架的struts-config.xml文件进行关联映射.具体的页面设计,会在后面的章节中进行介绍.

4.2 系统功能模块实现

用户管理代码:

<%@ page language=\ pageEncoding=\

论坛后台管理

style=\BAR-FACE-COLOR:#ffffff;FONT-SIZE:11pt;PADDING-BOTTOM:0px;SCROLLBAR-HIGHLIGHT-COLOR:#ffffff;OVERFLOW:auto;WIDTH:510px;SCROLLBAR-SH

BBS论坛设计--

35


基于Ssh框架的论坛设计与实现(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三相四线计量装置检查、分析及故障处理(端子盒)讲诉

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: