项目描述
临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇校园论坛网站设计设计与实现。
功能需求
随着互联网科技的快速发展,各行各业都借助互联网飞快革新,提高产品性能,功能齐全,应用范围,兼容性强的应用软件相应问世,可见计算机已经得到了广泛的应用,很多行业把握住机会,利用科技信息化等有了不小收获。计算机在生活中的使用频率越来越高,使用的方式也层次不齐,大部分学校都借助计算机信息化管理学生、工作、数据分配工作。学生之间信息交流成了一个热门的话题,因此开发校园论坛网站,一个全面的、具有独特风格的校园论坛网站对学生交流学习有着莫大的帮助。
具备以下功能:
本网站通过确定各个模块之间的数据关系和功能区别,依据论坛发帖回帖业务逻辑处理考虑,从整体到细化的分析系统每个功能点,在这基础上考虑用户使用心里和页面操作难度。
用户登录注册:用户可以通过注册账号并登录网站,管理员分配的固定账号进行登录。
首页模块:展示页面导航菜单以及置顶的精华帖子展示以及网站相关连接信息
发帖回帖:对已经添加在网站出售的酒店信息查看修改,对新曾的酒店信息添加功能。
帖子管理:
个人中心:包括个人信息维护、我的帖子、我的动态信息查看。
我的收藏:对感兴趣帖子进行收藏和查看。
公告:展示校园论坛实施动态信息。
系统总体设计
部分效果图
数据库设计
系统中用到了21张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示
用户数据表
帖子数据表
收藏夹信息表
评论数据表
行为数据表
部分代码
/**
* 显示首页
*/
public void index() {
Page<Post> postPage = postService.paginate(1, 20, null, null);
userService.join(postPage, "user_id");
categoryService.join(postPage, "category_id");
setAttr("pageData", postPage);
render("index.html");
}
public void page() {
Integer pageNumber = getParaToInt();
if (pageNumber == null || pageNumber <= 1) {
redirect("/");
return;
}
Page<Post> postPage = postService.paginate(pageNumber, 20, null, null);
if (postPage == null || postPage.getPageNumber() > postPage.getTotalPage()) {
renderError(404);
return;
}
userService.join(postPage, "user_id");
categoryService.join(postPage, "category_id");
setAttr("pageData", postPage);
render("page.html");
}
/**
* 显示登陆页面
*/
public void login() {
}
/**
* 进行登录操作
*/
@EmptyValidate(value = {
@Form(name = "email", message = "Email不能为空。"),
@Form(name = "password", message = "密码不能为空。"),
}, errorRedirect = "/login")
@CaptchaValidate(form = "vercode", message = "验证码错误", errorRedirect = "/login")
public void doLogin(String email, String password) {
Ret ret = userService.doLogin(email, password);
setFlashMap(ret);
if (ret.isOk()) {
User user = ret.getAs("user");
user.setLogged(new Date());
user.update();
//发送用户登录 事件
Jboot.sendEvent(Constants.ACTION_USER_LOGIN, user);
//保存登录的cookie信息
EncryptCookieUtils.put(this, Constants.COOKIE_USER_ID, user.getId());
}
redirect(ret.isOk() ? "/" : "/login");
}
/**
* 退出登录
*/
public void logout() {
removeCookie(Constants.COOKIE_USER_ID);
redirect("/login");
}
/**
* 注册页面
*/
public void register() {
}
/**
* 进行注册操作
*/
@EmptyValidate(value = {
@Form(name = "email", message = "Email不能为空。"),
@Form(name = "nickname", message = "昵称不能为空。"),
@Form(name = "password", message = "密码不能为空。"),
@Form(name = "repassword", message = "确认密码不能为空。"),
}, errorRedirect = "/register")
@CaptchaValidate(form = "vercode", message = "验证码错误", errorRedirect = "/regsiter")
public void doRegister(String email, String nickname, String password, String repassword) {
if (!password.equals(repassword)) {
setFlashAttr("message", "密码为空 或 两次输入密码不相等");
redirect("/register");
return;
}
User user = userService.findByEmail(email);
if (user != null) {
setFlashAttr("message", "该邮箱已经存在");
redirect("/register");
return;
}
user = new User();
user.setEmail(email);
user.setNickname(nickname);
user.setPoint((long) FlyConfig.get().getInitPoint());
user.setStatus(User.STATUS_AUDITING); //审核中
String salt = EncryptUtils.generateSalt();
String encryptPassword = EncryptUtils.encryptPassword(password, salt);
user.setSalt(salt);
user.setPassword(encryptPassword);
boolean success = userService.save(user);
if (success) {
setFlashAttr("message", "用户注册成功!请登录。");
redirect("/active");
} else {
setFlashAttr("message", "系统错误,请联系管理员。");
redirect("/register");
}
}
安装部署需求
eclipse、idea运行启动
系统部署
系统开发后,在生产环境配置项目运行环境,具体步骤如下:
安装linux或者windows10操作系统;
安装JDK1.8并配置环境变量;
安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
在IDEA中编辑进行打包;
下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件
本项目用到的技术和框架
1.开发语言:Java
2.开发模式:B/S
3.数据库:MySQL
4.框架:jsp+springboot
本项目中的关键点
此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。
环境工具
开发工具 Eclipse/IDEA
语言 JDK1.8 、jsp、CSS、springboot
硬件:笔记本电脑;
软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
其它软件:截图工具、常用浏览器;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。