Hi , every one. This is my first time post a issues here. Hope
somebody could help me.
My GWT application with upload or download files works well in the
host mode. When I deploy it to a standalone server(Tomcat 6.20), the
upload function never works. While the download function works well.
And after compiled , both upload and download work in browsers(IE and
FireFox) with GWT embeded tomcat.
It seems that the upload servlet never be executed in browser
mode.Because no any message been output at server side.
Please can some one help me in this regard.
Here is the details:
runs on : jre 6, Tomcat 6.20, GWT 1.5.3
server side:
--------------------------servelt:
/**
* the upload servlet.
*/
public class FileUploadHandler extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -2199454932244529763L;
private static final int MAX_FILE_SIZE = 1000 * 1024 * 1024;
private static final int CACHE_THROTE = 512 * 1024;
private static final Log log = LogFactory.getLog
(FileUploadHandler.class);
@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException
{
log.info("uploading... "); //never
reach
here in stand alone server.
try {
HttpSession session = request.getSession();
request.setCharacterEncoding("UTF-8");
.......
....... //omitted some code.
for (FileItem item : (List<FileItem>)
upload.parseRequest(request))
{
if (item.isFormField())
continue;
String name = item.getName();
name = name.replace('\\', '/');
int k = name.lastIndexOf("/");
if (k > 0)
name = name.substring(k + 1);
long len = fp.save(name, item.getInputStream(),
atrs);
fcnt++;
logbug.append(String.format("\n\tfile[%d]: %s,
%d byte.", fcnt,
name, len));
}
} catch (Exception e) {
log.error("上传失败: ", e);
response.sendError(505, "服务器错误");
} catch (UserException e) {
logbug.append("do not permitted, ");
} finally {
log.info(logbug);
}
}
}
-----------------web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>Launcher</servlet-name>
<servlet-class>com.bgIntlgn.server.system.Launcher
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet>
<servlet-name>Rpc</servlet-name>
<servlet-class>com.bgIntlgn.server.system.RpcImpl
</servlet-class>
</servlet>
<servlet>
<servlet-name>FileUploader</servlet-name>
<servlet-class>com.bgIntlgn.server.file.FileUploadHandler
</servlet-class>
</servlet>
<servlet>
<servlet-name>FileDownloader</servlet-name>
<servlet-class>com.bgIntlgn.server.file.FileDownloadHandler
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Rpc</servlet-name>
<url-pattern>/rpc</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>FileUploader</servlet-name>
<url-pattern>/file/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>FileDownloader</servlet-name>
<url-pattern>/download/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>MainEntry.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
------------------------------------------------------------------------
client side:
public class FileUploadField extends FormPanel {
private final VerticalPanel panel = new VerticalPanel();
private final FileUpload upload = new FileUpload();
private String target = "/file?type=";
private final Map<String, String> attributes = new HashMap<String,
String>();
public FileUploadField(FileKind type) {
target = target + type.getValue();
setAction(target);
setEncoding(FormPanel.ENCODING_MULTIPART);
setMethod(FormPanel.METHOD_POST);
upload.setName("theNameOfFileToSend");
upload.setTitle("browse");
panel.add(upload);
add(panel);
addFormHandler(new FormHandler() {
public void onSubmit(FormSubmitEvent event) {
Window.alert(getAction());
}
public void onSubmitComplete(FormSubmitCompleteEvent
event) {
String msg = event.getResults();
{
if (msg.contains("服务器错误")) {
if (uploadevent != null)
uploadevent.onFailure();
else
MsgPanel.showPopMsg("上传失败!");
}
else {
if (uploadevent != null)
uploadevent.onSuccess();
else
MsgPanel.showPopMsg("上传顺利完成!");
}
}
}
});
}
public void resetForm() {
FormElement.as(getElement()).reset();
}
public String getFileName() {
return upload.getFilename();
}
public void addAttribute(String name, String value) {
attributes.put(name, value);
}
private FileUploadEvent uploadevent = null;
public void setFileUploadEvent(FileUploadEvent event) {
uploadevent = event;
}
}
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.