
牛客网后端项目实战
文章平均质量分 92
langsamL
github:https://github.com/langsam1998/community
展开
-
牛客网后端项目实战(二十六):Spring整合Redis
引入依赖spring-boot-starter-data-redis配置Redis配置数据库参数编写配置类,构造RedisTemplate访问RedisredisTemplate.opsForValue()redisTemplate.opsForHash()redisTemplate.opsForList()redisTemplate.opsForSet()redisTemplate.opsForZSet()引入依赖我们还是在https://mvnreposit.原创 2020-07-05 16:30:39 · 1031 阅读 · 6 评论 -
牛客网后端项目实战(二十五):Redis入门
Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人。 同时,Redis还可以将内存中的数据以快照或日志的形式保存到硬盘上,以保证数据的安全性。Redis典型的应用场景包括:缓存、排行榜、计数器、社交网络、消息队列等。下载官网只提供linux版本,可以在GitHub上下载windows版本h.原创 2020-06-09 17:03:52 · 764 阅读 · 0 评论 -
牛客网后端项目实战(二十四):统一记录日志
统一记录日志,可能会想到封装一个记日志的组件,在每个业务中调用,但是这样实现不利于维护,这里就需要AOP技术。**AOP的概念 **Aspect Oriented Programing, 即面向方面(切面)编程。AOP是一种编程思想,是对OOP的补充, 可以进一步提高编程的效率。Target:目标对象,也就是我们实现的业务,有很多地方可以织入代码Aspect:切面组件,pointcut声明织入到哪些目标的哪些织入点,advice具体的逻辑JoinPoint:织入点三种织入时机,编译装原创 2020-06-08 21:54:12 · 590 阅读 · 0 评论 -
牛客网后端项目实战(二十三):统一处理异常
@ControllerAdvice用于修饰类,表示该类是Controller的全局配置类。在此类中,可以对Controller进行如下三种全局配置: 异常处理方案、绑定数据方案、绑定参数方案。@ExceptionHandler用于修饰方法,该方法会在Controller出现异常后被调用,用于处理捕获到的异常。@ModelAttribute用于修饰方法,该方法会在Controller方法执行前被调用,用于为Model对象绑定参数。@DataBinder用于修饰方法,该方法.原创 2020-06-07 17:09:31 · 481 阅读 · 0 评论 -
牛客网后端项目实战(二十二):发送私信
发送私信采用异步的方式发送私信。发送成功后刷新私信列表。设置已读访问私信详情时, 将显示的私信设置为已读状态。还是以数据层业务层和表现层的顺序开发。数据层首先在MessageMapper里新增两个方法,一个新增消息,一个修改消息状态的方法。 //新增消息 int insertMessage(Message message); //修改状态 int updateStatus(List<Integer> ids,int status);.原创 2020-06-06 23:07:46 · 862 阅读 · 0 评论 -
牛客网后端项目实战(二十一):私信列表
私信列表查询当前用户的会话列表, 每个会话只显示一条最新的私信。支持分页显示。私信详情查询某个会话所包含的私信。支持分页显示。首先看一下数据库的设计,私信相当于一个对话功能,那么两个人就组成一个对话,这段对话里有A发给B的消息,有B发给A的消息,那么我们把发送者和接收者的id拼接到一起形成一个会话id,把id小的拼接在前面。还有一种私信是系统通知,那么只需要把from_id指定一个固定的值,这里指定为1。实体类新建Message实体类,对应数据库字段。对应get/set方法.原创 2020-06-04 22:09:43 · 1052 阅读 · 0 评论 -
牛客网后端项目实战(二十):添加评论
数据层增加评论数据。修改帖子的评论数量。业务层处理添加评论的业务: 先增加评论、再更新帖子的评论数量。表现层处理添加评论数据的请求。设置添加评论的表单。添加评论的功能也是比较基础的,按照数据层业务层和表现层进行开发,比较特别的就是会用到前面提到的事务管理。为了效率,在帖子的字段里设计了一个评论数量,那么我们添加评论的时候就要同时更新评论数量。数据层首先是在CommentMapper里添加插入评论的方法。int insertComment(Comment comm.原创 2020-06-03 21:52:40 · 767 阅读 · 0 评论 -
牛客网后端项目实战(十九):显示评论
数据层根据实体查询一页评论数据。根据实体查询评论的数量。业务层处理查询评论的业务。 处理查询评论数量的业务。表现层显示帖子详情数据时, 同时显示该帖子所有的评论数据。这个功能是一个比较常规的功能,按照常规流程,数据层,业务层和表现层进行开发。**一些解释:**user_id对应的是发评论的用户,entity_type是指评论的类型,目前我们打算开发论坛部分,那么就有两种类型,对帖子的评论和对评论的评论,为了方便区分,对评论的评论我们成为回复,entity_id对应回复的.原创 2020-05-28 17:19:10 · 862 阅读 · 0 评论 -
牛客网后端项目实战(十八):事务管理
回顾什么是事务事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。事务的特性(ACID)原子性(Atomicity):事务是应用中不可再分的最小执行体。一致性(Consistency):事务执行的结果,须使数据从一个一致性状态,变为另一个一致性状态。隔离性(Isolation):各个事务的执行互不干扰,任何事务的内部操作对其他的事务都是隔离的。持久性(Durability):事务一旦提交,对数据所做的任何改变都要记录到永久存储器中。事务的隔离性原创 2020-05-26 20:53:27 · 625 阅读 · 0 评论 -
牛客网后端项目实战(十七):帖子详情
本节内容:DiscussPostMapperDiscussPostServiceDiscussPostControllerindex.html在帖子标题上增加访问详情页面的链接discuss-detail.html处理静态资源的访问路径复用index.html的header区域显示标题、作者、发布时间、帖子正文等内容帖子详情比较简单,就是标准的开发流程,前端的处理略,有兴趣的自行了解thymeleaf。mapper首先是在DiscussPo原创 2020-05-26 19:52:30 · 945 阅读 · 0 评论 -
牛客网后端项目实战(十六):发布帖子
牛客网后端项目实战(十六):发布帖子封装Json工具Ajax示例发布帖子本节内容:AJAXAsynchronous JavaScript and XML异步的JavaScript与XML,不是一门新技术,只是一个新的术语。使用AJAX,网页能够将增量更新呈现在页面上,而不需要刷新整个页面。虽然X代表XML,但目前JSON的使用比XML更加普遍。https://developer.mozilla.org/zh-CN/docs/Web/Guide/AJAX示例使用jQuery发原创 2020-05-26 18:48:35 · 1762 阅读 · 0 评论 -
牛客网后端项目实战(十五):过滤敏感词
title: 牛客网后端项目实战(十五):过滤敏感词date: 2020/04/20tags:后端javaspringcategories: 牛客网后端项目实战keywords:后端javaspringtop_img: http://cdn.neuswc2019.xyz/20200414100138.pngcover: http://cdn.neuswc2019.xy...原创 2020-04-20 16:15:16 · 2042 阅读 · 6 评论 -
牛客网后端项目实战(十四):检查登录状态
本节内容:使用拦截器在方法前标注自定义注解拦截所有请求,只处理带有该注解的方法自定义注解常用的元注解:@Target、@Retention、@Document、@Inherited如何读取注解:Method.getDeclaredAnnotations ()Method.getAnnotation (Class annotationClass)限...原创 2020-04-14 09:52:26 · 620 阅读 · 0 评论 -
牛客网后端项目实战(十三):账号设置
本节内容:上传文件请求:必须是POST请求表单:enctype=“multipart/form-data”Spring MVC:通过 MultipartFile 处理上传文件开发步骤上传头像获取头像配置文件存储路径首先上传头像得有一个存储头像的路径,这个路径不能是固定的,因为在本地开发和部署到服务器肯定不一样,目前存到本地,后期也会存到云服务器上。在applicati...原创 2020-04-13 16:43:22 · 877 阅读 · 3 评论 -
牛客网后端项目实战(十二):显示登录信息
牛客网后端项目实战(十二):显示登录信息拦截器示例定义拦截器配置拦截器拦截器应用封装两个小工具在请求开始时查询登录用户,在本次请求中持有用户数据在模板视图上显示用户数据在请求结束时清理用户数据配置拦截器示例当用户登录过后,之后的请求都应该以登录态去访问,也就是每次带上ticket,例如网站首页,登录和未登录的显示应该不同,如果我们按照正常逻辑,每个请求都得判断登录态,处理相关逻辑。而使用拦截器...原创 2020-03-29 16:51:37 · 887 阅读 · 0 评论 -
牛客网后端项目实战(十一):开发登录、退出功能
牛客网后端项目实战(十一):开发登录、退出功能登录entitydaoServicecontroller退出登录entity首先我们看一看数据库login_ticket表,id主键,user_id,ticket也就是登录口令,还有status状态,0有效1无效,expired失效日期。根据数据库写实体类,并生成get/set方法。 private int id; private i...原创 2020-03-28 10:45:43 · 927 阅读 · 0 评论 -
牛客网后端项目实战(十):生成验证码
牛客网后端项目实战(十):生成验证码导入jar包编写kaptcha配置类生成随机字符,图片https://code.google.com/archive/p/kaptcha导入jar包首先,还是老方法,在mvnrepository网站搜索kaptcha,添加到pom等待idea自动下载。<dependency> <groupId>com.github.pe...原创 2020-03-27 09:48:59 · 742 阅读 · 0 评论 -
牛客网后端项目实战(九):会话管理
文章目录COOKIESESSION分布式部署下的sessionHTTP的基本性质HTTP是简单的HTTP是可扩展的HTTP是无状态的,有会话的Cookie是服务器发送到浏览器,并保存在浏览器端的一小块数据。浏览器下次访问该服务器时,会自动携带块该数据,将其发送给服务器。Session是JavaEE的标准,用于在服务端记录客户端信息。数据存放在服务端更加安全,但是...原创 2020-03-18 17:35:35 · 650 阅读 · 0 评论 -
牛客网后端项目实战(八):开发注册功能
牛客网后端项目实战(八):开发注册功能发送邮件邮箱设置Spring Email导入jar包邮箱参数配置使用JavaMailSender使用模板引擎开发注册功能访问注册页面提交注册数据工具类注册服务激活注册账号发送邮件邮箱设置启用客户端SMTP服务Spring Email导入 jar 包邮箱参数配置使用 JavaMailSender 发送邮件模板引擎使用 Thyme...原创 2020-03-18 12:04:24 · 1865 阅读 · 0 评论 -
牛客网后端项目实战(七):项目调试技巧
项目调试技巧响应状态码的含义服务端断点调试技巧客户端断点调试技巧设置日志级别,并将日志输出到不同的终端响应状态码还是之前提到过的文档,HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)。文档常见的一些:200...原创 2020-03-11 20:54:52 · 835 阅读 · 0 评论 -
牛客网后端项目实战(六):开发社区首页
开发社区首页开发流程1次请求的执行过程分步实现开发社区首页,显示前10个帖子开发分页组件,分页显示所有的帖子我们首先开发社区首页,显示帖子,先查看一下存帖子的表,在navicat右边可以查看DDL(Data Definition Language),也就是建表语句,workbench查看的方法自行百度。根据DDL了解一下表的结构。然后我们就可以进行开发,根据上图的...原创 2020-03-10 20:17:25 · 2148 阅读 · 3 评论 -
牛客网后端项目实战(五):Mybatis入门
MyBatis入门安装数据库安装MySQL Server安装MySQL Workbench直接在官网下载,安装教程网上比较多,这里就不做演示了。我使用的mysql installer,个人觉得更加方便。可以随时使用installer安装卸载更新MySQL各种版本和相关软件。使用cmd导入数据默认mysql已经安装好并且启动,无论何种方式安装,进入命令行输入用户名密码登录。可以使...原创 2020-03-10 10:40:53 · 1113 阅读 · 7 评论 -
牛客网后端项目实战(四):Spring MVC入门
Spring MVC入门做web开发,首先对web有一个大体的了解,下图第一部分是网页的组成成分,我们看到的各式各样的网页就是浏览器根据这些文件渲染出来的,第二部分http协议,是应用层的协议,用来传输上方的这些文件,再下面是传输层和网络层的相关内容,具体的自行学习。HTTP协议首先了解http协议,这里提供Mozilla的官方文档进行学习HyperText Transfer Prot...原创 2020-03-09 18:08:13 · 1017 阅读 · 0 评论 -
牛客网后端项目实战(三):Spring入门
Spring全家桶Spring Framework:基石Spring Boot:build anythingSpring Cloud:coordinate anythingSpring Cloud Data Flow:connect anythingSpring FrameworkSpring CoreIoC、AOP(IoC控制反转,AOP面向切面,是Spring的核心,是管...原创 2020-03-09 09:36:19 · 898 阅读 · 1 评论 -
牛客网后端项目实战(二):搭建开发环境
一、Apache Maven功能:帮助我们构建项目,管理项目中的jar包Maven仓库:存放构件的位置(需要时先检查本地仓库,如果没有从远程仓库下载)本地仓库:默认是~/.m2/repository远程仓库:中央仓库(慢)、镜像仓库(国内镜像比较快)、私服仓库安装进入官网,点击左侧download进入下载页面,windows系统下载binary zip archive版本使...原创 2020-03-09 09:35:11 · 1484 阅读 · 3 评论