【发布时间】:2016-12-09 05:32:25
【问题描述】:
我正在尝试让 resteasy 3.0.19、guice 4.0 和 tomcat 7.0.73 一起工作,并且我正在尝试获得除 404 响应之外的其他内容。为了排除故障,我只是尝试让 guice-hello 示例工作,稍作修改。在启动时,我看到HelloModule 和HelloResource 被拾取并注册。
23:09:29.875 [RMI TCP Connection(3)-127.0.0.1] INFO org.jboss.resteasy.plugins.guice.i18n - RESTEASY011005: found module: org.jboss.resteasy.examples.guice.hello.HelloModule
23:09:30.169 [RMI TCP Connection(3)-127.0.0.1] INFO org.jboss.resteasy.plugins.guice.i18n - RESTEASY011020: registering factory for org.jboss.resteasy.examples.guice.hello.HelloResource
[2016-12-08 11:09:30,250] Artifact Gradle : abbvie.ir.pikm : people.service.war (exploded): Artifact is deployed successfully
[2016-12-08 11:09:30,250] Artifact Gradle : abbvie.ir.pikm : people.service.war (exploded): Deploy took 3,172 milliseconds
但是,当我尝试访问 http://localhost:8080/people.service/hello/test 时,我从 tomcat 得到一个 404 页面。还有一件事需要注意,如果我访问http://localhost:8080/garbage,我也会得到一个 404 状态,但我没有得到一个 404 状态页面,只是一个空白页面。
由于这是一个 3.0 servlet 容器,我没有在我的 web.xml 中定义任何调度程序 servlet。它看起来像:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" metadata-complete="true">
<display-name>People Service</display-name>
<context-param>
<param-name>resteasy.guice.modules</param-name>
<param-value>
org.jboss.resteasy.examples.guice.hello.HelloModule
</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener
</listener-class>
</listener>
</web-app>
所有其他类只是 guice-hello 示例中的默认类,即 HelloModule、HelloResource、Greeter 和 DefaultGreeter。在我看来,默认调度程序没有按照定义处理请求。有任何解决此问题的想法吗?
【问题讨论】: