因为不知aop能干嘛,因此用aop做个小功能,再结合最近学的springboot-Email做了个系统异常自动邮件通知的功能, 感觉满满的成就感. AOP不懂的可以看上一篇:https://www.cnblogs.com/zgq7/p/11310142.html spring-email不懂的看上一篇:https://www.cnblogs.com/zgq7/p/11314895.html 先看看这个功能的总体规划图: 因此需要思考的是: 1:如何捕获异常? 总不能在每个会发生异常的地方写 th…
今天做一个项目的时候,要在一个编辑的jsp页面的textarea标签设置value属性,结果发现他没有value属性,但是是编辑页面又必须要回显要修改的内容,所以在参考了w3cschool之后很轻松的解决了这个问题. <s:property value="courseDescription"/>该标签的作用是显示需要编辑的内容,而textarea标签是没有value属性用来显示的, 经过查询网w3cschool可以直接写在<textarea></texta…
一.整合SpringJDBC 1  JDBC JDBC(Java Data Base Connectivity,Java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成.JDBC 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 1.1 优点 JDBC 就是一套 Java 访问数据库的 API 规范,利用这套规范屏蔽了各种数据库 API 调用的差异性: 当 Jav…
1.前言 AOP切面技术,大家应该都听知道,Spring框架的主要功能之一. AOP切面的用途很广,其中一个常见的用途就是打印接口方法的运行日志和运行时间. 日志对于一个项目很是重要,不仅有助于调错,还是后期大数据分析的重要数据来源,这里我就简单介绍一下如何在SpringBoot中利用AOP切面打印后端接口的运行情况. 2.切面代码 实现方式很简单,在SpringBoot工程中,增加切面类,代码如下: import cn.zhuifengren.util.JsonUtils; import or…
一.首先我先介绍一下,我们要做一个什么样的项目功能 项目功能就是一个音频点击播放,当点击为播放的状态时,一个音频的动图出现,而且是可以跟随着手指的滑动而滑动,而且,在滑动动图的时候,当前下的页面是不可以跟随着我的滑动而上下滚动,当停止滑动的时候,音频动图停靠在手机的左侧或者右侧,而当前下的页面是可以上下滚动的,功能介绍到此为止,下面我们说一下思路. 二.我们做这个功能,第二步就是要想思路 思路就是,利用微信中的滑动事件,外加控制css样式,来完成这个功能. 三.这是项目的ui图,废话不多说,直接…
一.效果图 左右丝滑滑动,并且有缩放动画. 二.分析和思路 1. 为什么选择用UICollectionView去做上面的效果? 首先无限效果永远是表现出来的,而不是程序里面创建了无数个view,如何做到无限效果的视觉差这本身就是一个技术活. 以我的知识水平,可以做无限效果的有三种方式: 1). 三个view + 滑动手势.原理图如下: mid下面的承载view为工作区,负责添加滑动手势和根据手势滑动距离去修改left,mid,right三个view的位置和状态.当手势滑动结束的时候,需要在关闭隐…
dhtmlxGrid支持tree和grid. grid之间.grid内部进行拖拽, 如在grid内部进行拖拽,可以增加一行:在grid之间拖拽,第一个grid的记录删除,第二个grid增加一行记录.…
1.新增一个线程组,并在下面添加基本原件,包括:监听器.http请求默认值和一个事务控制器 在http请求默认值中填写 ip 地址和端口号,协议类型默认为http 2.添加代理服务器,以便之后进行录制 3.启动代理服务器,然后在浏览器中进行操作,操作完毕后停止录制.然后打开事务控制器,可以看到里面出现很多脚本.但是这个时候的脚本很多,包含了一些css.png.gif等静态文件 4.简化脚本:在代理服务器的排除模式中添加正则表达式,剔除不需要录入的文件.然后重新录入 可以看到,脚本简化了许多 5.…
views代码: from django.shortcuts import render from django.conf import settings from booktest.models import PicTest,AreaInfo from django.http import HttpResponse from django.core.paginator import Paginator # Create your views here. # show_upload def sh…
看代码: @Aspect @Component public class TimeCostAspect { private static Logger logger = LoggerFactory.getLogger(TimeCostAspect.class); private static final String POINT = "execution (* com.ming..*.controller..*.*(..))"; @Pointcut(POINT) public void…