问答平台(3),事务管理 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元,这些操作要么全执行,要么全不执行。 事务的特性(ACID)1234- 原子性(Atomicity):事务是应用中不可再分的最小执行体。- 一致性(Consistency):事务执行的结果,须使数据从一个一致性状态,变为另一个一致性状态。- 隔离性(Isolation):各个事务的执行互不干扰,任何事务的内部操作对其他的事务都是隔离的。- 2020-05-12 #问答平台
Hexo-yilia主题,添加Valine评论系统 LeanCloud账号注册首先需要注册一个LeanCloud账号,点击左下角创建应用,如下图所示:起个名字,选择开发版,然后创建。创建完成后,进入刚刚创建的应用,选择设置->应用Key,找到APP ID和APP Key,如下图所示: yilia主题,_config.yml文件内增加配置12345678#Valine配置valine: appid: xxx #Leancloud应用的app 2020-05-11 #Hexo博客
问答平台(3),帖子详情 数据访问层12// DiscussPostMapper.javaDiscussPost selectDiscussPostById(int id); discusspost-mapper.xml 里写sql123456789<sql id="selectFields"> id, user_id, title, content, type, status, c 2020-05-10 #问答平台
问答平台(3),发布帖子 AJAX Asynchronous JavaScript and XML 异步的JavaScript与XML,不是一门新技术,只是一个新的术语。 使用AJAX,网页能够将增量更新呈现在页面上,而不需要刷新整个页面。 虽然X代表XML,但目前JSON的使用比XML更加普遍。 封装 Json 工具 使用阿里的fastjson,引入依赖。12345<dependency> < 2020-05-08 #问答平台
Ubuntu16.04,安装 Ubuntu16.04镜像1234http://mirrors.aliyun.com/ubuntu-releases/16.04/ # 阿里云开源镜像站(推荐)http://mirrors.163.com/ubuntu-releases/ # 网易开源镜像站(推荐)http://mirrors.zju.edu.cn/ubuntu-releases/16.04/ # 浙江大学http://mirro 2020-05-06 #Linux
问答平台(3),过滤敏感词 前缀树示意图123- 名称:Trie、字典树、查找树- 特点:查找效率高,消耗内存大- 应用:字符串检索、词频统计、字符串排序等工具类敏感词过滤器,SensitiveFilter 定义前缀树123456789101112131415161718192021222324252627// 前缀树(内部类)private class TrieNode { // 关键词结束标识 pr 2020-05-04 #问答平台
Hexo,翻页问题 翻页问题blog\themes\yilia\layout\_partial\archive.ejs,修改如下两处: blog\themes\yilia\layout\_partial\script.ejs,ctrl + f,搜索 prev or next找到这两处, 去掉«和»,效果如下图所示: 参考资料https://blog.csdn.net/weixi 2020-05-02 #Hexo博客
问答平台(2),检查登录状态 问题背景如果用户没登录,拒绝直接访问设置用户的URL,服务器端需要有判断机制。 使用拦截器12- 在方法前标注自定义注解;- 拦截所有请求,只处理带有该注解的方法。 自定义注解常用的元注解1234- @Target: 声明自定义注解可以作用在哪个位置- @Retention:声明自定义注解有效的时间(运行时有效 or 编译时有效)- @Document:生成文档时是否带上注解- @Inherit 2020-05-01 #问答平台
问答平台(2),账号设置 上传文件 请求:必须是POST请求 表单:enctype = “multipart/form-data” Spring MVC:通过MultipartFile处理上传文件,在表现层保存文件,业务层只更新路径。 开发步骤 访问账号设置页面 表现层12345// UserController.java@RequestMapping(path = "/setting& 2020-05-01 #问答平台
问答平台(2),显示登录信息 问题背景每个页面头部都要显示用户头像。如果用户没有登录,页面最上方显示的是登录按钮;如果用户登录,显示的是头像、消息等按钮。根据是否登录,调整页面内容。 拦截器的好处如果每个页面都调用相同的方法来显示用户信息,耦合度高。利用Spring拦截器来解决问题:拦截浏览器访问请求,在请求的开始和结束部分插入,批量解决多个请求共有的业务,低耦合度。 拦截器的示例定义拦截器实现 HandlerIntercep 2020-04-30 #问答平台