2012-12-20 31 views
0

我有一个servlet:提交表单并获取404空回响应

<servlet> 
    <servlet-name>UploadServlet</servlet-name> 
    <servlet-class>com.timelessmind.ttms.server.UploadServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>UploadServlet</servlet-name> 
    <url-pattern>/attachment</url-pattern> 
</servlet-mapping> 

而在代码中,我有一个提交FormPanelFileUpload

form.setAction("/attachment"); 
form.setEncoding(FormPanel.ENCODING_MULTIPART); 
form.setMethod(FormPanel.METHOD_POST); 

,并提交按钮:

submitButton.addClickHandler(new ClickHandler() { 
     @Override 
     public void onClick(ClickEvent event) { 
      form.submit(); 
     } 
    }); 

SubmitCompleteHandler:

Window.alert(event.getResults()); 

和响应是这样的:

HTTP Status 404 - 

type Status report 

message 

description The requested resource() is not available. 

请求的源是空的支架,这是我无法弄清楚,为什么?

回答

2

请检查您的Firebug网络控制台,查看提交表单的确切位置。

它是在http://yoururl:8080/attachment代替http://yoururl:8080/MyApp/attachment

解决你的问题肯定提交,尽量在一开始移除斜线:

form.setAction("attachment"); 

否则,添加您的应用程序上下文:

form.setAction("/MyApp/attachment"); 
+1

或使用'GWT.getHostPageBaseURL()+“附件”' –

+0

一个简单的''附件''工作。 – texasbruce

0

您也可以尝试完整的网址在行动方法(http://yoururl:8080/MyApp/attachment