微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取“java.lang.IllegalStateException:多个 servlet 映射到路径 /*”错误,即使存在单个 servlet

如何解决获取“java.lang.IllegalStateException:多个 servlet 映射到路径 /*”错误,即使存在单个 servlet

即使我的代码中只有一个 servlet,我也会收到错误消息。

WARN  2021-04-06 21:52:42,874  [main] org.eclipse.jetty.util.component.AbstractLifeCycle: Failed ServletHandler@93501be{Failed}: java.lang.IllegalStateException: Multiple servlets map to path /*: git.service.http.MyServlet68360fb9[mapped:EMbedDED:null],io.dropwizard.jersey.setup.JerseyServletContainer-713e49c3[mapped:EMbedDED:null]
java.lang.IllegalStateException: Multiple servlets map to path /*: git.service.http.MyServlet68360fb9[mapped:EMbedDED:null],io.dropwizard.jersey.setup.JerseyServletContainer-713e49c3[mapped:EMbedDED:null]

下面是我的代码

environment
   .getApplicationContext()
   .addServlet(
           new ServletHolder(
                 new MyServlet(
                        injector.getInstance(HttpRepositoryResolver.class))),“/*“);

谁能帮我弄清楚?

解决方法

git.service.http.MyServletio.dropwizard.jersey.setup.JerseyServletContainer 均已注册到网址模式 /*

请记住,对于 Servlet,没有请求的可选处理之类的东西。

如果请求的资源与 url-pattern 匹配,它就会被发送到那个 Servlet,它必须处理那个请求,它不能“哦,不,不适合我,让别人来处理这个请求”。

我建议将 Jersey 放在特定的东西上,例如 /api/*/rest/* 作为网址模式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。