Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JBoss社区中将简单的Jax-RS示例部署为7_Java_Jboss_Java Ee 6_Jax Rs - Fatal编程技术网

Java 在JBoss社区中将简单的Jax-RS示例部署为7

Java 在JBoss社区中将简单的Jax-RS示例部署为7,java,jboss,java-ee-6,jax-rs,Java,Jboss,Java Ee 6,Jax Rs,我试图在JBossAS7中部署一个简单的REST示例,但似乎我做错了什么,现在我不知所措。我正在使用Eclipse插件进行部署 我写的课程如下 @Path("/resources") @Consumes({MediaType.APPLICATION_JSON}) @Produces({MediaType.APPLICATION_JSON}) public class ReceivedImagePersister { @POST @Path("/image") publi

我试图在JBossAS7中部署一个简单的REST示例,但似乎我做错了什么,现在我不知所措。我正在使用Eclipse插件进行部署

我写的课程如下

@Path("/resources")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public class ReceivedImagePersister {

    @POST
    @Path("/image")
    public Response save(String entry) {
        return Response.ok().build();
    }

}
然后我创建一个web.xml文件

<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>API</display-name>

    <servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/resources/*</url-pattern>
    </servlet-mapping>

</web-app>

美国石油学会
javax.ws.rs.core.Application
/资源/*
和一个jboss-web.xml

<jboss-web>
  <context-root>api</context-root>
</jboss-web>

应用程序编程接口
当我部署应用程序并尝试向RESTful servlet发送一些数据时,响应总是:

(找不到完整路径的相对图像的资源:)

我必须在配置中进行一些更改吗


提前非常感谢。

我没有任何JBoss经验,但如果您希望与Java EE 6部署模型保持最佳兼容性,您可能应该使用Servlet 3.0 web.xml而不是2.4。

我没有任何JBoss经验,但如果您希望获得最佳兼容性,您可能应该使用Servlet 3.0 web.xml而不是2.4与Java EE 6部署模型的兼容性。

我认为web.xml您的url模式应该/*即

<url-pattern>/resources/*</url-pattern>
/resources/*
应该是

<url-pattern>/*</url-pattern>
/*
我的意思是,您需要让javax.ws.rs.core.Application从开始解析您的url,只有这样,它才能检测到有一个名为“resources”的资源具有方法“image”

现在,它正在尝试查找上下文路径/api/resources/下名为“image”的资源

以下url可能适用于其当前的设置方式
我认为你的web.xml你的url模式应该/*

<url-pattern>/resources/*</url-pattern>
/resources/*
应该是

<url-pattern>/*</url-pattern>
/*
我的意思是,您需要让javax.ws.rs.core.Application从开始解析您的url,只有这样,它才能检测到有一个名为“resources”的资源具有方法“image”

现在,它正在尝试查找上下文路径/api/resources/下名为“image”的资源

以下url可能适用于其当前的设置方式
访问您声明的内容的正确url是:

http://localhost:8080/api/resources/resources/image

第一个资源是servlet映射,第二个资源是rest控制器的名称。

访问您声明的内容的正确url是:

http://localhost:8080/api/resources/resources/image
第一个资源是servlet映射,第二个资源是rest控制器的名称