我的代码中有一个ProxyServlet (org.mitre.dsmiley.httpproxy),它执行一些操作,并将某些以*/xyz结尾的url转发到不同的应用程序。我有涵盖我的应用程序的集成测试(使用JerseyTest框架),并希望使集成测试通过代理servlet。
目前我的测试用例部署配置如下:
ServletDeploymentContext.forServlet(new ServletContainer(internalConfigureResourceConfig(resourceConfig))).build()现在,为了测试我的proxy-servlet,如果我像下面这样更改配置,
ServletDeploymentContext.forServlet(MyProxyServlet.class).build()我无法添加上面的url-pattern servlet映射,所有的url都调用了proxy-servlet。
ServletDeploymentContext.forServlet我已经检查了所有的方法,但无法这样做
发布于 2021-06-01 12:49:29
我知道我错在哪里了。当我添加下面的语句时,ServletDeploymentContext.forServlet(MyProxyServlet.class).build()我添加了MyProxyServlet作为唯一的“默认”servlet,因此即使我添加servletPath()作为url映射,它也不起作用,因为它是唯一存在的servlet。因此,即使不满足映射条件,也会将每个请求发送到servlet。当我使用servletPath作为/*添加另一个servlet时,所有其他请求都会转到其他servlet,所需的请求也会转到我的MyProxyServlet
https://stackoverflow.com/questions/67368159
复制相似问题