当前位置: 首页 > news >正文

网站框架搭建设计专业柳州网站建设价格

网站框架搭建设计,专业柳州网站建设价格,江苏路街道网站建设,网站建设都用那些软件TheadLocal 客户端发送的每次http请求#xff0c;在服务端都会分配新的线程。因此登录检查过滤器、controller、元数据对象处理器属于一个线程。 TheadLocal是线程的局部变量#xff1a; TheadLocal常用方法#xff1a; 如何在元数据对象处理器中获取当前登录用户的id在服务端都会分配新的线程。因此登录检查过滤器、controller、元数据对象处理器属于一个线程。 TheadLocal是线程的局部变量 TheadLocal常用方法 如何在元数据对象处理器中获取当前登录用户的id 因为登录检查过滤器、controller、元数据对象处理器属于一个线程所以可以在filter中获取登录用户的idset到ThreadLocal中在元数据处理器中get到线程局部变量ThreadLocal的值。 代码实现 第一步实体类注解 TableField(fill FieldFill.INSERT) //插入时填充字段private LocalDateTime createTime;TableField(fill FieldFill.INSERT_UPDATE) //插入和更新时填充字段private LocalDateTime updateTime;TableField(fill FieldFill.INSERT) //插入时填充字段private Long createUser;TableField(fill FieldFill.INSERT_UPDATE) //插入和更新时填充字段private Long updateUser; 第二步封装基于ThreadLocal的工具类 在common包下 /*** 基于ThreadLocal封装工具类用户保存和获取当前登录用户id*/ public class BaseContext {private static ThreadLocalLong threadLocal new ThreadLocal();/*** 设置值* param id*/public static void setCurrentId(Long id){threadLocal.set(id);}/*** 获取值* return*/public static Long getCurrentId(){return threadLocal.get();} } 第三步登录检查过滤器把id加到ThreadLocal //4、判断登录状态如果已登录则直接放行if(request.getSession().getAttribute(employee) ! null){log.info(用户已登录用户id为{},request.getSession().getAttribute(employee));//这里要强转虽然request.getSession().getAttribute(employee)类型确实是LongLong empId (Long) request.getSession().getAttribute(employee);BaseContext.setCurrentId(empId);filterChain.doFilter(request,response);return;} 第四步自定义元数据对象处理器获取ThreadLocal的id 在common包下 /*** 自定义元数据对象处理器*/ Component Slf4j public class MyMetaObjectHandler implements MetaObjectHandler {/*** 插入操作自动填充* param metaObject*/Overridepublic void insertFill(MetaObject metaObject) {log.info(公共字段自动填充[insert]...);log.info(metaObject.toString());//第一个参数属性名第二个参数自动填充的值metaObject.setValue(createTime, LocalDateTime.now());metaObject.setValue(updateTime,LocalDateTime.now());metaObject.setValue(createUser,BaseContext.getCurrentId());metaObject.setValue(updateUser,BaseContext.getCurrentId());}/*** 更新操作自动填充* param metaObject*/Overridepublic void updateFill(MetaObject metaObject) {log.info(公共字段自动填充[update]...);log.info(metaObject.toString());long id Thread.currentThread().getId();log.info(线程id为{},id);metaObject.setValue(updateTime,LocalDateTime.now());metaObject.setValue(updateUser,BaseContext.getCurrentId());} } 第五步删除之前写的创建、更新时间等相关代码让其自动填充
http://wiki.neutronadmin.com/news/225685/

相关文章:

  • 单位建网站的优势厦门营销型网站建设
  • 哪些网站可以免费微信网站建设公司首选
  • 网站引导页模板做网站选什么系统
  • 网站开发常见方法网站建设摘要
  • 信阳高端网站建设郑州模板建站系统
  • 厦门亚龙网站建设装修网十大平台
  • 想要做一个网站最好的网站设计公司源码 php
  • 新网备案成功了怎么做网站威海网站优化公司
  • dedecms教育h5网站模板免费建手机网站后台
  • 网站设置超链接换ip对网站有影响吗
  • asp.net网站维护营销网站建设公司效果
  • 创客贴网站做海报技能黑帽seo工具
  • 怎么制作公司自己网站安徽教育云平台网站建设
  • 网站建设自查维护报告周村网站制作首选公司
  • 做网站主要学什么条件武威建设网站的网站
  • 电子网站建wordpress计次查询
  • 山东机关建设网站东莞商城网站建设价格
  • 怀宁县建设局网站手机在网上怎么创建自己的网站
  • 邯山网站制作建设个人银行网站
  • 构建一个网站需要什么青州网站建设推广
  • 河池网站优化品牌词优化
  • win8 风格网站模板网站 搜索引擎 提交
  • 做网络销售保温材料用什么网站好专门做库存的网站
  • 安徽省同济建设集团网站html网页制作代码作业
  • 网站备案和域名备案有什么区别虚拟产品货源网站
  • 自学做网站可以赚钱吗什么是推广型网站
  • 便宜虚拟主机做网站备份服饰视频网站建设
  • 好看的单页面网站wordpress cookie失效
  • 上海网站推广广告wordpress转换语言
  • 建设网站项目的目的网站目录扫描