jetty 8 multipart / form-data请求

时间:2013-02-26 18:48:06

标签: java jetty embed multipartform-data jetty-8

我在项目中使用Jetty 8作为嵌入式服务器。除了multipart / form-data请求外,一切都按预期工作。

我必须处理multipart / form-data请求的servlet运行正常, - 我已经用eclipse的RunJettyRun插件测试了它。这就是为什么嵌入式服务器代码必须是有罪的部分。

我的代码遵循像this这样的码头示例。我从2天开始在互联网上搜索,但没有找到如何配置码头。

每个提示都是受欢迎的, 亲切的问候, 海

2 个答案:

答案 0 :(得分:1)

事情可以这么简单。 您只需将MultipartConfig设置为ServletHolder即可。例如:

ServletHolder sh = new ServletHolder(YourServlet.class);
sh.getRegistration().setMultipartConfig(new MultipartConfigElement("yourTempLocation", 1048576, 1048576, 262144));

使用@MultipartConfig注释 YourServlet ,您可以完全访问multipart / form-data。

答案 1 :(得分:0)

您可以通过直接向服务器添加所需的类来设置多部分支持,

org.eclipse.jetty.webapp.Configuration.ClassList classlist = org.eclipse.jetty.webapp.Configuration.ClassList.setServerDefault(server);
    classlist.addAfter("org.eclipse.jetty.webapp.FragmentConfiguration", "org.eclipse.jetty.plus.webapp.EnvConfiguration", "org.eclipse.jetty.plus.webapp.PlusConfiguration");
    classlist.addBefore("org.eclipse.jetty.webapp.JettyWebXmlConfiguration", "org.eclipse.jetty.annotations.AnnotationConfiguration");

或将所需配置添加到您的网络应用上下文中,如:

WebAppContext myWebAppContext= new WebAppContext();     
myWebAppContext.setConfigurations(new Configuration[] { new AnnotationConfiguration(), new WebInfConfiguration(),
            new WebXmlConfiguration(), new FragmentConfiguration(), new EnvConfiguration(), new PlusConfiguration(),
            new JettyWebXmlConfiguration() });