- 浏览: 299925 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 1027http://www.javanb.com/j2ee/1/20 ... -
工作备忘
2010-01-26 09:32 893<script> ... -
jfreechart1.0.0基本用法
2009-10-23 15:21 1981来自: http://blog.chinaunix ... -
struts标签使用举例-logic
2009-10-13 08:31 1174发现平时写界面,都用到很多的<%%>,感觉很不爽, ... -
jsp隔行换色
2009-10-12 16:40 1473<logic:iterate indexId=&quo ... -
实体类创建注意
2009-10-10 20:55 1117今天在做项目的时候发现不能创建EntityManage ... -
EJB3 QL查询
2009-10-10 12:27 1273http://www.diybl.com/course/3_p ... -
CheckBox单选
2009-09-01 08:06 7261http://www.cnblogs.com/mextb1 ... -
[JSP]读取客户端文件
2009-08-27 12:27 2920http://hi.baidu.com/fableking/b ... -
tomcat + ssi
2009-08-03 12:43 2095在目前的Tomcat中,shtml默认是不支持的,需要进行一定 ... -
远程调试Tomcat
2009-07-16 20:15 987http://hi.baidu.com/flierssp/bl ... -
dwr中的异常处理
2009-07-15 20:22 3943一天一位老兄问我,我用的dwr怎么没有包装异常,以前我通过包装 ... -
Log4j使用总结
2009-07-14 16:36 1132收藏: http://kdboy.iteye.com/blog ... -
spring2.5跨库事务处理
2009-07-13 22:20 1770不知道spring的事务支持跨库数据处理吗?明天试下。 查了 ... -
打造自己的单元测试容器——Junit Runner扩展详解
2009-07-12 10:22 2152http://rdc.taobao.com/blog/arch ... -
myeclipse不能编译、有错误不提示问题解决
2009-07-09 22:36 9682myeclipse7.5太庞大了,安装也太慢了,而且有好多看不 ... -
MyEclipse-7.5.0版注册码破解及激活操作
2009-07-09 22:30 9212http://blog.csdn.net/login8226/ ... -
Hibernate不同数据库的连接及SQL方言
2009-04-09 16:54 1239<!--MySql 驱动程序 eg. mysql-con ... -
初试Grails和Oracle的配置
2009-04-09 16:53 2059在听说过Grails很久后,终于开始了自己的Grails之旅, ... -
js中option操作
2009-03-26 15:31 3724<html> <head> ...
相关推荐
【jbpm—web工程】是一个综合性的项目,它将jbpm(Java Business Process Management)与Struts、Spring和Hibernate这三大主流的Java开发框架进行了深度整合。该项目的主要目的是构建一个功能完善的Web应用程序,...
jBPM 4.4 与 SSH2 的整合是一个涉及多层面的工程,涵盖了 Web、业务逻辑和持久化等关键部分。通过合理的配置和库文件管理,可以充分利用 SSH2 的优点,为 jBPM 提供一个强大且稳定的运行环境。在实际应用中,开发者...
在jbpm整合s2sh中,Struts2作为前端控制器,接收用户的交互,将请求转发到相应的业务逻辑处理。 2. **Spring**:Spring框架是Java企业级应用的核心,提供了依赖注入(DI)和面向切面编程(AOP)等特性。在jbpm整合...
这个压缩包包含了使用这些技术进行开发所需的各种配置文件和源代码,下面我们将详细探讨这些组件以及如何将它们整合在一起。 1. Spring框架:Spring是Java领域的一个核心框架,提供依赖注入(DI)和面向切面编程...
下面将详细讲解jBPM4整合到Web工程的关键知识点: 1. **jBPM简介**:jBPM4是jBPM的一个版本,提供了一套完整的工具集,包括流程建模、部署、执行、监控和管理。它支持BPMN 2.0标准,使得业务流程模型更加直观且易于...
#### 整合web.xml文件 1. **添加servlet和servlet-mapping**:为了使FineReport能够在JBPM项目中正常运行,需要在JBPM项目的`web.xml`文件中添加新的`servlet`和`servlet-mapping`配置。具体做法是将FineReport安装...
你提到的"jbpm4web"可能是一个包含所有必要文件的Web工程,这通常包括源代码、配置文件、资源文件以及必要的依赖库。 导入项目到Eclipse后,你需要确保你的开发环境中已经安装了支持Java的Web容器,例如Tomcat 6。...
创建一个基于jbPM的Web工程,首先要创建一个带有Struts特性的Web工程。接着,配置jbPM的相关文件,如hibernate.cfg.xml用于定义数据库连接,jbpm.cfg.xml用于设置运行时参数,jbpm.mail.templates.xml处理邮件通知,...
首先,你需要下载`spring-modules-0.8`工程包,并从中提取`spring-modules-jbpm31.jar`放入Web应用的`WEB-INF/lib`目录。尽管这个jar文件是为JBPM3.1设计的,但它也能用于JBPM3.2,因为它们的核心机制并没有太大变化...
- 创建Web工程:使用Eclipse创建一个新的Web项目,并导入必要的依赖。 - 导入SSH相关依赖:为了支持Spring、Hibernate和Struts框架,需要添加相应的依赖。 - 导入JBPM相关依赖:确保所有必需的JBPM库文件都已正确...
首先,你需要获取`spring-modules-0.8`的工程包,并从中提取出`spring-modules-jbpm31.jar`,将其放入Web应用的`WEB-INF/lib`目录下。尽管这个jar文件是为了3.1.x准备的,但在3.2.1版本中,它依然能够提供支持。 接...
斯坦福特jbpm培训的资料涵盖了jBPM整合Struts、Hibernate(SSH)的实践,包括需求分析、业务数据库设计、工程搭建、流程图创建、任务分配、流程配置、邮件通知的实现以及流程图的可视化展示。通过对这些内容的学习,...
通过Spring的ApplicationContext,我们可以方便地将jbpm的Service、SessionFactory等注入到我们的应用中,实现解耦和模块化。 3. **AppFuse的角色**:AppFuse提供了一个基本的应用模板,其中包括了Spring、...
在 JavaEE 方面,该工程师熟悉 Struts2、Spring、Hibernate 等企业主流开发框架技术,并了解 Mybatis 的 CRUD 操作,能够使用 Mybatis+Struts2+Spring 架构整合。同时,熟悉 JBPM 工作流引擎,能够独立完成工作流的...
- **电信故障管理系统**:使用Extjs提升用户体验,Struts2和Spring进行控制和事务管理,Hibernate Annotation进行持久化,引入JBPM4实现工作流,体现了对Web开发、框架集成和工作流管理的深入理解。 - **电信安全...
- 熟练掌握 Spring 框架,包括 IOC 和 DI、AOP 编程、声明式事务处理及 SSH 的整合等技术。 7. Mybatis 和 SpringMVC 框架: - 熟悉 Mybatis 和 SpringMVC 开源框架。 8. 数据库技能: - 熟悉 Oracle 和 MySQL ...
他对工作流技术JBPM有深入理解,熟悉Lucene和Compass搜索引擎工具,懂得Web Service,并能运用POI处理Excel文件。在项目开发和管理上,他熟练使用SVN和Maven,也熟悉Linux常用命令。 在大数据处理领域,王强熟悉...
景鑫是一位拥有2年工作经验的JavaEE软件工程师,他的专业技能涵盖了Java编程、Web开发、数据库管理、脚本语言、框架技术、工作流、搜索引擎、Web服务、大数据处理等多个方面。他的求职意向是寻找在北京的全职JavaEE...
4. **Mybatis与数据库**:了解Mybatis的CRUD操作,能够利用Mybatis+Struts2+Spring架构进行系统整合,这有助于高效地进行数据库操作和业务逻辑处理。 5. **工作流引擎**:熟悉JBPM工作流引擎,能够独立完成工作流的...
【Java个人简历模板4.doc】是一个Java开发者的简历,展示...这份简历充分体现了开发者全面的Java技能,从基础到进阶,从Web开发到大数据处理,再到项目实施经验,显示出开发者具备成为一名合格的Java软件工程师的能力。