背景 系统出现数据莫名丢失,业务人员的反馈无法复现问题.纠结了很久,最终老板发话要记录操作,通过日志进行分析重现 环境 SSH框架 目标 1.记录访问了那个方法,使用的参数及返回的内容 2.记录新增.修改.删除的数据持久化记录 关键 监听器(Interceptor) 实现 1.访问记录,使用Struts的MethodFilterInterceptor监听器 import org.apache.log4j.Logger; import org.apache.struts2.ServletActio…
我使用springMVC集成mybatis,执行SQLMapper配置文件里的insert操作,发现程序没有报错,但数据库表里却没有刚才插入的记录.查了很多资料,终于在一篇博客上找到了答案:在执行完方法后,必须有 session.commit();这句话进行事务提交.因为在做Insert  Update  Delete的时候,会先开启事务,而Mybatis不会自动提交(或许可以设置,我还不知道),所以,必须手动提交事务.于是我才调用包含insert操作的方法之后添加session.commit(…
在前面几篇随笔,都是介绍微信支付及红包相关的内容,其实支付部分的内容还有很多,例如企业付款.公众号支付或刷卡支付.摇一摇红包.代金券等方面的内容,这些都是微信接口支持的内容,本篇继续微信支付这一主题,继续介绍微信支付中的企业付款的操作,实现对企业付款API的接口C#代码的封装,以及测试效果. 1.企业付款的介绍 所谓企业付款指的是,在功能开放后诸如保险行业的客户理赔.退保.商品退款.发放征集活动奖金.抽奖互动等操作都可以通过企业付款完成.而此前,微信支付只能提供客户向企业单向付款. 商户如果需要…
AJAX: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.   如果此页面用到了ajax方法,一定要在页面上端加上: <script src="../../jquery-1.11.2.min.js"></script> ajax基础语法: <script type="text/javascript"&g…
不知不觉已到了第九天了,今天主要讲了关系数据库的基本概述.安装.数据库.表和数据行的操作 1. 基本概述 1.1 数据库就是用来存储数据的.早期是存在文件里面的操作起来效率低而且不是很安全. 1.2 关系型数据库.这个可以简单理解成以表的形式存储的数据库,表与表存在着某些关系,而数据库能帮我们保存这种关系. 1.3 ANSI和ISO制定了一套SQL标准,所有数据库厂商都得遵循这个标准,但是他们也各自进行了扩展(即他们的SQL方言如:oracle的pl/sql,sql server的T-sql)…
发送到 net.tcp://192.168.1.18:8732/CallbackService 的请求操作在配置的超时(00:00:59.9879994)内未收到回复. 分配给此操作的时间可能已经是更长超时的一部分.这可能由于服务仍在处理操作或服务无法发送回复消息. 请考虑增加操作超时(将通道/代理转换为 IContextChannel 并设置 OperationTimeout 属性)并确保服务能够连接到客户端. 网上找了很多资料,都无法解决我的问题. INotificationServices…
在后台管理中,有一些操作是需要增加操作日志的,尤其是对一些比较敏感的金额类的操作,比如商城类的修改商品金额.删除商品.赠送金额等人工的操作.日志中记录着相关操作人的操作信息,这样,出了问题也容易排查. 那么如何高效统一的处理增加这些日志呢?下面,分享一下我的思路及做法. 1.建日志相关表.需要建两个表,一是日志类型表(ActivityLogType),二是日志表(ActivityLog), 相关的表结构如下: 日志类型表:Id,SystemKeyword,Name,Enable (1 自动投标设…
http://www.thinkphp.cn/code/207.html 通过formatter方法给Jquery easyui 的datagrid 每行增加操作链接我们都知道Jquery的EasyUI的datagrid可以添加并且自定义Toolbar,这样我们选择一行然后选择toolbar的相应按钮就可以对这行的数据进行操作.但实际项目里我们可能需要在每行后面加一些操作链接,最常见的就是比如“修改”.“删除”.“查看”之类.如下图: 这是个很实用的功能,但是搜索了一下,好像也没见到谁写过,我就…
  JavaWeb response对象常用操作 CreationTime--2018年7月18日10点42分 Author:Marydon 1.设置响应内容类型 方式一 response.setContentType(contentType); 方式二 response.setHeader("Content-Type", contentType); response.setContentType(MIME)的作用: 让服务器告诉浏览器它发送的数据属于什么文件类型,使客户端浏览器,区分…
  JavaWeb request对象常用操作 CreateTime--2018年6月1日16点47分 Author:Marydon 一.前提 import javax.servlet.http.HttpServletRequest; 二.具体操作 1.获取网络协议(http,https) // 网络协议 String networkProtocol = request.getScheme(); 2.获取ip(127.0.0.1) // 网络ip String ip = request.getS…