Hi Leute,
wie schon gesagt funktioniert der Fileupload nicht bei mir.
Eclipse gibt immer die Fehlermeldung:
[WARN] No file found for: /englishlearning/fileupload
dass das Fileupload-Servlet nicht gefunden wird.
Ich hab schon alles versucht und komme einfach nicht weiter.
Ich poste mal einfach den Code und hoffe dass mir jemand helfen kann.
Das ist das Servlet
und das ist der Eintrag in die WEB.XML
Eintrag in die Anwendungsname.gwt.xml Datei
Ich verstehe wirklich nicht was los ist. Hab die ganze Zeit schon an der WEB.XML rumgebastelt aber nichts half.
Würde mich freuen wenn mir jemand helfen könnte.
Gruß!
wie schon gesagt funktioniert der Fileupload nicht bei mir.
Eclipse gibt immer die Fehlermeldung:
[WARN] No file found for: /englishlearning/fileupload
dass das Fileupload-Servlet nicht gefunden wird.
Ich hab schon alles versucht und komme einfach nicht weiter.
Ich poste mal einfach den Code und hoffe dass mir jemand helfen kann.
Java:
public class FileUploadSample implements EntryPoint {
public void onModuleLoad() {
final FormPanel formPanel = new FormPanel();
formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
formPanel.setMethod(FormPanel.METHOD_POST);
formPanel.setAction(GWT.getModuleBaseURL() +"fileupload");
VerticalPanel panel = new VerticalPanel();
formPanel.setWidget(panel);
FileUpload upload = new FileUpload();
panel.add(upload);
panel.add(new Button("Submit", new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
formPanel.submit();
}
}));
RootPanel rootPanel = RootPanel.get();
rootPanel.add(formPanel);
}
}
Das ist das Servlet
Java:
public class FileUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String UPLOAD_DIRECTORY = "e:\\uploaded\\";
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.doGet(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{
resp.setContentType("text/plain");
if (ServletFileUpload.isMultipartContent(req)) {
System.out.println("ServletFileUpload.isMultipartContent == true");
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
try {
List<FileItem> items = upload.parseRequest(req);
for (FileItem item : items) {
// process only file upload - discard other form item types
if (item.isFormField()) continue;
String fileName = item.getName();
// get only the file name not whole path
if (fileName != null)
{
fileName = FilenameUtils. getName(fileName);
}
File uploadedFile = new File(UPLOAD_DIRECTORY, fileName);
if (uploadedFile.createNewFile())
{
item.write(uploadedFile);
resp.setStatus(HttpServletResponse.SC_CREATED);
resp.getWriter().print("The file was created successfully.");
resp.flushBuffer();
}
else
throw new IOException("The file already exists in repository.");
}// ende for(FileItem item ....)
} catch (Exception e)
{
resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,"An error occurred while creating the file : " + e.getMessage());
}
}
else
{
resp.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, "Request contents type is not supported by the servlet.");
}
}// end doPost()...
}
und das ist der Eintrag in die WEB.XML
Java:
<servlet>
<servlet-name>FileUploadServlet</servlet-name>
<servlet-class>com.learn.english.server.FileUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUploadServlet</servlet-name>
<url-pattern>/FileUploadServlet</url-pattern>
</servlet-mapping>
Eintrag in die Anwendungsname.gwt.xml Datei
Java:
<servlet class="com.learn.english.server.FileUploadServlet" path="/fileupload" />
Ich verstehe wirklich nicht was los ist. Hab die ganze Zeit schon an der WEB.XML rumgebastelt aber nichts half.
Würde mich freuen wenn mir jemand helfen könnte.
Gruß!