activiti-rest部署测试总是返回404

使用的activiti 5.23.0版本。activiti-webapp-rest2

之前总是使用url:

http://localhost:8080/activiti-rest/repository/deployments

访问总是提示404.也不报错。

正确的访问地址是:

http://localhost:8080/activiti-rest/service/repository/deployments

中间有个service。无语了。看说明手册根本没有service。

研究半天源码,应该是下面原因导致的:

activiti-webapp-rest2项目里找到org.activiti.rest.servlet.WebConfigurer类的initSpring方法。

  /**
   * Initializes Spring and Spring MVC.
   */
  private ServletRegistration.Dynamic initSpring(ServletContext servletContext, AnnotationConfigWebApplicationContext rootContext) {
    log.debug("Configuring Spring Web application context");
    AnnotationConfigWebApplicationContext dispatcherServletConfiguration = new AnnotationConfigWebApplicationContext();
    dispatcherServletConfiguration.setParent(rootContext);
    dispatcherServletConfiguration.register(DispatcherServletConfiguration.class);

    log.debug("Registering Spring MVC Servlet");
    ServletRegistration.Dynamic dispatcherServlet = servletContext.addServlet("dispatcher", new DispatcherServlet(dispatcherServletConfiguration));
    dispatcherServlet.addMapping("/service/*");
    dispatcherServlet.setLoadOnStartup(1);
    dispatcherServlet.setAsyncSupported(true);
    
    return dispatcherServlet;
  }

上面dispatcherServlet.addMapping("/service/*");语句。会导致url要加上service才能正常访问。

猜你喜欢

转载自blog.csdn.net/xiaozaq/article/details/88969665