校园论坛(Java)—— 结束篇
校园论坛(Java)—— 结束篇
- 1、写在前面
- 2、系统总体设计
- 2.1 设计流程
- 2.2 各个页面之间的调用关系
- 3、系统实现的可行性
- 4、系统制作的局限性
- 5、总结
- 6、项目代码
1、写在前面
- Windows版本:
Windows10
- JDK版本:
Java8
- MySQL版本:
MySQL5.7
- Tomcat版本:
Tomcat9.0
- IDE:
IntelliJ IDEA Ultimate2020.2.3
- 可视化工具:
Echarts
2、系统总体设计
2.1 设计流程
需求分析 --> 数据库设计 --> 环境搭建 --> 登录注册模块 --> 用户信息模块 --> 帖子模块 --> 考研学习模块 --> 用户管理模块 --> 数据报表模块 --> 校园周边模块
需求分析
2.2 各个页面之间的调用关系
3、系统实现的可行性
与此同时,制作校园论坛的方法和所用的软件种类也越来越多了。而在这里,我将采用基于BootStrap + Jsp + Servlet + MySQL+ Tomcat的开发模式和Maven构建工具进行佛大校园论坛的制作。我所用的开发软件是IntelliJ IDEA2020.2.3,它是一款能够开发Java基础或企业级项目的工具;JDK1.8是当前众多企业进行Java开发的首选版本;数据库采用开源的MySQL,它是一款当前比较流行的进行中小量数据开发的中小型数据库;网页端服务器采用的是Tomcat9版本,它也是一款当前比较流行的软件,主要用于网络服务器的开发。
4、系统制作的局限性
此次校园论坛制作的界面效果并不完美,但论坛里应具备的基本功能都实现了,比如,用户(或管理员)登录,发表新的帖子,查看已存在的帖子,回复别人发表的帖子(也叫跟帖)以及管理员删除发言不当帖子或着跟帖,轮播图,分页查询和模糊搜索功能,管理员实现用户管理,数据报表展示,以及佛大周边交通等等。同时些许功能可以继续完善,比如,用户头像和帖子的封面壁纸可以实现为用户自定义上传图片的功能;发帖编辑器可以引入百度的ueditor实现附带有表情等多种丰富形式的帖子内容;再比如,佛大周边模块三大门的信息可以使用图片的方式来展示。在整个项目的设计上,对于Maven构建工具的使用并没有过多涉及,可以利用Maven引入SpringBoot、MyBaits、SpringCloud服务来完善项目,Maven便于后续项目升级,更加符合企业级项目的开发选择。在代码实现上,最常见的问题就是代码臃肿,比如在Entity层对于每个变量都要有getter和setter方法,可以通过Lombok插件添加注解的方式,省去getter或setter方法的编写,简化项目的开发。
5、总结
本项目采用传统且简单的BootStrap + Jsp + Servlet + MySQL+ Tomcat
的模式,BootStrap用于网页美化,同时项目也采用了Java项目流行的分层模式,从Util包(工具类)、 Entity层(实体层)、Dao层(数据访问对象层)再到Service层(业务逻辑层)、Filter层(拦截过滤层)以及最后的Servlet层(表现层),各个层负责特定功能的实现,层层递进,总体难度并不高,但是细节点的功能实现需要特别注意,比如:如何获取并统计MySQL的数据来进行数据报表的展示,这涉及到Java和JS之间的转换问题,同时帖子实现分页的功能,特别需要考虑只有一页、第一页和最后一页的页码和上下页的标识显示问题。本项目依旧存在许多可以完善的点,除了上文提到的局限性之外,可以实现主帖下的回帖被再次回帖的功能,并且实现帖子阅读量、点赞量、收藏数的统计。真正好用的系统需要更加符合用户需求,不断打磨、完善。
6、项目代码
- GitHub
- Gitee
相关文章
- Contest1620 – 2020-2021-2学期《Java Web 系统开发》:java基础:字符串
- Java中的快捷键大全「建议收藏」
- java的运行环境是什么_Java运行环境是什么
- java 堆栈的声明_Java 堆栈[通俗易懂]
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java递归结束条件_方法递归必须有结束条件
- java 取当前时间年月日_Java获取当前时间年月日的方法[通俗易懂]
- java h2 数据库_Java H2数据库
- java事务_Java 事务详解[通俗易懂]
- 我只会 Java 一门语言可以吗?
- 【愚公系列】2023年03月 Java教学课程 102-MySQL数据库(视图)
- 判断是否汉字的Java代码详解编程语言
- Microsoft开源用于VS Code的Java Debugger详解编程语言
- 使用Java操作MySQL数据库快速精准查询(java查询mysql数据库)
- 之间的交互Redis与Java实现交互的探索(redis和java)
- 连接高效完成Java面试:掌握Oracle连接知识(java面试oracle)
- key数据处理Java操作Redis过期key数据的有效处理(redisjava过期)
- Java技术封装Redis,打造高效数据处理系统(java封装redis)
- Linux下快速安装Java开发环境(linux安装java)
- Java程序员的MySQL数据库之旅(java操作mysql数据库)
- 提升Java工程师技术Oracle搭配Java的绝佳美妙(java搭配oracle)
- java程序中foreach用法示例