网站代运营公司有哪些,万网 网站模板,wordpress支持大数据处理,什么网站做的很好#x1f345; 作者主页#xff1a;Java李杨勇 #x1f345; 简介#xff1a;Java领域优质创作者#x1f3c6;、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我#xff0c;都给你】 #x1f345; 欢迎点赞 #x1f44d; 收藏 ⭐留言 #x1f4dd; … 作者主页Java李杨勇 简介Java领域优质创作者、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我都给你】 欢迎点赞 收藏 ⭐留言 文末获取源码联系 临近期末,或毕业、你还在为网页程序设计、结课作业,老师的作业要求感到头大毕业设计无从下手网页功能要求的总数量太多没有合适的题材或系统做等等一系列问题。在这里、你想要解决的问题在专栏 java项目精品实战案例分享 web前端期末大作业网页实战 都能满足你的需求。原始Jsp、SSM、SpringBoot、以及HTMLCSSJS页面设计, web大学生网页设计作业源码等等都可以参考得到解决。话不多说直接拿一个学科竞赛项目来举例 视频演示 【大学生学科竞赛项目管理系统---基于SpringbootMybatislayui】.mp4
研究背景: 随着信息技术和网络的迅速发展,在当今世界,电脑正在迅速的普及,人们的生活方式导致了网络主要的时代,几乎每个行业信息化水平越来越高,社会和经济发展是主要的电力网络,随着我国教育的重要性增加,学校里的学生人数增加,学生校园生活越来越精彩,学术,团队竞争,也越来越丰富,在竞争的过程中,应用程序和对过去的论文提交报名不仅是一种资源浪费,而办公效率较低如果事件较多员工的内容被掠夺收费肯定会增加很多难度。
因此实现大学生竞赛的信息化管理不仅可以提高竞赛项目的管理效率还可以给用户带来很多方便。大学生竞赛申报管理系统是一个以项目申报和项目报名人数统计为核心功能的系统。它查询参加竞赛的学生人数是否与项目能容纳的最大学生人数相冲突在项目管理中起着重要的作用。因此大学生竞赛应用管理系统可以为师生提供充足的信息和快捷的查询手段方便项目经理增减办考场的布局避免竞争能力冲突等问题的发生。
因为以往大多数比赛的项目管理都是最简单的人工管理由班长牵头通知班长在班内沟通通知以及同学申请参加活动信息再由班长收集最后由学校领导对所有参赛学生名单进行分类和统计导致项目竞赛管理工作量大实时了解使用情况工作效率低。因此设计大学生竞赛申报管理系统具有十分重要的现实意义。
系统功能设计
1登录输入账号密码和验证码登录
2用户信息模块
3菜单模块
4角色模块
5项目竞赛活动申请模块
6项目竞赛经费申请模块
7项目竞赛活动管理审批模块
8项目个人赛报名模块
9项目团队赛报名模块
10项目结题统计模块
11通知公告模块
主要数据表设计
用户表 CREATE TABLE NewTable (
user_id bigint(20) NOT NULL AUTO_INCREMENT ,
username varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 用户名 ,
password varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 密码 ,
salt varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 盐 ,
email varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 邮箱 ,
mobile varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 手机号 ,
status tinyint(4) NULL DEFAULT NULL COMMENT 状态 0禁用 1正常 ,
dept_id bigint(20) NULL DEFAULT NULL COMMENT 部门ID ,
create_time datetime NULL DEFAULT NULL COMMENT 创建时间 ,
PRIMARY KEY (user_id),
UNIQUE INDEX username (username) USING BTREE
)
ENGINEInnoDB
DEFAULT CHARACTER SETutf8mb4 COLLATEutf8mb4_general_ci
COMMENT系统用户
AUTO_INCREMENT3
ROW_FORMATCOMPACT 菜单表 CREATE TABLE NewTable (
menu_id bigint(20) NOT NULL AUTO_INCREMENT ,
parent_id bigint(20) NULL DEFAULT NULL COMMENT 父菜单ID一级菜单为0 ,
name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 菜单名称 ,
url varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 菜单URL ,
perms varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 授权(多个用逗号分隔如user:list,user:create) ,
type int(11) NULL DEFAULT NULL COMMENT 类型 0目录 1菜单 2按钮 ,
icon varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 菜单图标 ,
order_num int(11) NULL DEFAULT NULL COMMENT 排序 ,
PRIMARY KEY (menu_id)
)
ENGINEInnoDB
DEFAULT CHARACTER SETutf8mb4 COLLATEutf8mb4_general_ci
COMMENT菜单管理
AUTO_INCREMENT69
ROW_FORMATCOMPACT
; 立项申请 CREATE TABLE NewTable (
id int(11) NOT NULL AUTO_INCREMENT ,
name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
zsdw varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
type varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
principal varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
phone varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
email varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
start_time datetime NULL DEFAULT NULL ,
ent_time datetime NULL DEFAULT NULL ,
majozhuban varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
sponsor varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
undertaeker varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
apply_time datetime NULL DEFAULT NULL ,
remark varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
audit_stu varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY (id)
)
ENGINEInnoDB
DEFAULT CHARACTER SETutf8 COLLATEutf8_general_ci
AUTO_INCREMENT31
ROW_FORMATCOMPACT
; 个人赛 CREATE TABLE NewTable (
id int(11) NOT NULL AUTO_INCREMENT ,
name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
college varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
class_name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
grade varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
major varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
email varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
phone varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
title varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY (id)
)
ENGINEInnoDB
DEFAULT CHARACTER SETutf8 COLLATEutf8_general_ci
AUTO_INCREMENT12
ROW_FORMATCOMPACT
; 经费申请 CREATE TABLE NewTable (
id int(11) NOT NULL AUTO_INCREMENT ,
zhuche double NULL DEFAULT NULL ,
rate double NULL DEFAULT NULL ,
train double NULL DEFAULT NULL ,
guidance double NULL DEFAULT NULL ,
haocai double NULL DEFAULT NULL ,
bonus double NULL DEFAULT NULL ,
other double NULL DEFAULT NULL ,
total double NULL DEFAULT NULL ,
name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY (id)
)
ENGINEInnoDB
DEFAULT CHARACTER SETutf8 COLLATEutf8_general_ci
AUTO_INCREMENT10
ROW_FORMATCOMPACT
; 主要功能截图
用户登录输入账号密码和验证码登录登录、登陆后根据用户权限显示不同菜单、角色灵活控制。
管理员功能模块用户信息管理、角色信息管理、菜单信息管理、权限信息管理、竞赛报名信息管理、经费申请信息和x审核信息管理、项目结题信息管理、立项申请信息管理等具体功能模块管理
用户管理用户列表显示、数据的添加、以及删除修改等操作。
角色管理通过给用户绑定角色、角色控制菜单灵活、显示菜单权限功能。用户可以新建多个角色
菜单消息管理
系统日志监控aop切面编程、实现日志记录操作
业务模块功能
立项申请功能
立项审核功能
活动经费预算申请
立项申请个人赛以及团队赛报名管理录入报名相关信息字段
项目结题管理信息
项目完成之后、选择项目进行资金使用统计结题。录入金额
项目结题统计
代码结构idea、eclipse直接导入就可运行、
主要源码实现
用户权限过滤 Bean(shiroFilter)public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {ShiroFilterFactoryBean shiroFilter new ShiroFilterFactoryBean();shiroFilter.setSecurityManager(securityManager);shiroFilter.setLoginUrl(/login.html);shiroFilter.setUnauthorizedUrl(/);MapString, String filterMap new LinkedHashMap();filterMap.put(/swagger/**, anon);filterMap.put(/v2/api-docs, anon);filterMap.put(/swagger-ui.html, anon);filterMap.put(/webjars/**, anon);filterMap.put(/swagger-resources/**, anon);filterMap.put(/statics/**, anon);filterMap.put(/login.html, anon);filterMap.put(/sys/login, anon);filterMap.put(/favicon.ico, anon);filterMap.put(/captcha.jpg, anon);filterMap.put(/**, authc);shiroFilter.setFilterChainDefinitionMap(filterMap);return shiroFilter;} 登录模块验证 /*** 登录*/ResponseBodyRequestMapping(value /sys/login, method RequestMethod.POST)public R login(String username, String password, String captcha) {String kaptcha ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY);if(!captcha.equalsIgnoreCase(kaptcha)){return R.error(验证码不正确);}try{Subject subject ShiroUtils.getSubject();UsernamePasswordToken token new UsernamePasswordToken(username, password);//md5Jiayansubject.login(token);}catch (UnknownAccountException e) {return R.error(e.getMessage());}catch (IncorrectCredentialsException e) {return R.error(账号或密码不正确);}catch (LockedAccountException e) {return R.error(账号已被锁定,请联系管理员);}catch (AuthenticationException e) {return R.error(账户验证失败);}return R.ok();} 统一异常处理 /*** .*****/package io.renren.common.exception;import io.renren.common.utils.R;
import org.apache.shiro.authz.AuthorizationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;/*** 异常处理器** author Mark sunlightcsgmail.com*/
RestControllerAdvice
public class RRExceptionHandler {private Logger logger LoggerFactory.getLogger(getClass());/*** 处理自定义异常*/ExceptionHandler(RRException.class)public R handleRRException(RRException e){R r new R();r.put(code, e.getCode());r.put(msg, e.getMessage());return r;}ExceptionHandler(DuplicateKeyException.class)public R handleDuplicateKeyException(DuplicateKeyException e){logger.error(e.getMessage(), e);return R.error(数据库中已存在该记录);}ExceptionHandler(AuthorizationException.class)public R handleAuthorizationException(AuthorizationException e){logger.error(e.getMessage(), e);return R.error(没有权限请联系管理员授权);}ExceptionHandler(Exception.class)public R handleException(Exception e){logger.error(e.getMessage(), e);return R.error();}
}分页查询 /*** .*****/package io.renren.common.utils;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.renren.common.xss.SQLFilter;
import org.apache.commons.lang.StringUtils;import java.util.Map;/*** 查询参数** author Mark sunlightcsgmail.com*/
public class QueryT {public IPageT getPage(MapString, Object params) {return this.getPage(params, null, false);}public IPageT getPage(MapString, Object params, String defaultOrderField, boolean isAsc) {//分页参数long curPage 1;long limit 10;if(params.get(Constant.PAGE) ! null){curPage Long.parseLong((String)params.get(Constant.PAGE));}if(params.get(Constant.LIMIT) ! null){limit Long.parseLong((String)params.get(Constant.LIMIT));}//分页对象PageT page new Page(curPage, limit);//分页参数params.put(Constant.PAGE, page);//排序字段//防止SQL注入因为sidx、order是通过拼接SQL实现排序的会有SQL注入风险String orderField SQLFilter.sqlInject((String)params.get(Constant.ORDER_FIELD));String order (String)params.get(Constant.ORDER);//前端字段排序if(StringUtils.isNotEmpty(orderField) StringUtils.isNotEmpty(order)){if(Constant.ASC.equalsIgnoreCase(order)) {return page.addOrder(OrderItem.asc(orderField));}else {return page.addOrder(OrderItem.desc(orderField));}}//没有排序字段则不排序if(StringUtils.isBlank(defaultOrderField)){return page;}//默认排序if(isAsc) {page.addOrder(OrderItem.asc(defaultOrderField));}else {page.addOrder(OrderItem.desc(defaultOrderField));}return page;}
}好了今天就到这儿吧我是小奥、下期见~~ 获取完整源码 大家点赞、收藏、关注、评论啦 、查看微信公众号获取联系 打卡 文章 更新 70/ 100天 精彩专栏推荐 Java毕设项目精品实战案例《100套》 HTML5大作业实战案例《100套》 web前端网页实战《100套》