基于Web的IT论坛系统的设计与实现
2021-12-06杨林
杨林
摘要:论坛自问世以来,越来越受广大用户的欢迎。随着网络的普及以及发展,论坛的用户量也是急速增长,俨然已经成为当今时代最受欢迎的在线交流平台,也成为年轻人获取消息的重要途径,使得论坛在互联网在线交流渠道中的地位越来越重要。本文以此为背景,采用时下比较流行的SSM框架,开发了一个以 IT技术为讨论主题的论坛系统以供广大IT人士学习与交流使用。这种论坛虽然用户单一,并且主题比较小众,但是论题的专业性较强,也有许多专业素质很强的用户,可以说是一个大牛与菜鸟并存的平台。每个用户都能在平台中找到自己的定位,并与其它用户交流讨论。
关键词:论坛;IT;SSM
1 引言
在互联网的发展中,出现了许多不同的信息交流的渠道,而论坛就是其中的一种。利用论坛,人们可以快速的传递信息和交流信息,并且可以轻松地和其他用户进行互动。本文对ITwindow1论坛系统的分析、设计、开发过程进行了详细的说明和描述。从系统分析、数据库设计到测试的所有阶段的主要工作以及使用的Spring、SpringMVC、Mybatis等关键技术都做了相应的介绍。本文首先根据需求来进行系统分析,确定系统需要实现的功能模块,然后利用统一建模语言UML从多个方面来分析系统的结构和功能,为接下来的开发工作打好基础,使得接下来的开发工作快速有序的进行,最后根据设计好的数据模型生成表,并利用数据库表映射成代码中的实体类;论文还对开发过程中用的技术和框架做了详细的说明,最终将各种技术整合并开发出一个功能基本完善的ITwindow论坛系统。
2 开发技术
该系统的前台采用html、CSS、JavaScript等技术,后台采用Spring、Spring MVC、MyBatis技术。
Spring 是一个开源框架,为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,同时为 J2EE 应用程序开发提供集成的框架。Spring是一个轻量级容器,既可以单独使用,也可以和其他框架(如,Struts框架,hibernate框架,mybatis框架等)组合使用,从而提高开发效率。
SpringMVC是从Spring框架改进而来的轻量级Web框架,通过实现MVC(Model-View-Controller)模式能够很好的将Model、View和Controller进行分离,还对应用进行解耦。框架的最根本目的就是帮助开发人员简化开发,从而将开发人员的重心转移到业务处理上,而不是纠结于怎样去开发,而SpringMVC正是提供了这样的一种简化方式。
MyBatis作为一种优秀的持久层框架,它支持自定义SQL语句及高级映射和存储过程,对JDBC进行了封装,从而避免了JDBC代码且刻意自动设置参数并获取结果集,利用原生的Map,可以用来将动态SQL写入XML文件中,动态SQL是MyBatis的强大特性之一,它可以通过动态语言让我们避免拼接不同条件的SQL语句的痛苦。
ssm框架集由spring . springmvc .mybatis等多种开源框架相互整合组成,常被用来作为一个数据源比较简单的web项目。spring是一个非常好的开源框架, spring通过使用基本的javabean方法来实现完成以前只有ejb 可以做的事。然而, spring的用途并非局部或全面,它还仅限于对服务器端进行开发。从设计的简单、可检验测试和疏松耦合两个方面而论,任何Java应用都可以从Spring中受益。 SSM是一个标准的MVC设计模式,它将整个系统划分为大约四个层次,分别为显示层、Controller层、Service层、Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久化引擎。
Apache Maven,它是一个软件(特别是Java软件)项目管理和自动构建工具,是由Apache软件基金会提供。基准于项目对象模型(缩写:POM)。Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子項目,现为由Apache软件基金会主持的独立Apache项目。
3系统设计
在确定了设计目标后,结合SSM(Spring,SpringMVC,Mybatis)框架,参考已有的论坛系统,确定了ITwindow的需求,系统包括前台访问系统和后台管理系统,前台包括显示论坛版块、帖子列表、帖子详细内容、帖子发表、帖子回复、个人帖子管理、用户注册、用户登录、招聘管理模块。后台包括用户管理、论坛版块管理、帖子管理和公告管理模块。
4 系统数据库设计
本系统采用MySQL数据库作为数据存储,根据IT论坛系统功能需求,数据库中包括用户表、用户信息表、职工表、帖子表、板块表、公告表等内容。
5.系统实现
5.1登录模块
由于ITwindow论坛系统有两个登录模块:前台登录和后台登录,在此仅为后台登录作简单介绍。用户在登录界面输入用户名和用户密码,点击登录按钮,将数据提交到LoginController类,由String Login(String userName,String userPwd,HttpSession session)方法接收登录界面提交的数据,调用Service层,再通过Service层调用DAO层,由DAO层从数据库的用户表中查询用户信息,再一次传到LoginController类,在String Login(String userName,String userPwd,HttpSession session)方法中与登录界面提交的数据对比,如果信息一致,则将用户名加入Session,作为登录信息验证,否则在登录界面 “输出用户名或密码错误”的提示信息。
5.2 用户管理模块
用户管理模块主要是用来管理系统注册的用户,在此以查找用户为例。
首先,在UserMapper.xml文件中配置getUser()方法,在UserMapper.java中注冊getUser(int id)方法,在UserService .java 接口中添加getUserById(),并在UserServiceImpl.java中实现该方法。当用户在管理系统的用户管理界面输入查询信息时,将查询信息提交到UserController类,UserController调用UserService,UserService调用UserMapper,在配置文件中查询数据库,在逐层返回到UserController,由UserController将信息响应到用户查询界面。
6. 总结
ITwindow论坛系统分为前台系统和后台管理系统,其中前台包括显示论坛版块、帖子列表、帖子详细内容、帖子发表、帖子回复、个人帖子管理、用户注册、用户登录、招聘管理模块,后台包括用户管理、论坛版块管理、帖子管理和公告管理模块。本系统基于MVC的思想来实现。从需求分析、数据库建模、系统设计、搭建环境、开始开发完成开发以及系统测试。
与SSH Spring+Struts+Hibernate)框架相比,SSM(Spring+SpringMVC+Mybatis)框架最大的优势就是轻量级开发,让开发人员能够在最短的时间完成系统功能的开发,并且在性能上也不输于SSH框架。本系统后台采用分层架构,每层分工明确,完全符合软件工程 设计中高内聚低耦合的目标,同时使用Maven来控制系统所需jar包的版本,避免jar包之间发生版本冲突,也增强了系统的可移植性。
参考文献
[1]《Java EE企业级应用开发教程(Spring+MVC+MyBatis)》 黑马程序员 人民邮电出版社
[2]《动态网页设计(JSP)》吴鹏 普通高等教育出版社
[3]《MySQL数据库原理,设计与应用》黑马程序员 清华大学出版社
[4]《Java基础入门》 传智播客 清华大学出版社
[5]《HTML+CSS+JavaScript网页制作》黑马程序员 人民邮电出版社
注释:
ITwindow:本课题将开发的基于web 的IT技术论坛命名为”ITwindow”.