- 博客(39)
- 收藏
- 关注
原创 JBPM之流程执行的基本概念
我们定义了一个流程的目的其实就是为了让JBPM按照我们定义的流程去执行,按照某个流程来执行就是一个流程实例(ProcessInstance),比如我们定义了请假流程,那么张三的请假单我们就可以将他看做一个流程实例,李四的请假单又是另一个流程实例,所以流程定义与流程实例的关系是一对
2011-07-27 15:46:15 722
原创 JBPM之流程定义基本概念(通过请假流程进行解释)
JBPM中的流程定义中主要不外乎两个东西,1:Node(节点),2,Transition(线),下面主要说明JBPM流程定义中的的基本概念,假如我们有如下需求: 一个请假单提交流程,提交一个请假单交给张三审批,张三审批完毕可以交给李四或赵六审批,依次类推,那么这样的流程在JBPM
2011-07-26 23:12:21 963
原创 基于XFire的WebService入门级例子
XFire跟Axis一样都是webService引擎,下面是一个简单的XFire例子,用于入门首先下载XFire的jar文件,导入lib下所有jar包及xfire-all那个jar包,创建一个接口: package cn.com.leadfar.test; public inte
2011-07-20 22:06:33 635
原创 同时使用Java2WSDL与WSDL2java
首先在客户端创建一个接口:package cn.com.test.webservice; public interface TestService { public String test();} 使用Java2WSD生成WSDL文件,命令:-o:输出wsdl文件名
2011-07-20 13:51:53 1285
原创 基于RBAC的权限管理系统
RBAC: Role-Based Access Control(基于角色的访问控制) 在RBAC模型中权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理 RBAC0:跟前面的权限三元组一样,具有主体,资源,操作(不清楚的可以看看我前面的权
2011-07-19 18:55:45 1604
原创 权限系统中的权限三元组概念
在各种系统应用中都存在权限控制的概念。那么什么是权限控制?权限控制用一句简单的话描述那就是:控制谁对什么资源执行什么操作这样我们可以抽象出三个对象,即Who(主体),What(资源),How(操作),这样构成了权限三元组,不管你的权限系统多么的复杂,其实核心都是这三个他们的对应关
2011-07-19 18:51:28 4358
原创 设计模式之-单例模式(Singleton)及java中==与equals的区别
GOF中又一创建型模式,FOG中对单例的定义非常简单: 即:保证一个类只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 在应用系统开发中,我们常常有以下需求:- 在多个线程之间,比如servlet环境,共享同一个资源或者操作同一个对象- 在整个程序空间使用全局变量,共
2011-07-19 00:15:34 791
原创 Struts2请求流程
打开浏览器发出一个请求,首先进入的是Dispatcher Filter对请求进行派发,Dispatcher Filter做的工作就是判断发送的请求是否要通过Struts处理,比如.action结尾什么的可以通过配置,如果是jsp结尾呢就直接转向jsp页面,如果是struts2中配
2011-07-18 15:59:16 819 3
原创 数据库设计五范式
第一范式: 对于表中的每一行,必须有且仅仅有唯一的行值,在一行中的每一列仅有唯一的值并且具有原子性第二范式: 要求非主键列是主键的子集,非主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建,主键无
2011-07-18 15:15:50 422
原创 索引、序列、视图
建立某个字段的索引: Create index 索引名 on 表(索引字段) 如果数据库中某些字段查询非常频繁,可以考虑给字段建立索引,这样可以提高查询效率,但是建立索引会影响增删改,使增删改的时候也会去维护这个索引,因此会降低增删改效率 视图:视图就是一张虚的表,
2011-07-18 14:12:05 407
原创 使用WSDL2java得到客户端存根
存根:客户端代理(stub),用于完成底层套接字编程骨架:服务器端代理(skeleton),也是完成底层套接字编程 结构化方式描述 Axis用三种方式支持WSDL1、 url+wsdl方式获得自动生成的wsdl文档2、 wsdl2Java工具能生成java客户
2011-07-17 23:07:35 2404
原创 设计模式之-抽象工厂设计模式
对于抽象工厂模式实际上也是对简单工厂模式的一个加强,可以说也是对工厂方法模式的加强,对产品进行了进一步的抽象,类别划分得更加严密,等级更加的明确,还是以电视的例子为例,电视下面有长虹和创维,在简单工厂中只有一个大工厂,他可以生产出创维也可以生产长虹,而在工厂方法中对工厂进行了详细
2011-07-17 17:36:41 379
原创 Web Service中服务器端异常的处理
在webservice中服务器抛出异常怎么能让客户端看到呢,可以自定义一个异常,继承RemoteException,因为异常的传递实际上也相当于一个pojo对象,所以我们必须在服务器端进行序列化,在客户端进行反序列化,具体例子如下:编写服务类: package cn.com.te
2011-07-17 15:17:22 1340 1
原创 设计模式之-ThreadLocal设计模式应用场景
ThreadLocal众所周知的只是在当前线程下共享数据,其实内部是一个map,那么ThreadLocal主要可以再哪些地方用呢,下面我将举一个非常常用的,可以说每个项目中都会使用到,那就是分页:例子如下 当我们在做分页的时候肯定是会在业务层写一个类似方法findAll(,查询参
2011-07-17 00:32:35 2211
原创 设计模式之-工厂方法模式
跟简单工厂模式一样同属于创建型模式,还被称为多态工厂模式。工厂方法模式大致跟简单工厂模式差不多,具体不同表现在工厂方面,可以这样讲,工厂方法模式就是将工厂详细的分类了,抽象出一个工厂然后实现跟具体工厂里面生产的品牌有关,这样设计有什么好处呢,让我们来看下面的例子:
2011-07-17 00:19:40 1097
原创 MyBatis高级映射之-一对一(一对多)关联映射
在hibernate中可以进行一对一,多对一,一对多,多对多,MyBatis中也可以实现这种映射,但是映射就显得比较麻烦了,下面看一个一对一的例子,学了hibernate都知道其实一对一跟一对多的原理其实是一致的,所以也是一对多的例子: 首先配置SqlMapConfig.xml
2011-07-16 16:28:13 10566 6
原创 Mybatis高级映射之-数据库字段跟实体类名称不一致时的处理
在使用mybatis通过id查询时mybatis自动映射数据库字段和实体类,当数据库字段与实体类的属性不一致时,mybatis就不能映射了,那么可以通过下面的配置映射:配置一个返回的Map: 查询的时候resultType改为resultMap
2011-07-16 16:27:00 7626 3
原创 MyBatis中的动态SQL例子
package org.leadfar; import java.util.Date; public class Person { private int id; private String name; private int age; private
2011-07-16 16:25:40 1281
原创 MyBatis获取Id自增长的值
当遇到要保存一个对象同时要保存多个依赖对象的值时,我们需要在同一个事务中进行处理,那么就需要拿到前一个被依赖对象的ID值,但是事务未提交我们怎么去拿ID呢?下面的例子是mybatis对此类需求的支持:映射文件: insert into t_person(i
2011-07-16 16:23:54 3081 2
原创 设计模式之-简单工厂模式
简单工厂属于GOF设计模式中创建型模式中的一种,又叫静态工厂方法模式,通常定义一个类即工厂类来创建其他类得实例,其他类有共同的特性,例如:工厂类可以看做是一个生产电视机得工厂,他可以生产各种电视机,其他类分别对应各种牌子的电视机,客户在需要电视机时不需要知道电视机是怎样生产出来的
2011-07-16 00:02:13 752
原创 使用Axis进行日志的处理(Handler链)
在服务器端写一个日志处理的Handler类: package cn.com.test.ce.webservice; import org.apache.axis.AxisFault;import org.apache.axis.Handler;import org.apache.
2011-07-15 22:37:09 1119
原创 使用Axis开发一个传递PoJo类的例子
术语:Oxm: object xml mapping 以前的例子都是传递简单的String什么的,对于一个复杂的类型,在传递的过程中跟简单类型有所不同,实际上axis引擎是将数据通过xml进行转换,然后使用复杂类型axis引擎就显得不是那么智能,需要手动配置了,这个过程我们通常叫
2011-07-15 22:30:17 367
原创 JavaScript中的闭包(2011/7/14)
返回内部函数,内部函数引用外部函数的变量,使得外部函数的变量会在内存中一直存在(也使得这个变量只能被内部函数使用,即封装),这就叫“闭包”。类似下面的程序 function say667() { // Local variable that ends up with
2011-07-14 13:33:57 281
原创 JavaScript中的this(2011/7/14)
This一般是在使用的使用的时候才确定是谁,内部函数(或称为私有函数)中的this代表window全局对象。但通过call方法,可以改变函数内部的this变量。this变量,在执行的时候确定,表示执行的上下文。函数在全局环境中执行,this表示window对象;当通过new操
2011-07-14 13:33:02 267
原创 JavaScript的定义与执行以及变量作用域概念(2011/7/14)
定义:用var定义变量(不使用var定义的就是全局变量),用function定义函数都叫定义。执行:用new关键字创建新的对象,用=赋值或用()执行函数的时候Javascript运行的顺序是:先定义后执行。定义的时候,确定变量的作用域(所谓变量的作用域,即定义变量可以在哪
2011-07-14 13:32:25 392
原创 JavaScript中的原型(2011/7/14)
prototype在javascript是非常重要的,因为javascript没有继承的概念,所以javascript可以通过prototype来实现类似java中的继承,,且只有函数才有原型,原型是一个对象,对象没有原型,如下:function FF(){};alert
2011-07-14 13:31:48 285
原创 JavaScript中的类(2011/7/14)
JavaScript中没有class的概念,是通过function关键字来描述一个功能,类似java中的类。所以在javascript中函数就是类,类就是函数,同样的可以使用一个new 关键字来new出一个对象来使用,还可以使用{}来定义一个函数。类似下面的例子 fun
2011-07-14 13:31:09 214
原创 JavaScript中的类型(2011/7/14)
Javascript是弱类型语言,类型并不像java那样严格,下面例子简单的说明下javascript类型,其中undefined也是一种类型,表示未定义 var a =12; var b="12"; var c=true; var d =
2011-07-14 13:30:18 292
原创 开发一个mybatis的简单增删查改应用
1、 导入mybatis所需要的jar包mtbatis-3.0.1.jar和mysql的jar包2、 在src目录下建立一个配置文件SqlMapConfig.xml如下\; PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http:/
2011-07-14 09:03:06 878
原创 使用axis发布web service中的即时发布和定制发布(2011/7/13)
Axis引擎支持自动生成wsdl文档,形式: http://....?wsdlaxis发布web service1、 即时发布(Instant Deployment)首先建立一个服务器端web project,并将axis里面webapps下的web.xml拷贝到新建的工程下,
2011-07-13 22:26:01 492
原创 分析模式(责任模式在组织机构中的应用)2011-7-12
这里的Party指的是各种智能,比如人员,地区岗位,公司什么的都可以是一个PartyParty本身的结构可以是多对多,比如一个人员同时在公司的CRM项目组和OA项目组,本图未画出,根据多对多可变形为两个多对一,即得到PartyStruct,PartyStruct主要表示的是P
2011-07-12 11:38:29 538
原创 使用axis测试一个简单的webservice的应用例子
首先下载axis-bin-1_4.zip,具体下载地址不说了(百度)然后解压找到webapps路径下的的axis文件夹,将此文件夹拷贝到tomcat的webapps下,启动tomcat则部署成功接下来开发一个webservice客户端访问刚刚部署的应用,具体代码如下package
2011-07-11 23:06:51 412
原创 混合型组织机构(2011/07/11)
1、 通过OA演示得到组织机构需求,自己建模 通过自行建模得到了上面的模型,本以为很完善,下面看混合型组织机构
2011-07-11 17:47:38 458
原创 使用jdk6开发一个简单的webservice程序
1、 术语描述:1、web service:是一种远程调用的一种方案,是一种解决跨平台、跨语言间分布式系统的整合方案(socket),没有严格的客户端和服务端得界定2、esb:enterprise service bus(企业服务总线)用于连接各系统的交互3、soap:simp
2011-07-10 23:26:08 1437
原创 让spring支持实体类注解方式
1、 spring注解方式集成struts2 ,web.Xml中配置不变,主要变化在spring配置文件中,application_common.xml需要变化的配置如下:其中事务管理主要是sessionFactory中改用了AnnotationSessionFactory
2011-07-07 18:04:22 2392
原创 spring集成web应用
1、Spring集成web应用首先是在web.xml中配置一个Listener初始化spring配置文件,具体配置如下: org.springframework.web.context.ContextLoaderListener con
2011-07-07 18:02:46 292
原创 spring对Test提供的测试基类
此基类是为了解决dao中使用了load之类延迟加载方法时测试出现session已关闭等异常,使用spring中的AbstractTransactionalJUnit38SpringContextTests可以完全解决此类问题,前提条件是spring中必须定义dataSource和TransactioManager,值得注意的是使用此基类默认的是事务自动回滚,所以在测试save,update等方法时
2011-07-07 18:01:02 727
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人