我在将文件上传到服务器时遇到了一些麻烦。我使用了本教程:http ://code.google.com/p/gwtupload/wiki/GwtUpload_GettingStarted ,一切顺利,但是当我选择一个文件时,进度条没有显示任何进度,在 Eclipse 中我得到:
[WARN] 调度传入 RPC 调用 javax.servlet.ServletException 时出现异常:Content-Type 为 'multipart/form-data; 边界=----webkitformboundaryfafzb7tzbpq9rkjl'。预期为“文本/x-gwt-rpc”。在 com.google.gwt.user.server.rpc.RPCServletUtils.checkContentTypeIgnoreCase(RPCServletUtils.java:476) ....
我开始在 GWT 的 HelloWorld 初始项目之上添加教程中的代码。
这是我的 web.xml 文件
<context-param>
<!-- max size of the upload request -->
<param-name>maxSize</param-name>
<param-value>3145728</param-value>
</context-param>
<context-param>
<!-- Useful in development mode to slow down the uploads in fast networks.
Put the number of milliseconds to sleep in each block received in the server.
false or 0, means don't use slow uploads -->
<param-name>slowUploads</param-name>
<param-value>200</param-value>
</context-param>
<!-- Servlets -->
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>webapp.server.GreetingServiceImpl</servlet-class>
<servlet-name>uploadServlet</servlet-name>
<!-- This is the default servlet, it puts files in session -->
<servlet-class>webapp.server.CustomizedUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/singlefileuploadsample/greet</url-pattern>
<servlet-name>uploadServlet</servlet-name>
<url-pattern>*.gupld</url-pattern>
<servlet-name>uploadServlet</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>SingleFileUploadSample.html</welcome-file>
</welcome-file-list>
对于 servlet,我创建了一个新类并在其中添加了代码。有一些与内容类型有关的东西,但我不知道如何解决这个问题。
更新:
当我尝试在 Jetty 上部署项目时,这只发生在 Eclipse 中。一旦部署为Tomcat上的war文件,我就可以正常工作。