基于java的校园网站论坛设计与实现(含源文件)

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye2



摘 要

本系统系采用基于J2EE平台的Struts、Hibernate和Spring框架开发。通过利用面向对象和分层的编程技术,实现现有大多数网站所具备的诸如浏览文章、发布文章和回复文章等功能。同时本系统通过运用开源框架的优势,在很大程度上解决了系统开发中过于繁琐的数据转换、异常处理及事务处理等问题,简化和集成了系统框架,整改和完善了事务和业务逻辑的处理。
本系统主要分为普通用户和管理员两个大的模块,其中普通用户模块包括:用户注册、用户登陆、发帖提问、问题回答、问题检索、回答问题记录、用户问题记录、修改用户个人资料。管理员模块包括:管理员维护、栏目管理、问题管理、用户管理、密码修改。
本文主要介绍在实际研究开发过程中采用的一些技术手段。
关键词:Struts;Hibernate;Spring
ABSTRUCT
The design and development of BBS, which is based on JAVA EE Struts, Hibernate, Spring Framework and the connection pool, via the object-oriented programming and layered technologies, makes us now realize most functions of BBS. Thanks to the use of the connection pool and framework of the open-source, we now dont need care much about the conversion and the processing between different data, only to focus on the judgment of logic.
There are two main modules in the BBS in research, the normal mode and the administrator mode. The normal mode includes: user registration, logging in, posting questions, answering questions, questions index, answers records, questions records, and modification of users personal information. Administrator mode includes: administrator maintenance, management of themes, management of problems, management of users, and modification of passwords.
This paper focuses on some techniques in the research, including some theory foundation and some problems for the further development of BBS.
Key words:Struts;Hibernate;Spring
1.前言
1.1 网站论坛简述
网站论坛是一个以文化交流,学习知识为目的的,借助网络传输媒体和WEB共享实现的应用系统。像日常生活中的黑板报一样,电子公告牌按不同的主题、分主题分成很多个布告栏,布告栏的设立的依据是大多数BBS使用者的要求和喜好,使用者可以阅读他人关于某个主题的最新看法,也可以将自己的想法毫无保留地贴到公告栏中。同样地,别人对你的观点的回应也是很快的(有时候几秒钟后就可以看到别人对你的观点的看法)。在互联网,人们之间的交流打破了空间、时间的限制。在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌,健康状况,而这些条件往往是人们在其他交流形式中无可回避的。同样地,也无从知道交谈的对方的真实社会身份。这样,参与BBS的人可以处于一个平等的位置与其他人进行任何问题的探讨。这对于现有的所有其他交流方式来说是不可能的。
伴随着网络的出现,网页逐渐融入人们的生活。随着Internet的进一步发展,建站的技术日新月异。 就现在开发web技术来说,主要集中分为三大类:基于C/S结构的应用程序开发;结合C/S结构和Web技术的复合应用程序;基于B/S结构的动态网页技术。C/S结构系统:是传统开发模式,一般以数据库和客户端的两层结构实现,也有加入中间件的三层或多层结构,在web早期是标准的系统模式,但随着计算机技术的发展和网络的发展, C/S结构的不足越发明显,B/S结构系统逐渐成为了时尚
本系统在功能上实现了现今大多数网站系统具有的功能。在开发与实现的过程当中运用了JAVA EE中比较流行的框架和设计模式,这是本论坛的一个特点。本系统能够让人们更加方便的在网上进行知识交流,从而促进文化知识的传播以及各类信息技术的传播,同时达到人们网上交流、学习的目的。
1.2 问题提出与现状分析
以往类似于本系统的开发通常基于ASP技术,出于在安全性、系统稳定性和系统可维护性等方面考虑,传统的ASP技术已远远不及如今基于面向对象技术的J2EE框架系统。
首先在安全性方面,ASP系统很容易被黑客攻击,由于ASP的源码并未加密,黑客很容易通过源码来破解系统的漏洞并加以攻击。此外在数据库查询方面,APS的安全性也远远落后于J2EE技术。
其次在系统稳定性方面,由于ASP不支持线程,每次请求和响应均需要建立相应的进程加以调度,一旦系统访问量增大,系统将由于负荷过载而导致系统访问缓慢,更严重的甚至导致系统崩溃
最后在系统可维护性方面。由APS是视图和业务逻辑混合结构,在对于如今主张分层设计的J2EE系统而言,ASP的混乱且无序的框架根本无法存在可维护性。
综上所述,本系统采用基本J2EE技术开发。并运用各开源框架完善系统架构。使系统在安全性、稳定性、可维护性等方面较APS更胜一筹。
2 相关开发环境及技术理论
2.1系统开发环境
•采用B/S架构,使用JDSK1.5.04运行环境
•服务器操作系统:Windows XP
•数据库服务器:MySQL 5.1.39
•Web 服务器:Apache-Tomcat-6.0.1
2.2 技术简介
2.2.1 系统设计的主要技术路线
本管理系统是在Spring框架的基础上开发出来的。典型的J2EE结构分为三次结构:表现层、业务逻辑层和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。
该系统从逻辑结构上分为四层:表示层、业务逻辑层、服务层和数据持久层。其中使用Spring作为网站的整体基础架构,负责MVC的分离,在Spring框架的模型部分,利用Hibernate框架对持久层提供支持。
2.2.2 J2EE体系结构介绍
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。 J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,如编写一次、随处运行的特性、方便存储数据库的JDBC API以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE体系结构大致可以分为以下几层:
(1) Domain Object(领域对象)层:此层由系列的POJO(Plain Old Java Object,普通的、传统的Java对象)组成,这些对象是该系统的Domain Object,往往包含了各自所需要实现的业务逻辑方法。
(2) DAO(Data Access Object,数据访问对象)层:此层由系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。
(3) 业务逻辑层:此层由系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法,也可能是依赖DAO组件实现业务逻辑方法。
(4) 控制器层:此层由系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。
(5) 表现层:此层由系列的JSP页面、Velocity页面、PDF文档视图组件组成。此层负责收集用户请求,并将显示处理结果[10]。
2.2.3 Spring框架简介
该系统主要运用Spring框架。Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。另外,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
轻量即从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转即Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面即Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的,完成业务逻辑,仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器即Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架即Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
3 系统需求分析
3.1 功能需求分析
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。参照业务需求分析的结果对每个业务进行细化,从而得到系统的功能模块。
通过分析,本系统主要分为普通用户和管理员两个大的模块,其中普通用户模块包括:用户注册、用户登陆、发帖提问、问题回答、问题检索、回答问题记录、用户问题记录、修改用户个人资料。管理员模块包括:管理员维护、栏目管理、问题管理、用户管理、密码修改。
3.2 系统可行性分析
3.2.1 环境可行性分析
系统主要运用Spring框架技术开发,开发所需要的软件工具都是简单易操作的且开源,安全,可维护性强。如下所示:
Web服务器:Apache-Tomcat-6.0.1版本。
开发技术:JDK5.0相关新特性、Spring框架技术、Hibernate框架技术、Struts框架技术。
系统选用MyEclipse 7.0作为集成开发环境。MyEclipse是在Eclipse的基础上添加了一些插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。
MyEclipse企业级工作平台(MyEclipse

  • 3
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值