基于Java的考编论坛网站的设计与实现(亮点:在线发布帖子、内容评论回复、购买二手物品、在线支付)

发布时间:2023-10-06 09:48:03

(考编论坛网站)

网上大部分毕设套路如下:

  • 在哔哩哔哩发送完成项目的演示视频,让你免费收到。收到后发现代码不完整或者数据库少,根本跑不动!如果要调试,收费300元:sweat_smile:真恶心吗!
  • 某宝找人帮忙写。简单来说比第一种行为靠谱,但是很贵!说可以免费修改。其实修改基本上是排不上队的。一个改变是一周。想快点?加钱,200加急!:sweat_smile:

还有一个建议:一分价一分货

二、我的优势2.1 自己的网站

网站上传的项目都是博主自己收集开发的,质量可以保证,适合懂一点程序开发的同学!

2.2 自己的小程序(小蔡coding)

<img src="https://img-blog.csdnimg.cn/img_convert/e6b8edc796f48effb768fae64dffe6effe6e9.png" style="zoom:50%;" />

为了方便学生使用,我开发了一个名为小蔡coding的小程序版。学生可以通过小程序快速搜索和定位他们想要的程序

2.3 售后服务有保障

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.4 福利

a51e38c5bf9f17df58ffdbbe74c16c44_720

三、开发环境与技术3.1 MySQL数据库

在数据操作过程中,本课题研发的应用程序难以预测,而且经常发生变化。没有办法直接从word中写数据,这不仅不安全,而且很难实现应用程序的功能。要实现所需的数据存储功能,必须选择专业的数据库存储软件。大多数情况下,应用程序的功能并不复杂,市场上所有相关数据库的手机软件都可以实现。MySQL可以在没有Oracle的情况下支持中小型系统软件,参照自己的思维结构和使用习惯。、SQL Server 适用于大、中、小数据,适用于大家的综合数据库,而不是其他问题,因为真正意义上的系统在线,是数据库网络服务器,网站服务器。

3.2 Vue前端技术

Java作为一种高级编程语言,在动态网站流行的时候,当然不会轻易放弃这个领域的生日蛋糕。Sun企业推出Servlet作为导出动态网站的标准规范。因为程序猿当时不太喜欢,但一开始很少选择。java语言出现在接下来的几个月里,不管性能和效率如何,至少区别于写网页所需的动态编码块和静态代码块,大大提高了创作效率和可读性。因此,很多Java软件工程师和初级程序员都会选择Java语言作为个人职业发展的前景。Sun与Apache慈善基金会合作,开发了一种关于Java动态网站的技术规范,即vue技术,以保持Java语言在高级编程语言中的重要性,避免Java再次抢占市场。vue在页面写作中吸收了java语言的所有优势,但也依赖于java语言 通过Java组件,EE庞大的环境可以完成许多功能。该组件可以直接引用vue页面,使vue更强大、更完美。确保Java技术的垂直可持续发展观,最终在动态网站开发行业占有一席之地。其他java开发人员可以快速转移到vue开发,不考虑一些特殊组件或功能开发,从动态页面开发开始,完全完成java流程和vue流程的基本无成本变化,vue技术就是这样的发展趋势。

3.3 Spring Boot框架

从命名上可以知道这个框架设计的初衷:快速开启Spring应用。因而,Spring。 本质上,Boot应用程序是基于Spring框架的应用程序。这是Spring“协议先于配置”理论的良好实用物质。根据Spring生态系统中的应用程序,可以帮助开发者快速有效地构建。Spring Boot实现自动配置,开发依赖,Actuator、命令行界面(CLI) 是Spring Boot的四个主要核心特征,其中CLI是Spring 虽然Boot的选择功能齐全,但也引入了一套非传统的开发模式,因此本系列文章只注重其他三个特点。例如,这个问题是本系列的第一部分,将为您打开Spring Boot门的关键是进一步分析启动过程,完成自动配置的基本原理。把握这一部分的主要内容,了解一些Spring框架的基本知识,也会让你感到舒适。

3.4 微信小程序

微信小程序是一个轻量级的应用程序,可以直接在微信内部运行,无需下载安装,为用户提供快速方便的服务和功能体验,涵盖各个领域的应用,从社交、娱乐到商务和生活服务,为开发者提供一个强大的平台,以低成本和高效的开发和发布小程序。

四、功能设计4.1 主要功能描述

在这里插入图片描述

5.系统实现5.1 5.1实现前端界面.1 经验交流(发布经验交流帖子)

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

5.1.2 跳蚤市场(完整的购买流程)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

5.1.3 个人中心

在这里插入图片描述

5.1.4 登录注册

>

在这里插入图片描述

5.2 5.2实现后台管理.1 登录界面

在这里插入图片描述

5.2.2 用户管理

>

5.2.3 公告管理

在这里插入图片描述

5.2.4 订单管理

在这里插入图片描述

5.2.5 沟通帖子管理

在这里插入图片描述

5.2.6 其他管理

在这里插入图片描述

六、数据库设计参考
-- MySQL dump 10.13  Distrib 5.7.31, for Linux (x86_64)---- Host: localhost    Database: springbootm3ord-- -------------------------------------------------------- Server version5.7.31/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;/*!40103 SET TIME_ZONE='+00:00' */;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;---- Current Database: `springbootm3ord`--/*!40000 DROP DATABASE IF EXISTS `springbootm3ord`*/;CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootm3ord` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;USE `springbootm3ord`;---- Table structure for table `aboutus`--DROP TABLE IF EXISTS `aboutus`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `aboutus` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创造时间,  `title` varchar(200) NOT NULL COMMENT '标题',  `subtitle` varchar(200) DEFAULT NULL COMMENT "副标题",  `content` longtext NOT NULL COMMENT '内容',  `picture1` longtext COMMENT '图片1',  `picture2` longtext COMMENT '图片2',  `picture3` longtext COMMENT '图片3',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT=关于我们的‘关于我们’;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `aboutus`--LOCK TABLES `aboutus` WRITE;/*!40000 ALTER TABLE `aboutus` DISABLE KEYS */;INSERT INTO `aboutus` VALUES (1,'2023-03-05 09:51:关于我们,25,ABOUT US无论你想要什么样的生活,你都要努力争取,怎么知道自己适合什么,不适合什么而不尝试一些东西呢?\n你说你喜欢读书,让我给你列书单,你问我哪里有这么多时间读书;你说你梦想的职业是广告文案,问我如何成为文案,应该具备什么素质;你说你打算早上跑步,但你总是因为学习、工作或身体不适而第二天起不来床;你说你一直梦想着独自长途旅行,但你没有钱,你的父母感到危险。事实上,我厌倦了你这么说的把戏。我想即使我告诉你怎么做,你也不会这么做,因为你什么都不做。事实上,我已经厌倦了你这么说的把戏,我想即使我告诉你怎么做,你也不会这么做,因为你什么都不做。upload/aboutus_picture1.jpg','upload/aboutus_picture2.jpg','upload/aboutus_picture3.jpg');/*!40000 ALTER TABLE `aboutus` ENABLE KEYS */;UNLOCK TABLES;---- Table structure for table `config`--DROP TABLE IF EXISTS `config`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `config` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `name` varchar(100) NOT NULL COMMENT 配置参数名称,  `value` varchar(100) DEFAULT NULL COMMENT 配置参数值,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT=配置文件“配置文件”;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `config`--LOCK TABLES `config` WRITE;/*!40000 ALTER TABLE `config` DISABLE KEYS */;INSERT INTO `config` VALUES (1,“picture1”upload/picture1.jpg(2,"picture2","upload/picture2.jpg'),(3,"picture3"upload/picture3.jpg');/*!40000 ALTER TABLE `config` ENABLE KEYS */;UNLOCK TABLES;---- Table structure for table `discussjiaoyuan`--DROP TABLE IF EXISTS `discussjiaoyuan`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `discussjiaoyuan` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创造时间,  `refid` bigint(20) NOT NULL COMMENT "关联表id",  `userid` bigint(20) NOT NULL COMMENT 用户id,  `avatarurl` longtext COMMENT '头像',  `nickname` varchar(200) DEFAULT NULL COMMENT 用户名,  `content` longtext NOT NULL COMMENT "评论内容",  `reply` longtext COMMENT 回复内容,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=“教师评论表”;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `discussjiaoyuan`--LOCK TABLES `discussjiaoyuan` WRITE;/*!40000 ALTER TABLE `discussjiaoyuan` DISABLE KEYS */;/*!40000 ALTER TABLE `discussjiaoyuan` ENABLE KEYS */;UNLOCK TABLES;---- Table structure for table `discusszhaopinxinxi`--DROP TABLE IF EXISTS `discusszhaopinxinxi`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `discusszhaopinxinxi` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创造时间,  `refid` bigint(20) NOT NULL COMMENT "关联表id",  `userid` bigint(20) NOT NULL COMMENT 用户id,  `avatarurl` longtext COMMENT '头像',  `nickname` varchar(200) DEFAULT NULL COMMENT 用户名,  `content` longtext NOT NULL COMMENT "评论内容",  `reply` longtext COMMENT 回复内容,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=“招聘信息评论表”;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `discusszhaopinxinxi`--LOCK TABLES `discusszhaopinxinxi` WRITE;/*!40000 ALTER TABLE `discusszhaopinxinxi` DISABLE KEYS */;/*!40000 ALTER TABLE `discusszhaopinxinxi` ENABLE KEYS */;UNLOCK TABLES;---- Table structure for table `jiajiaoshenqing`--DROP TABLE IF EXISTS `jiajiaoshenqing`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `jiajiaoshenqing` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创造时间,  `shenqingbianhao` varchar(200) DEFAULT NULL COMMENT "申请编号",  `gonghao` varchar(200) DEFAULT NULL COMMENT '工号',  `jiaoshixingming` varchar(200) DEFAULT NULL COMMENT "教师姓名",  `shoukezhuanye` varchar(200) DEFAULT NULL COMMENT 教学专业,  `xueli` varchar(200) DEFAULT NULL COMMENT '学历',  `jiajiaofeiyong` varchar(200) DEFAULT NULL COMMENT "家教费用",  `shenqingriqi` date DEFAULT NULL COMMENT "申请日期",  `shenqingneirong` longtext COMMENT "申请内容",  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',  `shoujihaoma` varchar(200) DEFAULT NULL COMMENT 手机号码,  `sfsh` varchar(200) DEFAULT '待审核' COMMENT 是否审查,  `shhf` longtext COMMENT "审核回复",  PRIMARY KEY (`id`),  UNIQUE KEY `shenqingbianhao` (`shenqingbianhao`)) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COMMENT=‘家教申请’;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `jiajiaoshenqing`--LOCK TABLES `jiajiaoshenqing` WRITE;/*!40000 ALTER TABLE `jiajiaoshenqing` DISABLE KEYS */;INSERT INTO `jiajiaoshenqing` VALUES (51,'2023-03-05 09:51:“11111111111”,“工号1”,“教师姓名1”,“教学专业1”,‘学历1’、‘家教费1’、‘2023-03-05’、‘申请内容1’、‘账号1’、‘姓名1’、‘手机号1’、‘是’、‘52’、‘2023-03-05’ 09:51:“2222222222”,“工号2”,“教师姓名2”,“教学专业2”,“学历2”,“家教费2”,“2023-03-05”、“申请内容2”、“账号2”、“姓名2”、“手机号2”、“是”、“53”、“2023-03-05” 09:51:24、“333333333”、“工号3”、“教师姓名3”、“教学专业3”、“学历3”、“家教费用3”、“2023-03-05”、“申请内容3”、“帐号3”,“姓名3”,“手机号码3”,“是”,“54” 09:51:24、“44444444”、“工号4”、“教师姓名4”、“教学专业4”、“学历4”、“家教费用4”、“2023-03-05”、“申请内容4”、“账号4”、“姓名4”、“手机号码4”(55), 09:51:24、‘555555555’、‘工号5’、‘教师姓名5’、‘教育专业5’、‘教育费用5’、‘2023-03-05’、‘申请内容5’、‘账号5’、‘姓名5’、‘手机号码5’、‘学历5’、‘家教费用5’、‘2023-03-05’'2023-03-05 09:51:24、‘6666666’、‘工号6’、‘教师姓名6’、‘教育专业6’、‘教育费用6’、‘2023-03-05’、‘申请内容6’、‘账号6’、‘姓名6’、‘手机号码6’、‘学历6’、‘家教费用6’、‘2023-03-05’ 09:51:24',“777777777”,“工号7”,“教师姓名7”,“教学7”,“学历7”,“家教费用7”,“2023-03-05”,“申请内容7”,“账号7”,“手机号7”,“手机号7”,“学历7”,“家教费用7”,“2023-03-05” 09:51:'88888888'24','工号8',教师姓名8',教学专业8',学历8',家教费8',2023-03-05',申请内容8',账号8',手机号8',手机号8';/*!40000 ALTER TABLE `jiajiaoshenqing` ENABLE KEYS */;UNLOCK TABLES;---- Table structure for table `jiaoyuan`--DROP TABLE IF EXISTS `jiaoyuan`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `jiaoyuan` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创造时间,  `gonghao` varchar(200) NOT NULL COMMENT '工号',  `mima` varchar(200) NOT NULL COMMENT '密码',  `jiaoshixingming` varchar(200) NOT NULL COMMENT "教师姓名",  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',  `youxiang` varchar(200) DEFAULT NULL COMMENT '邮箱',  `lianxishouji` varchar(200) DEFAULT NULL COMMENT “联系手机”,  `shoukezhuanye` varchar(200) DEFAULT NULL COMMENT 教学专业,  `xueli` varchar(200) DEFAULT NULL COMMENT '学历',  `touxiang` longtext COMMENT '头像',  `jiajiaofeiyong` varchar(200) DEFAULT NULL COMMENT "家教费用",  `gerenjianjie` longtext COMMENT 个人简介,  `rongyuxinxi` longtext COMMENT "荣誉信息",  PRIMARY KEY (`id`),  UNIQUE KEY `gonghao` (`gonghao`)) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COMMENT='教员';/*!40101 SET character_set_client = @saved_cs_client */;---- Table structure for table `jiaoyuanfankui`--DROP TABLE IF EXISTS `jiaoyuanfankui`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `jiaoyuanfankui` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创造时间,  `fankuibianhao` varchar(200) DEFAULT NULL COMMENT 反馈编号,  `fankuibiaoti` varchar(200) NOT NULL COMMENT "反馈标题",  `fankuineirong` longtext COMMENT "反馈内容",  `fankuishijian` datetime DEFAULT NULL COMMENT "反馈时间",  `gonghao` varchar(200) DEFAULT NULL COMMENT '工号',  `jiaoshixingming` varchar(200) DEFAULT NULL COMMENT “老师的名字”,  `shhf` longtext COMMENT 回复内容,  PRIMARY KEY (`id`),  UNIQUE KEY `fankuibianhao` (`fankuibianhao`)) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8 COMMENT=“教师反馈”;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `jiaoyuanfankui`--LOCK TABLES `jiaoyuanfankui` WRITE;/*!40000 ALTER TABLE `jiaoyuanfankui` DISABLE KEYS */;INSERT INTO `jiaoyuanfankui` VALUES (111,'2023-03-05 09:51:“111111111111”,“反馈标题1”,“反馈内容1”,'2023-03-05 17:51:“工号1”、“教师姓名1”、“112”、“2023-03-05” 09:51:25、“222222222”、“反馈标题2”、“反馈内容2”、“2023-03-05” 17:51:"工号2","教师姓名2","'2023-03-05 09:51:25、“3333333333”、“反馈标题3”、“反馈内容3”、“2023-03-05” 17:51:25、工号3',教师姓名3',114,2023-03-05 09:51:“44444444444”,“反馈标题4”,“反馈内容4’,'2023-03-05 17:51:25、工号4',教师姓名4',115,2023-03-05 09:51:“55555555555”,“反馈标题5”,“反馈内容5”,“2023-03-055” 17:51:"工号5","教师姓名5","'2023-03-05 09:51:25、“666666666”、“反馈标题6”、“反馈内容6”、“2023-03-05” 17:51:25、工号6',教师姓名6',117,2023-03-05 09:51:25','777777','反馈标题7','反馈内容7','2023-03-05 17:51:工号7',教师姓名7',118,2023-03-05 09:51:25'888888','反馈标题8','反馈内容8','2023-03-05' 17:51:"工号8","教师名8",";/*!40000 ALTER TABLE `jiaoyuanfankui` ENABLE KEYS */;UNLOCK TABLES;---- Table structure for table `ketijiangjie`--DROP TABLE IF EXISTS `ketijiangjie`;/*!40101 SET @saved_cs_client     = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `ketijiangjie` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创造时间,  `gonghao` varchar(200) DEFAULT NULL COMMENT '工号',  `jiaoshixingming` varchar(200) DEFAULT NULL COMMENT "教师姓名",  `xueli` varchar(200) DEFAULT NULL COMMENT '学历',  `yuyueshijian` varchar(200) NOT NULL COMMENT "预约时间",  `ketimingcheng` varchar(200) DEFAULT NULL COMMENT “主题名称”,  `jiangjieshipin` longtext COMMENT "解释视频",  `dizhi` varchar(200) DEFAULT NULL COMMENT '地址',  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',  `shoujihaoma` varchar(200) DEFAULT NULL COMMENT 手机号码,  `neirong` longtext COMMENT '内容',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8 COMMENT=“课题讲解”;/*!40101 SET character_set_client = @saved_cs_client */;
七、代码参考
@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {   UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));   if(user==null || !user.getPassword().equals(password)) {      return R.error("帐号或密码不正确");   }   String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());   return R.ok().put("token", token);}@Overridepublic String generateToken(Long userid,String username, String tableName, String role) {TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>().eq("userid", userid).eq("role", role));String token = CommonUtil.getRandomString(32);Calendar cal = Calendar.getInstance();       cal.setTime(new Date());       cal.add(Calendar.HOUR_OF_DAY, 1);if(tokenEntity!=null) {tokenEntity.setToken(token);tokenEntity.setExpiratedtime(cal.getTime());this.updateById(tokenEntity);} else {this.insert(new TokenEntity(userid,username, tableName, role, token, cal.getTime()));}return token;}/** * 权限(Token)验证 */@Componentpublic class AuthorizationInterceptor implements HandlerInterceptor {    public static final String LOGIN_TOKEN_KEY = "Token";    @Autowired    private TokenService tokenService;    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//支持跨域请求        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");        response.setHeader("Access-Control-Max-Age", "3600");        response.setHeader("Access-Control-Allow-Credentials", "true");        response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization");        response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));// OPTIONS请求将首先发送到跨域,在这里,我们要求OPTIONS直接返回正常状态 (request.getMethod().equals(RequestMethod.OPTIONS.name())) {        response.setStatus(HttpStatus.OK.value());            return false;        }                IgnoreAuth annotation;        if (handler instanceof HandlerMethod) {            annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);        } else {            return true;        }        ///从header中获取token        String token = request.getHeader(LOGIN_TOKEN_KEY);                /**         * 不需要验证权限的方法可以直接放过         */        if(annotation!=null) {        return true;        }                TokenEntity tokenEntity = null;        if(StringUtils.isNotBlank(token)) {        tokenEntity = tokenService.getTokenEntity(token);        }                if(tokenEntity != null) {        request.getSession().setAttribute("userId", tokenEntity.getUserid());        request.getSession().setAttribute("role", tokenEntity.getRole());        request.getSession().setAttribute("tableName", tokenEntity.getTablename());        request.getSession().setAttribute("username", tokenEntity.getUsername());        return true;        }        PrintWriter writer = null;response.setCharacterEncoding("UTF-8");response.setContentType("application/json; charset=utf-8");try {    writer = response.getWriter();    writer.print(JSONObject.toJSONString(R.error(401, "请先登录")));} finally {    if(writer != null){        writer.close();    }}//throw new EIException("请先登录", 401);return false;    }}

上一篇 【SpringBoot】多环境配置和启动
下一篇 JDBC

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题