0

我在项目中使用 Jetty 8 作为嵌入式服务器。一切都按预期工作,除了多部分/表单数据请求。

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

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

欢迎每一个提示,亲切的问候,海

4

2 回答 2

1

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

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

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

于 2013-03-01T15:34:12.077 回答
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");

或将所需的配置添加到您的 Web 应用程序上下文中,如下所示:

WebAppContext myWebAppContext= new WebAppContext();     
myWebAppContext.setConfigurations(new Configuration[] { new AnnotationConfiguration(), new WebInfConfiguration(),
            new WebXmlConfiguration(), new FragmentConfiguration(), new EnvConfiguration(), new PlusConfiguration(),
            new JettyWebXmlConfiguration() });
于 2016-06-17T08:46:18.210 回答