👉文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频
1 、功能描述
新闻管理系统拥有两个角色,分别为用户和管理员,具体功能如下:
1.1 背景描述
新闻管理系统是一款支持新闻发布、编辑、删除和查询等功能的在线工具,方便用户快速管理新闻信息。通过该系统,管理员可以轻松添加、审核新闻,实现新闻的及时更新和发布;读者可以便捷地浏览、搜索感兴趣的新闻内容。系统采用先进的技术架构,确保数据的安全性和稳定性,提供用户友好的操作界面,适用于各类新闻媒体机构和企事业单位的新闻管理需求。
2、项目技术
后端框架:Jfinal、mvc
前端框架:Freemarker、html、css、JavaScript、JQuery
2.1 Jfinal
JFinal是一个基于Java语言的轻量级Web框架,它可以帮助开发者快速搭建Web应用程序。JFinal将Servlet API、Spring和MyBatis等技术进行整合,使得开发者能够更加高效地开发Web应用。JFinal还提供了丰富的插件和工具类,简化了开发过程,提高了开发效率。同时,JFinal还支持多种数据库访问方式,包括ORM、SQL语句等,方便开发者根据需求选择合适的访问方式。
2.2 mysql
MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。
3、开发环境
- JAVA版本:JDK1.8,其它版本理论上可以
- IDE类型:IDEA、Eclipse
- tomcat版本:Tomcat 7.x、8.x、9.x版本均可
- 数据库版本:MySql 5.7、8.x
- maven版本:无限制
- 硬件环境:Windows 或者 Mac OS
4、功能截图+视频演示+文档目录
4.1 登录
4.2前端 模块
1)用户通过登录后可对新闻进行搜索、查看新闻。其中搜索可采用关键词过滤、年度两个条件进行搜索筛查或根据分类类型查看即时新闻,用户可查看搜索结果,并且对所查看的新闻进行浏览、收藏、分享等操作,并且对新闻延伸的友情链接进行查看,查看往期收藏内容可在个人中心进行查看。
2)新闻分类显示相关信息、新闻提供站内新闻全面搜索功能、支持其他网站的友情链接,为后台管理提供管理入口
4.3 后台模块
管理员在登录后可对新闻进行增删改查等维护操作、以及对用户进行合法性行为进行检查,包括用户对新闻的评论审核、用户的账号的合法性,收藏用户的行为日志对友情链接的维护与更新。
4.4 文档目录
5 、核心代码实现
5.1 管理员代码
package controller;
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.kit.Kv;
import com.jfinal.kit.LogKit;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.SqlPara;
import com.jfinal.upload.UploadFile;
import interceptor.Login;
import model.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.util.Date;
import java.util.List;
@Before(Login.class)
public class AdminController extends Controller {
public void searchUserByNickNameResult(){
List<User> user = User.dao.find("select * from user where nickName =?", nickNameForUser);
setAttr("user",user);
renderFreeMarker("manageUser.ftl");
}
public static String nickNameForUser;
public void searchUserByNickName(){
nickNameForUser = getPara("nickName");
Boolean success = true;
String message = success ? "成功" : "失败";
Kv result = Kv.by("success", success).set("message", message);
System.out.print(success);
renderJson(result);
}
public void DoAddUserInfo(){
String userName = getPara("userName");
String nickName = getPara("nickName");
String tel = getPara("tel");
String email = getPara("email");
String password = getPara("password");
User user = new User();
user.setUserName(userName);
user.setPassword(password);
user.setNickName(nickName);
user.setEmail(email);
user.setTel(tel);
user.save();
Boolean success = true;
String message = success ? "成功" : "失败";
Kv result = Kv.by("success", success).set("message", message);
renderJson(result);
}
public void addUser(){
renderFreeMarker("addUser.