在这里,我所创建的activiti项目是利用Eclipse下的插件完成的,其目录结构默认采取maven的结构,项目如下图所示:
注:其中WEB-INF的文件夹是我自己加上去的,原项目没有。
这里我先解释一下每一个文件的内容及作用(由上往下):
Myworkslt.java是我自己编写的一个Servlet,为了将项目发布到网上而构建的。
package com.demo.activiti;
import javax.servlet.*;
import javax.servlet.http.*;
import org.activiti.engine.*;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class Myworkslt extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
ProcessEngine processEngine = null;
processEngine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
RuntimeService runtimeService = processEngine.getRuntimeService();
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("com/demo/activiti/MyProcess.bpmn20.xml")
.deploy();
String name = "第一个任务";
int level=1;
Map<String,Object> startVar = new HashMap<String, Object>();
startVar.put("name", name);
startVar.put("level", level);
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("MyProcess",startVar);
out.pr