webcontrollerservlet.java

来自「公司自己开发的工作流引擎」· Java 代码 · 共 66 行

JAVA
66
字号
package cn.com.iaspec.workflow.client.web;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.util.*;
import cn.com.iaspec.workflow.util.*;
import cn.com.iaspec.workflow.db.WorkflowDBConnectionManager;
import cn.com.iaspec.workflow.client.WorkflowEngineClient;

public class WebControllerServlet
    extends ActionServlet{
  public WebControllerServlet(){

  }

  public void init()
      throws ServletException{
    //配置工作流引擎地址
    super.init();
    String hostName=getInitParameter("workflow-host-name");
    System.out.println("hostName is:"+hostName);
    String portName=getInitParameter("workflow-host-port");
    String dbType=getInitParameter("db-server-type");
    if(portName==null||portName.equals("")||portName.equals("null")){
      portName="1093";
    }

    WorkflowEngineClient engineClient = new WorkflowEngineClient();
    engineClient.setEngineConnectInfo(hostName,portName,dbType);
  }

  /**
   * @功能: 重载process方法加入session的判断处理
   * @param request
   * @param response
   * @throws IOException
   * @throws ServletException
   */
  protected void process(HttpServletRequest request,
      HttpServletResponse response)
      throws IOException,ServletException{
    HttpSession session=request.getSession(false);
    String path=request.getServletPath();
    System.out.println("path is:"+path);
    if(path.indexOf("LoginAction.wfaction") < 0){
      if(session==null||session.getAttribute(FlowWebKeys.USER_SESSION)==null){
        Exception ex=new Exception("您已经很长时间没有使用系统了,操作过期,请重新登录!");
        request.setAttribute("PageException",ex);
        //将请求传递给显示错误信息的jsp显示
        getServletContext().getRequestDispatcher(
            "/workflow/timeout_exception.jsp").forward(request,response);
        return;
      }
    }
    else{
      if(session!=null){
        session.invalidate();
      }
    }
    RequestUtils.selectModule(request,getServletContext());
    getRequestProcessor(getModuleConfig(request)).process(request,response);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?