基于SSM的资源发布系统

news2024/12/24 3:04:16

项目介绍:

该系统基于SSM技术,数据层为MyBatis,数据库使用mysql,MVC模式,B/S架构,具有完整的业务逻辑。系统共分为管理员,用户两种角色,主要功能:登陆注册,用户管理、分类管理、资源管理、通知信息、管理员维护,个人信息维护等。

项目技术:

后端:ssm
前端:layui,js,css等
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8
服务器:tomcat8

表结构信息:

admin(管理员表)

列名

数据类型

是否为空

主键

自增

默认值

备注

id

varchar(64)

ID

username

varchar(64)

用户名

password

varchar(64)

密码

category(资源分类表)

列名

数据类型

是否为空

主键

自增

默认值

备注

id

varchar(64)

ID

name

varchar(50)

分类名称

remark

varchar(200)

备注

notice(通知表)

列名

数据类型

是否为空

主键

自增

默认值

备注

id

varchar(64)

ID

content

varchar(200)

内容

uid

varchar(64)

留言人

mtime

varchar(20)

留言时间

rid

varchar(64)

资源

resources(通知表)

列名

数据类型

是否为空

主键

自增

默认值

备注

id

varchar(64)

ID

cid

varchar(64)

分类ID

name

varchar(64)

资源名称

type

varchar(20)

资源格式

size

varchar(20)

资源大小

link

varchar(100)

链接

publisher

varchar(64)

发布人

ptime

varchar(20)

发布时间

user(用户表)

列名

数据类型

是否为空

主键

自增

默认值

备注

id

varchar(64)

ID

realname

varchar(20)

真实姓名

username

varchar(30)

用户名

password

varchar(30)

密码

sex

varchar(10)

性别

phone

varchar(20)

手机号

部分功能展示:

系统登陆

登陆后进入系统首页

 可以进行用户管理

资源分类进行维护

 

资源信息上传,用户可以下载

 

 查看通知信息

部分代码: 

 

 /**
     * 分页查询
     * pageIndex 当前页码
     * pageSize  显示条数
     */
    @RequestMapping(value = "/findResources")
    public String findResources(Integer pageIndex, Integer pageSize, Model model,HttpServletRequest request) {
        PageInfo<Resources> pageList = resourcesService.findPageInfo(pageIndex,pageSize);
        model.addAttribute("pageList",pageList);
        List<Category> categorys = categoryService.getAll();
        model.addAttribute("categorys",categorys);
        return "ResourcesList";
    }


    /**
     * 添加
     */
    @RequestMapping(value = "/addResources" ,method = RequestMethod.POST)
    public String addResources(Resources resources,HttpServletRequest request) {
        HttpSession session = request.getSession();
        if(session.getAttribute("ad") == null){
            session.setAttribute("msg", "对不起,请登录!");
            return "login";
        }
        User user = (User) session.getAttribute("ad");
        resources.setPublisher(user.getId());
        Date date = new Date();
        SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = sp.format(date);
        resources.setPtime(time);
        if(resources.getLink()!=null && resources.getLink().length()>0){
            resources.setLink(resources.getLink().substring(1,resources.getLink().length()));
        }
        int d = resourcesService.addResources(resources);
        return "redirect:/findResources";
    }


    /**
     * 删除
     */
    @RequestMapping( "/deleteResources")
    @ResponseBody
    public String deleteResources(String id) {
        int d = resourcesService.deleteResources(id);
        return "ResourcesList";
    }


    /**
     * 修改
     */
    @RequestMapping( "/updateResources")
    public String updateResources( Resources resources) {
        int d = resourcesService.updateResources(resources);
        return "redirect:/findResources";
    }

    /**
     * 进入新增
     */
    @RequestMapping( "/findResourcesAdd")
    public String findResourcesAdd(String id,Model model,HttpServletRequest request) {
        List<Category> categorys = categoryService.getAll();
        model.addAttribute("categorys",categorys);
        return "ResourcesAdd";
    }


    /**
     * 按照ID查询
     */
    @RequestMapping( "/findResourcesById")
    public String findResourcesById(String id,Model model,HttpServletRequest request) {
        Resources resources= resourcesService.findResourcesById(id);
        model.addAttribute("resources",resources);
        List<Category> categorys = categoryService.getAll();
        model.addAttribute("categorys",categorys);
        return "ResourcesEdit";
    }

    /**
     * 按照ID查询
     */
    @RequestMapping( value = "/queryInfo",method = RequestMethod.POST)
    @ResponseBody
    public Resources queryInfo(String id, HttpServletRequest request) {
        Resources resources = resourcesService.findResourcesById(id);
        return  resources;
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合学习。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/147303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构:跳表

文章目录跳表跳表的由来单链表的查找效率太低提高单链表的查找效率跳表的时间复杂度分析跳表的空间复杂度分析跳表的插入操作跳表的删除操作跳表索引动态更新跳表 对链表进行改造&#xff0c;在链表上加多级索引的结构就是跳表&#xff0c;使其可以支持类似“二分”的查找算法。…

Redis查询之RediSearch和RedisJSON讲解

文章目录1 Redis查询1.1 RedisMod介绍1.2 安装Redis1.3 RediSearchRedisJSON安装1.3.1 下载安装1.3.2 修改配置1.4 RedisJSON操作1.4.1 基本操作1.4.1.1 保存操作JSON.SET1.4.1.2 读取操作JSON.GET1.4.1.3 批量读取操作JSON.MGET1.4.1.4 删除操作JSON.DEL1.4.1.5 其他命令1.4.1…

鲲鹏Bigdata pro之Hive的基本操作(创建表、查询表)

1 介绍 本文主要依据《鲲鹏Bigdata pro之Hive集群部署》实验教程上的Hive操作例子讲解&#xff0c;方便大数据学员重用相应的操作语句。同时对实验过程中出现的问题给以解决方法&#xff0c;重现问题解决的过程。以让大家认识到&#xff0c;出现问题很正常&#xff1b;同时&am…

Java设计模式中接口隔离原则是什么?迪米特原则又是什么,啥又是合成复用原则,这些又怎么运用

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 3.5 接口隔离原则 3.5.1 特点 使用的类不应该被迫依赖于不想使用的方法&#xff0c;应该依赖接口方法 3.5.2 案例(安全门) 防火功能代码 public interface Fi…

第一章:统计学习方法概论

大纲1.1统计学习的特点1.2统计学习方法步骤1.3 统计学习的分类基本分类&#xff1a;1.4 监督学习方法的三要素模型&#xff1a;条件概率分布P(Y∣X)P(Y|X)P(Y∣X)或决策分布Yf(X)Yf(X)Yf(X)策略&#xff1a;在所有假设空间中选择一个最优模型注意事项&#xff1a;算法&#xff…

Java设计模式中适配器模式是什么/适配器模式可以干什么/又如何实现

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 5.3 适配器模式 5.3.1 概述 将一个类的接口转换为客户希望的另一种接口&#xff0c;使得原本由于接口不兼容而不能一起工作的那些类能一起工作分为类适配器模式和…

一套采用ASP.NET开发的工作通OA协同办公系统源码 流程审批 公文流转 文档管理

分享一套采用ASP.NET基于C#开发&#xff0c;使用桌面式的OA协同办公系统&#xff0c;超好用户体验效果的后台管理界面&#xff0c;集成 资讯、邮件、日程、文档&#xff08;在线文件档案管理&#xff09;、流程审批、公文流转、沟通与分享&#xff08;在线聊天和内部论坛&#…

基于LLVM的C编译器--lcc——以CLion用SSH连接WSL Ubuntu22.04为例

Windows 10 22H2CLion 2022.3.1Ubuntu 20.04 &#xff08;Microsoft Store内的WSL发行版&#xff09; 一、下载WSL&#xff0c;换源&#xff0c;切换到WSL2 1.1 保证windows版本 在设置->系统->关于中查看 必须是win10及以上对于x64系统&#xff1a;版本1903或更高版…

ArcGIS基础实验操作100例--实验63由图片创建点符号

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验63 由图片创建点符号 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

Java设计模式中代理模式是什么/JDK动态代理分为哪些,静态代理又怎么实现,又适合哪些场景

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 5.结构型模式 5.1 概述 根据如何将类或对象按某种布局组成更大的结构&#xff0c;分为类结构模式和对象结构模式&#xff0c;前者采用继承机制来组织接口和类&am…

视频序列对比学习

前言 视频embedding化也即表征有很多实际的应用场景&#xff0c;比如文本-视频 pair的检索等等。由于视频一般来说较长&#xff0c;所以对于给定的一段话&#xff0c;其中的某些sentence句子一般对应着视频中某几个clip片段&#xff0c;之前常规的做法都是去匹配所有的sentence…

人工服务、人工智能和分析是联络中心的主要趋势

数字联络中心提供商 IPI 宣布了其对 2023 年的预测。IPI 非常重视提供卓越的客户联系&#xff0c;认为未来一年将由以下趋势定义&#xff1a;专注于人工服务&#xff1b;增加对人工智能和自动化的采用&#xff1b;以及更多地使用数据和分析。 关注人性化服务 据 IPI 称&#…

实现QTreeView、QTableView子项中的复选框勾选/取消勾选功能

1.前言本博文所说的技术点适用于同时满足下面条件的所有视图类&#xff1a;模型类从 QAbstractItemModel派生。代理类从QStyledItemDelegate派生。故本博文所说的技术点也适用于QTableView。2.需求提出基于Qt的model/view framework技术&#xff0c;利用QTreeView树视图实现业务…

【异常】SpringSecurity登录失败:Full authentication is required to access this resource

一、报错提示 SpringSecurity提示如下内容&#xff1a; 2023-01-07 06:08:51.843 [cdi-ids-commonprovider] [http-nio-9092-exec-14] WARN com.desaysv.tsp.logic.ids.config.MyAuthenticationEntryPoint - 登录失败&#xff1a;Full authentication is required to acces…

基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现

基于JavaJspSpringMVC漫威手办商城系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…

2023 年值得关注的 7 大人工智能 (AI) 技术趋势

&#x1f482; 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 人工智能 (AI) 已经接…

图数据库Neo4j实战(全网最详细教程)

1.图数据库Neo4j介绍 1.1 什么是图数据库&#xff08;graph database&#xff09; 随着社交、电商、金融、零售、物联网等行业的快速发展&#xff0c;现实社会织起了了一张庞大而复杂的关系网&#xff0c;传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数…

《Go 并发数据结构和算法实践》学习笔记 Day 1

极客时间21天打卡活动&#xff1a;2023.1.16-2.5 链表的接口&#xff1a; 插入元素删除元素读取元素 并发化改造&#xff1a; 并发插入元素并发删除元素并发读取元素 锁&#xff0c;每个节点都定义一把锁。 并发插入 区域猜想&#xff1a;如果某个CPU 锁定了某个节点&…

U3D客户端框架(资源管理篇)之资源热更新管理器 ResourceManager

一、资源热更新管理器模块设计 1.热更新是什么&#xff1f; 游戏或者软件内的 美术/脚本代码等资源 发生变化时&#xff0c;无需下载客户端重新进行安装&#xff0c;而是在应用程序启动的情况下&#xff0c;通过比对本地资源与CDN资源的MD5码&#xff0c;如果本地资源与CDN中…

Visual Code 打开方式添加到右键菜单

一、配置右键打开 文件 注册表找到分支&#xff1a; 计算机\HKEY_CLASSES_ROOT\*\shell 在这个里面 shell 分支里右键添加项 VisualCode&#xff08;这个可以随便起&#xff0c;便于识别就行&#xff09; 在 VisualCode 分支里右键添加项 Command&#xff08;必须这个名&am…