How to get Bild mit servlet und anzeigen von mit der GWT-Bild Klasse?
Ich bin mit dem folgenden code als Teil der GWT-server-side-Klasse (servlet) für GWT-RPC.
private void getImage() {
HttpServletResponse res = this.getThreadLocalResponse();
try {
//Set content type
res.setContentType("image/png");
//Set content size
File file = new File("C:\\Documents and Settings\\User\\image.png");
res.setContentLength((int) file.length());
//Open the file and output streams
FileInputStream in = new FileInputStream(file);
OutputStream out = res.getOutputStream();
//Copy the contents of the file to the output stream
byte[] buf = new byte[1024];
int count = 0;
while ((count = in.read(buf)) >= 0) {
out.write(buf, 0, count);
}
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Das servlet ausgeführt wird, wenn ich drücken Sie eine Taste auf dem client. Ich will mit der Image-Klasse zu laden das Bild in den client, aber ich weiß nicht wie man die url des Bildes vom servlet an den client-code, um Sie anzuzeigen. Ist das die richtige Vorgehensweise oder gibt es einen anderen Weg? Ich benutze GWT für den client und GWT-RPC-client-server-Kommunikation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Servlets reagieren auf unterschiedliche HTTP-Methoden: GET, POST, PUT, HEAD. Da Sie Nutzung von GWT ist
new Image(url)
, und es verwendet ERHALTEN, müssen Sie ein servlet, mit der GET-Methode.Damit servlet Griff BEKOMMEN-Methode überschreiben muss eine
doGet(..)
- Methode von HttpServlet.Dann müssen Sie configure den Pfad zu Ihrem servlet in Ihrem web.xml Datei:
Dann rufen Sie es in GWT:
new Image("http:yourhost.com/images")
/images?name=something
String param = req.getParameter("name")