Permalänk
Medlem

GWT Servern hittar inte fil

Jag försöker skriva ett GWT-program som ska läsa in en fil på serversidan och skicka en array till klientdelen av programmet men när jag försöker läsa filen får jag 404-meddelanden istället.
De involverade klasserna är:

MyFileReadService.java

package com.statistik.client; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; public interface MyFileReadService extends RemoteService{ public BrottStatistik[] Load(String filename); }

MyFileReadServiceAsyn.java

package com.statistik.client; import com.google.gwt.user.client.rpc.AsyncCallback; public interface MyFileReadServiceAsync { public void Load(String filename, AsyncCallback<BrottStatistik[]> callback); }

LoadFile.java

package com.statistik.server; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import com.statistik.client.BrottStatistik; import com.statistik.client.MyFileReadService; public class LoadFile extends RemoteServiceServlet implements MyFileReadService{ public BrottStatistik[] Load(String filename){ try { File file = new File(filename); Scanner scanner = new Scanner(file); String row = scanner.nextLine(); int charCount = row.replaceAll("[^;]", "").length(); charCount--; BrottStatistik[] entries = new BrottStatistik[charCount]; for(int i = 0; i < charCount; i++){ entries[i].setar(scanner.nextInt()); } scanner.nextLine(); scanner.nextLine(); for(int i = 0; i < charCount; i++){ entries[i].setDodligtVald(scanner.nextInt()); } for(int i = 0; i < charCount; i++){ entries[i].setMordforsok(scanner.nextInt()); } for(int i = 0; i < charCount; i++){ entries[i].setMisshandel(scanner.nextInt()); } for(int i = 0; i < charCount; i++){ entries[i].setValdtakt(scanner.nextInt()); } for(int i = 0; i < charCount; i++){ entries[i].setValdTjansteman(scanner.nextInt()); } for(int i = 0; i < charCount; i++){ entries[i].setRan(scanner.nextInt()); } scanner.close(); return entries; } catch (FileNotFoundException e) { } catch(NumberFormatException e) { } return null; } }

BrottStatistik.java

package com.statistik.client; import java.io.Serializable; public class BrottStatistik implements Serializable{ private int ar; private int dodligtVald; private int mordforsok; private int misshandel; private int valdtakt; private int valdTjansteman; private int ran; public BrottStatistik() { } public BrottStatistik(int ar, int dodligtVald, int mordForsok, int misshandel, int valdtakt, int valdTjansteman, int ran) { this.ar = ar; this.dodligtVald = dodligtVald; this.mordforsok = mordForsok; this.misshandel = misshandel; this.valdtakt = valdtakt; this.valdTjansteman = valdTjansteman; this.ran = ran; } public int getar() { return ar; } public void setar(int ar) { this.ar = ar; } public int getDodligtVald() { return dodligtVald; } public void setDodligtVald(int dodligtVald) { this.dodligtVald = dodligtVald; } public int getMordforsok() { return mordforsok; } public void setMordforsok(int mordforsok) { this.mordforsok = mordforsok; } public int getMisshandel() { return misshandel; } public void setMisshandel(int misshandel) { this.misshandel = misshandel; } public int getValdtakt() { return valdtakt; } public void setValdtakt(int valdtakt) { this.valdtakt = valdtakt; } public int getValdTjansteman() { return valdTjansteman; } public void setValdTjansteman(int valdTjansteman) { this.valdTjansteman = valdTjansteman; } public int getRan() { return ran; } public void setRan(int ran) { this.ran = ran; } }

Filen jag vill läsa in är sokning.txt som jag har lagt kopior på i projektroten, i war och com.statistik.

I huvudprogrammet kör jag

MyFileReadServiceAsync fileLoad = GWT.create(MyFileReadService.class); fileLoad.Load("sokning.txt", new AsyncCallback<BrottStatistik[]>() { public void onFailure(Throwable caught) { GWT.log(caught.getLocalizedMessage(), null); } public void onSuccess(BrottStatistik[] result) { for(int i = 0; i < result.length; i++){ updateTable(result[i]); } lastUpdatedLabel.setText("Last update : " + DateTimeFormat.getMediumDateTimeFormat().format(new Date())); }});

I loggen får jag 404 <html>

Jag har provat med att använda GWT.getHostPageBaseURL() utan resultat.