- 浏览: 294458 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xiebo1983:
http://sqkoo.com/mysql-function ...
DATE_FORMAT -
topbox163:
JAR包是:mysql-connector-java-5.1. ...
grails配置mysql -
独门记忆:
请问怎样在Tomcat服务器中运行该项目,进行相关的操作呢?
将JBPM4整合到web工程 -
39246302:
谢谢分享
Android之PreferenceActivity -
大柳树:
快速布局???这个PreferenceActivity是做什么 ...
Android之PreferenceActivity
1.在eclipse里面创建一个动态的web项目。
2.在lib目录下加入依赖库(由于我们在jsp中需要用到jstl标签,所以这里我们还必须加入jstl的依赖库)
引用
*JBPM4_HOME/jbpm.jar
*JBPM4_HOME/lib/*.jar
*jakarta-taglibs-standard-1.1.2_HOME/lib/jstl.jar
*jakarta-taglibs-standard-1.1.2_HOME/lib/standard.jar
用tomcat6页面会报错,
解决方法:
方法一:换成tomcat5.5 一点问题也没有了
方法二:将juel.jar, juel-engine.jar, juel-impl.jar这三个包复制到tomcat6下lib中,并删除原来的el-api.jar,切记要把WEB-INF\lib中的juel.jar, juel-engine.jar, juel-impl.jar删除。不然还是要冲突。
3.在项目的Java Resources目录下创建一个resources目录,并且把“JBPM4初探---HelloWorld”项目中src目录下的所有配置文件拷到resources目录下。
4.在项目的src目录一个java文件(servlet),用来编写我们发布流程并获取最新发布的流程定义
5.在项目的webapp目录建立一个index.jsp,主要用来发布流程并显示最新发布的流程
6.修改项目下的web.xml文件
7.为项目创建一个服务器,做测试。
在文本框中输入:
如果没报错,测试成功。
2.在lib目录下加入依赖库(由于我们在jsp中需要用到jstl标签,所以这里我们还必须加入jstl的依赖库)
引用
*JBPM4_HOME/jbpm.jar
*JBPM4_HOME/lib/*.jar
*jakarta-taglibs-standard-1.1.2_HOME/lib/jstl.jar
*jakarta-taglibs-standard-1.1.2_HOME/lib/standard.jar
用tomcat6页面会报错,
解决方法:
方法一:换成tomcat5.5 一点问题也没有了
方法二:将juel.jar, juel-engine.jar, juel-impl.jar这三个包复制到tomcat6下lib中,并删除原来的el-api.jar,切记要把WEB-INF\lib中的juel.jar, juel-engine.jar, juel-impl.jar删除。不然还是要冲突。
3.在项目的Java Resources目录下创建一个resources目录,并且把“JBPM4初探---HelloWorld”项目中src目录下的所有配置文件拷到resources目录下。
4.在项目的src目录一个java文件(servlet),用来编写我们发布流程并获取最新发布的流程定义
package com.test; import java.io.IOException; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jbpm.api.Configuration; import org.jbpm.api.ProcessDefinition; import org.jbpm.api.ProcessDefinitionQuery; import org.jbpm.api.ProcessEngine; import org.jbpm.api.RepositoryService; public class JbpmServlet extends HttpServlet { private static final long serialVersionUID = 1L; private ProcessEngine processEngine = null; private RepositoryService repositoryService = null; /* 初始化ProcessEngine. */ public void init(ServletConfig config) throws ServletException { processEngine = new Configuration().buildProcessEngine(); repositoryService = processEngine.getRepositoryService(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); } protected void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String zzg = request.getParameter("zzg"); if (zzg.equals("deploy")) { deployProcessDefinition(request, response); } else { removeProcessDefinitionById(request, response); } List list = getLatestProcessDefinition(request, response); request.setAttribute("process", list); request.getRequestDispatcher("/index.jsp").forward(request, response); } /** * 发布流程方法 * @param request * @param response * @throws ServletException * @throws IOException */ protected void deployProcessDefinition(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String xml = request.getParameter("xml"); repositoryService.createDeployment().addResourceFromString( "hello.jpdl.xml", xml).deploy(); } /* 获取所有最新流程. */ protected List<ProcessDefinition> getLatestProcessDefinition( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取全部的流程定义 List<ProcessDefinition> processDefinitions = repositoryService .createProcessDefinitionQuery().orderAsc( ProcessDefinitionQuery.PROPERTY_NAME).list(); Map<String, ProcessDefinition> map = new LinkedHashMap<String, ProcessDefinition>(); for (ProcessDefinition pd : processDefinitions) { String key = pd.getKey(); ProcessDefinition definition = map.get(key); if ((definition == null) || (definition.getVersion() < pd.getVersion())) { map.put(key, pd); } } return new ArrayList(map.values()); } /* 删除流程定义. */ protected void removeProcessDefinitionById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"); //根据流程ID获取流程定义实例 //注意:jbpm4是不允许直接根据流程定义的ID来直接删除流程定义的 ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() .processDefinitionId(id).uniqueResult(); repositoryService.deleteDeploymentCascade(pd.getDeploymentId()); } }}
5.在项目的webapp目录建立一个index.jsp,主要用来发布流程并显示最新发布的流程
<%@page contentType="text/html;charset=UTF-8" %> <%@page import="org.jbpm.api.*" %> <%@page import="java.util.*" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>jbpm学习</title> </head> <body> <form action="jbpm?zzg=deploy" method="post"> <textarea name="xml" cols=50 rows=15></textarea> <input type="submit" value="发布"/> <input type="reset" value="取消"/> </form> <table width=430 border=1> <tr> <td>ID</td> <td>Key</td> <td>名称</td> <td>版本</td> <td>操作</td> </tr> <c:forEach var="process" items="${process}"> <tr> <td>${process.id}</td> <td>${process.key}</td> <td>${process.name}</td> <td>${process.version}</td> <td><a href="jbpm?zzg=delete&id=${process.id }">删除</a></td> </tr> </c:forEach> </table> </body> </html>
6.修改项目下的web.xml文件
<servlet> <description /> <servlet-name>JbpmServlet</servlet-name> <servlet-class>com.test.JbpmServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>JbpmServlet</servlet-name> <url-pattern>/jbpm</url-pattern> </servlet-mapping>
7.为项目创建一个服务器,做测试。
在文本框中输入:
<?xml version="1.0" encoding="UTF-8"?> <process name="hello" xmlns="http://jbpm.org/4.3/jpdl"> <start g="235,38,48,48" name="start1"> <transition name="to state1" to="state1" g="-59,-17"/> </start> <state g="214,154,92,52" name="state1"> <transition name="to end1" to="end1" g="-47,-17"/> </state> <end g="240,284,48,48" name="end1"/> </process>
如果没报错,测试成功。
发表评论
-
12个最重要的J2EE最佳实践
2010-04-21 08:31 983http://www.javanb.com/j2ee/1/20 ... -
工作备忘
2010-01-26 09:32 855<script> ... -
jfreechart1.0.0基本用法
2009-10-23 15:21 1924来自: http://blog.chinaunix ... -
struts标签使用举例-logic
2009-10-13 08:31 1120发现平时写界面,都用到很多的<%%>,感觉很不爽, ... -
jsp隔行换色
2009-10-12 16:40 1416<logic:iterate indexId=&quo ... -
实体类创建注意
2009-10-10 20:55 1071今天在做项目的时候发现不能创建EntityManage ... -
EJB3 QL查询
2009-10-10 12:27 1239http://www.diybl.com/course/3_p ... -
CheckBox单选
2009-09-01 08:06 7192http://www.cnblogs.com/mextb1 ... -
[JSP]读取客户端文件
2009-08-27 12:27 2873http://hi.baidu.com/fableking/b ... -
tomcat + ssi
2009-08-03 12:43 2056在目前的Tomcat中,shtml默认是不支持的,需要进行一定 ... -
远程调试Tomcat
2009-07-16 20:15 951http://hi.baidu.com/flierssp/bl ... -
dwr中的异常处理
2009-07-15 20:22 3862一天一位老兄问我,我用的dwr怎么没有包装异常,以前我通过包装 ... -
Log4j使用总结
2009-07-14 16:36 1095收藏: http://kdboy.iteye.com/blog ... -
spring2.5跨库事务处理
2009-07-13 22:20 1654不知道spring的事务支持跨库数据处理吗?明天试下。 查了 ... -
打造自己的单元测试容器——Junit Runner扩展详解
2009-07-12 10:22 2095http://rdc.taobao.com/blog/arch ... -
myeclipse不能编译、有错误不提示问题解决
2009-07-09 22:36 9637myeclipse7.5太庞大了,安装也太慢了,而且有好多看不 ... -
MyEclipse-7.5.0版注册码破解及激活操作
2009-07-09 22:30 9212http://blog.csdn.net/login8226/ ... -
Hibernate不同数据库的连接及SQL方言
2009-04-09 16:54 1188<!--MySql 驱动程序 eg. mysql-con ... -
初试Grails和Oracle的配置
2009-04-09 16:53 2001在听说过Grails很久后,终于开始了自己的Grails之旅, ... -
js中option操作
2009-03-26 15:31 3685<html> <head> ...
相关推荐
jbpm4整合流程例子及附代web流程设计器可以进行流程设计
jbpm5 web整合例子, 可直接导入eclipse运行,内涵多组流程设计,代码完整。
JBPM4_WebDesigner
每天一课—family168—JBPM 第二课:将jBPM4整合到web工程
JBPM4与SSH三大框架整合的请假流程
利用jbpm插件建立的jbpm工程不能作为web工程利用myeclipse插件发布,...因为所需jar包过多影响上传,请自行将jbpm3.2.2包和mysql数据库驱动放到web-info/lib下。最好在加载了jbpm designer插件的myeclipse环境中导入。
风中叶老师讲的JBPM4与Spring整合例子代码 JBPM4 Spring OA工作流系统
jbpm4整合三大框架
开发整理出了一个Web版本下的JBPM流程的创建,发起,审批,驳回等一系列操作的Demo,欢迎各位初学者下载查看。没有积分的网友可以去我的csdn博客找到“联系我”的模块,在左下角,通过QQ或者邮件的方式跟我索取
jbpm4源码jbpm4源码jbpm4源码
JBPM 工作流 页面实现流程定义 发布新流程 查看流程 删除流程
在学习jbpm5的过程中,发现很难找到一个合适的,能跑的起来的,整合ssh的例子,之前在csdn上花费不少分下了好多个,能跑起来的好像就1个,不是jar包不匹配就是些其他的莫名奇妙的错误,对应刚刚接触jbpm的人来说,一...
jbpm4整合struts2+spring2.5+hibernate3.3.doc
jbpm4.4整合ssh代码,可在eclipse上运行。lib太多,请自行寻找
jbpm4.3与spring整合的一个小文档
近期网上有人介绍jBPM4与Spring整合的2种方式,但没有人贴出代码,闲着无聊写了个例子,源码见附件,在WEBLOGIC下运行正常,事务由spring控制http://ip:7001/Spring/helloWorld.do
自学Jbpm,根据教程自己写的web版本的Demo,欢迎下载测试。里边包含了业务流程的创建,发起,驳回,删除等。如果没有积分的同志请到我的博客里边去寻找联系我的QQ链接,发送QQ或者邮件来索取。
spring3.2+jBPM6整合实例
jbpm整合struts spring hibernate,实现web项目
NULL 博文链接:https://1960370817.iteye.com/blog/2392653