如何编写Jersey Multipart webapp,Tomcat Server

时间:2014-04-03 12:07:39

标签: java rest tomcat netbeans

我一直在做很多REST教程并享受它们。最近,我尝试用Netbeans编写一个球衣多部分webapp,但我似乎不能,因为它看起来似乎缺少了我的球衣库。

我下载了jersey-multipart.jar文件,但仍然没有帮助:

@Path("/file")
public class UploadFileService {

    @POST
    @Path("/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response uploadFile(
        @FormDataParam("file") InputStream uploadedInputStream,
        @FormDataParam("file") FormDataContentDisposition fileDetail) {

此代码来自博客。我试图将它放在我的webapp中,但是@FormDataParam标记和FormDataContentDisposition类无法识别。我下载了jersey-multipart.jar,它似乎解决了@FormDataParam标记问题,但没有解决FormDataContentDisposition类。

我正在使用Tomcat 7.0。

如何成功创建一个没有任何问题的泽西多部分webapp?为什么在Netbeans的球衣库中不包含泽西多部件jar文件?

感谢。

2 个答案:

答案 0 :(得分:2)

这两者的进口是

import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;

如果您使用Maven,请添加此依赖项:

    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-multipart</artifactId>
        <version>2.0</version>
        <type>jar</type>
    </dependency>

答案 1 :(得分:1)

jersey-media-multipart依赖关系一起,而不是Application(见下文),您可以配置ResourceConfig

@ApplicationPath("/")
public class AppConfig extends ResourceConfig {
    public AppConfig() {
        packages("packages.to.scan");
        register(MultiPartFeature.class);
    }
}

web.xml中的Jersey REST配置:

<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>