监听器

Activiti工作流实战使用总结

两盒软妹~` 提交于 2020-03-19 17:23:13
作流在我们日常的工作中用得可谓相当普及,尤其在企业内部管理系统,如考勤、财务、合同等系统中更是离不开它。在我们金融科技领域,工作流主要用于贷款审批、风控审核等环节。由于工作流具有一定的门槛,国内尚没有能满足企业级应用的工作流开源框架,一些国内CMS开源项目号称支持的工作流也只是对Activiti的简单引入或者是较简单的工作流实现,还不能完整的满足一般企业应用。 Activiti是目前最热门的开源工作流框架,但是由于中西方文化差异及组织架构上的不同,拿Activiti来做中国式的企业级应用难度很高,需要做大量的改造。如果JAVA底子不好推荐XJR快速开发框架,基于国内企业级需求自主开发的一款java开发框架。通过图形化、可视化的简单拖拉设置操作,快捷设计出我们所需的表单、APP、流程、报表等,可开发各种管理信息系统。 这里记录下Activiti工作流常见的思考点及解决思路,实际碰到的问题会更多且更复杂。 1、待办已办在Activiti相关API中是面向任务的,需求是面向流程的 比如,如下图的需求 在Activit中一个流程是有多个Task组成,而我们中国式的审批需求是一个流程只允许出现一次,哪怕这个流程你在审批过程中参与过两次以上的审批任务,也仅需要显示一次。 这里就需要将TaskService查询出来的任务再按流程实例ID进行去重,去重后任务查询api的分页会变得不可用

Activiti工作流实战使用总结

大憨熊 提交于 2020-03-19 17:22:57
作流在我们日常的工作中用得可谓相当普及,尤其在企业内部管理系统,如考勤、财务、合同等系统中更是离不开它。在我们金融科技领域,工作流主要用于贷款审批、风控审核等环节。由于工作流具有一定的门槛,国内尚没有能满足企业级应用的工作流开源框架,一些国内CMS开源项目号称支持的工作流也只是对Activiti的简单引入或者是较简单的工作流实现,还不能完整的满足一般企业应用。 Activiti是目前最热门的开源工作流框架,但是由于中西方文化差异及组织架构上的不同,拿Activiti来做中国式的企业级应用难度很高,需要做大量的改造。如果JAVA底子不好推荐XJR快速开发框架,基于国内企业级需求自主开发的一款java开发框架。通过图形化、可视化的简单拖拉设置操作,快捷设计出我们所需的表单、APP、流程、报表等,可开发各种管理信息系统。 这里记录下Activiti工作流常见的思考点及解决思路,实际碰到的问题会更多且更复杂。 1、待办已办在Activiti相关API中是面向任务的,需求是面向流程的 比如,如下图的需求 在Activit中一个流程是有多个Task组成,而我们中国式的审批需求是一个流程只允许出现一次,哪怕这个流程你在审批过程中参与过两次以上的审批任务,也仅需要显示一次。 这里就需要将TaskService查询出来的任务再按流程实例ID进行去重,去重后任务查询api的分页会变得不可用

swing简介

血红的双手。 提交于 2020-03-18 01:51:10
Swing(用户界面开发工具包) 编辑 Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台 应用程序 可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event 目录 1 创建图形界面步骤 2 导入Swing包 3 选择界面风格 4 设置顶层容器 5 添加其他组件 6 模式使用 7 事件处理 1 创建图形界面步骤 编辑 (1)导入Swing包 Swing 可定制图形界面 (6张) (2)选择界面风格 (3)设置顶层容器 (4)设置按钮和标签 (5)将组件放到容器上 (6)为组件增加边框 (7)处理事件 (8)辅助技术支持 2 导入Swing包 编辑 下面语句导入Swing包 import javax.swing.*; 大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包: import java.awt.*; import java.awt.event.*; 如果图形界面中包括了事件处理,那么还需要导入事件处理包: import javax.swing.event.*; 3 选择界面风格 编辑

过滤器、监听器、拦截器

无人久伴 提交于 2020-03-17 17:45:16
过滤器、监听器、拦截器三者联系 过滤器(Filter) 主要用于对用户的请求进行预处理 通过过滤器Filter技术,可以管理Web服务器的所有资源(例如jsp,html,静态资源文件等),并进行拦截,从而实现一些特殊的功能(例如实现URL级别的权限访问控制,过滤铭感词汇,设置字符集编码格式等)。 功能实现: 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest请求(检查或修改其数据)。 在HttpServletResponse到达客户端之前,拦截HttpServletResponse请求(检查或修改其数据)。 如何实现: 编写Java类实现Filiter接口,并实现doFilter()方法 在web.xml中注册编写的Filter类 示例:( 对请求统一设置字符编码格式utf-8,解决乱码问题 ) 1.创建项目--filter,增加web框架支持(add Frameworks Support) 2.创建包--cn.zero.servlet,编写类MyServlet package cn.zero.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http

Activiti工作流实战使用总结

一曲冷凌霜 提交于 2020-03-17 12:35:45
工作流在我们日常的工作中用得可谓相当普及,尤其在企业内部管理系统,如考勤、财务、合同等系统中更是离不开它。在我们金融科技领域,工作流主要用于贷款审批、风控审核等环节。由于工作流具有一定的门槛,国内尚没有能满足企业级应用的工作流开源框架,一些国内CMS开源项目号称支持的工作流也只是对Activiti的简单引入或者是较简单的工作流实现,还不能完整的满足一般企业应用。 Activiti是目前最热门的开源工作流框架,但是由于中西方文化差异及组织架构上的不同,拿Activiti来做中国式的企业级应用难度很高,需要做大量的改造。如果JAVA底子不好可以试试XJR快速开发框架,基于国内企业级需求自主开发的一款java开发框架。通过图形化、可视化的简单拖拉设置操作,快捷设计出我们所需的表单、APP、流程、报表等,可开发各种管理信息系统。 这里记录下Activiti工作流常见的思考点及解决思路,实际碰到的问题会更多且更复杂。 1、待办已办在Activiti相关API中是面向任务的,需求是面向流程的 比如,如下图的需求 在Activit中一个流程是有多个Task组成,而我们中国式的审批需求是一个流程只允许出现一次,哪怕这个流程你在审批过程中参与过两次以上的审批任务,也仅需要显示一次。 这里就需要将TaskService查询出来的任务再按流程实例ID进行去重,去重后任务查询api的分页会变得不可用

Laravel中的Event机制

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-17 01:24:25
某厂面试归来,发现自己落伍了!>>> Laravel 的 事件(Event) 提供了简单的 观察者模式 实现,允许你 订阅 和 监听 应用中的事件。 事件类通常存放在 app/Events 目录,监听器存放在 app/Listeners 。 事件为应用功能 模块解耦 提供了行之有效的解决办法,因为单个事件可以有多个监听器,一个监听器也可以监听多个事件,而这些事件之间,监听器之间并不相互依赖。 1,事件 放在 app/Events目录下,比如 <?php namespace App\Events\Order\Shipped; use App\Models\Order as OrderModel; use Illuminate\Queue\SerializesModels; use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Broadcasting\InteractsWithSockets; class Shipped { use Dispatchable, InteractsWithSockets, SerializesModels; /** * @var $order OrderModel */ public $order; public $goodsId; public function _

过滤器和监听器

梦想与她 提交于 2020-03-15 06:45:55
过滤器的介绍 Filter 即为过滤,用于在 Servlet 之外对 Request 或者 Response 进行修改。它主要用于对用户请求进行预处理,也可以对 HttpServletResponse 进行后处理。使用 Filter 的完整流程: Filter 对用户请求进行预处理,接着将请求交给 Servlet进行处理并生成响应,最后 Filter 再 对服务器响应进行后处理。在一个 web 应用中,可以开发编写多个 Filter,这些 Filter 组合 起来称之为一个 Filter 链。 若是一个过滤器链:先配置先执行(请求时的执行顺序);响应时: 以相反的顺序执行。 在 HttpServletRequest 到达 Servlet 之前,拦截客户的 HttpServletRequest 。根据需要检查 HttpServletRequest,也可以修改 HttpServletRequest 头和数据。 在 HttpServletResponse 到达客户端之前,拦截 HttpServletResponse。根据需要检查 HttpServletResponse,也可以修改 HttpServletResponse 头和数据。 2. 实现 我们可以通过实现一个叫做 javax.servlet.Fileter 的接口来实现一个过滤器,其中定义了 三个方法,init(),

Servlet总结

穿精又带淫゛_ 提交于 2020-03-12 18:53:29
index: 1,什么是Servlet 2,Servlet有什么作用 3,Servlet的生命周期 4,Servlet怎么处理一个请求 5,Servlet与JSP有什么区别 6,Servlet里的cookie技术 7,Servlet里的过滤器 8,Servlet里的监听器 一,什么是Servlet? Servlet是一个Java编写的程序,此程序是基于Http协议的,在服务器端运行的(如tomcat), 是按照Servlet规范编写的一个Java类。 二,Servlet有什么作用? 主要是处理客户端的请求并将其结果发送到客户端。 三,Servlet的生命周期? Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。 初始化阶段: 1,Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。 2,然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。 3,Servlet容器创建一个servlet对象。 4,Servlet容器调用servlet对象的init方法进行初始化。 运行阶段: 当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。

Servlet总结

走远了吗. 提交于 2020-03-12 18:17:55
Servlet 总结 index: 1 ,什么是 Servlet 2 , Servlet 有什么作用 3 , Servlet 的生命周期 4 , Servlet 怎么处理一个请求 5 , Servlet 与 JSP 有什么区别 6 , Servlet 里的 cookie 技术 7 , Servlet 里的过滤器 8 , Servlet 里的监听器 一,什么是 Servlet ? Servlet 是一个 Java 编写的程序,此程序是基于 Http 协议的,在服务器端运行的 ( 如 tomcat) , 是按照 Servlet 规范编写的一个 Java 类。 二, Servlet 有什么作用? 主要是处理客户端的请求并将其结果发送到客户端。 三, Servlet 的生命周期? Servlet 的生命周期是由 Servlet 的容器来控制的,它可以分为 3 个阶段 ; 初始化,运行,销毁。 初始化阶段: 1 , Servlet 容器加载 servlet 类,把 servlet 类的 .class 文件中的数据读到内存中。 2 ,然后 Servlet 容器创建一个 ServletConfig 对象。 ServletConfig 对象包含了 Servlet 的初始化配置信息。 3 , Servlet 容器创建一个 servlet 对象。 4 , Servlet 容器调用 servlet

过滤器,监听器,拦截器的区别,以及使用

ぐ巨炮叔叔 提交于 2020-03-11 09:35:36
Filter的创建和销毁也是由WEB服务器负责。不过与Servlet区别的是,它是1>在应用启动的时候就进行装载Filter类(与Servlet的load-on-startup配置效果相同)。2>容器创建好Filter对象实例后,调用init()方法。接着被Web容器保存进应用级的集合容器中去了等待着,用户访问资源。3>当用户访问的资源正好被Filter的url-pattern拦截时,容器会取出Filter类调用doFilter方法,下次或多次访问被拦截的资源时,Web容器会直接取出指定Filter对象实例调用doFilter方法(Filter对象常驻留Web容器了)。4>当应用服务被停止或重新装载了,则会执行Filter的destroy方法,Filter对象销毁。 < filter>指定一个过滤器。 < filter-name>用于为过滤器指定一个名字,该元素的内容不能为空。 < filter- class>元素用于指定过滤器的完整的限定类名。 <init-param>元素用于为过滤器指定初始化参数,它的子元素 <param-name>指定参数的名字, <param-value>指定参数的值。 在过滤器中,可以使用FilterConfig接口对象来访问初始化参数。 < filter-mapping>元素用于设置一个 Filter 所负责拦截的资源。一个