1

我在 web.xml 中配置了一个普通 servlet 和一个与球衣相关的 REST 相关 servlet ieServletContainer。案例 1 - 普通 servlet 的 Url 模式是“/login” 其他 REST servlet 的 Url 模式是“/ ” 在这种情况下,所有请求都将获得 REST servlet。登录请求也只发送到 Servlet。案例 2 - 如果 REST servlet 的 Url 模式更改为“/rest/ ”(我的测试资源类的根路径)并且普通 servlet 的 Url 模式因为它是“/login” 只有对 /login 的正常请求有效,但任何 REST请求不起作用。

任何人都可以帮助我吗?

4

2 回答 2

1

鉴于您告诉我们的内容,我的最佳猜测(我假设您正在运行两个不同的 webapps):

在你的 tomcat 配置 server.xml 中设置上下文

<Context path="" docBase="/yourworkspace/project-webapp/docs/" ... />
<Context path="/rest" docBase="/yourworkspace/project-rest/docs/" ... />

应用映射

在 rest-web.xml (你的球衣网络应用程序)

<servlet-mapping>
    <servlet-name>project-rest</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

在 jsp-web.xml(你的 jsp web 应用程序)中

<servlet-mapping>
    <servlet-name>project-webapp</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

在您的 Jersey 应用程序中,您的 URL 映射应该从/

例子:

@Path("/car")
@Named("carResource")
public interface CarResource {

  @GET
  @Path("{carId}")
  @Consumes("text/plain")
  @Produces("application/xml")
  Car getCar(@PathParam("carId") Long carId);

应该处理请求。GET http://domain.org/rest/car/42

于 2010-10-15T12:03:02.693 回答
0

你想达到什么目标?在案例 2 中尝试将其更改为此 /rest/*。

于 2010-10-15T10:25:00.583 回答