2013-02-26 45 views
0

我在項目中使用Jetty 8作爲嵌入式服務器。除了多部分/表單數據請求之外,一切都按預期工作。碼頭8多部分/表格數據請求

我的servlet必須處理多部分/表單數據請求才能正常工作 - 我用Eclipse的RunJettyRun插件測試了它。這就是爲什麼嵌入式服務器代碼必須是有罪的部分。

我的代碼如下碼頭示例,如this。我從2天開始搜索互聯網,但沒有找到如何配置碼頭。

每暗示是值得歡迎的, 親切的問候, 海

+0

不夠在這個問題中的信息知道你在做什麼? – 2013-02-27 22:10:13

回答

1

事情可以如此簡單。 您只需將MultipartConfig設置爲您的ServletHolder。例如:

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

只是註釋YourServlet與@MultipartConfig,你必須完全訪問的multipart/form-data的。

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() });