1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.struts.webapp.exercise;
21
22
23 import org.apache.struts.action.Action;
24 import org.apache.struts.action.ActionForm;
25 import org.apache.struts.action.ActionForward;
26 import org.apache.struts.action.ActionMapping;
27
28 import javax.servlet.http.HttpServletRequest;
29 import javax.servlet.http.HttpServletResponse;
30 import java.io.InputStream;
31 import java.io.OutputStream;
32
33
34 /***
35 * Read image from resource given as ActionMapping parameter
36 * and copy to output stream.
37 *
38 * @version $Rev: 421488 $ $Date: 2006-07-12 20:43:08 -0700 (Wed, 12 Jul 2006) $
39 */
40
41 public class ImageAction extends Action {
42
43
44 /***
45 * Read image from resource given as ActionMapping parameter
46 * and copy to output stream.
47 *
48 * @exception java.lang.Exception on input/output error
49 */
50 public ActionForward execute(
51 ActionMapping mapping,
52 ActionForm form,
53 HttpServletRequest request,
54 HttpServletResponse response)
55 throws Exception {
56
57
58
59 String image = mapping.getParameter();
60
61 byte[] buffer = new byte[2048];
62 int bytesRead;
63 InputStream input =
64 getServlet().getServletContext().getResourceAsStream(image);
65 OutputStream
66 out = response.getOutputStream();
67
68 while ((bytesRead = input.read(buffer)) != -1) {
69 out.write(buffer, 0, bytesRead);
70 }
71 out.close();
72
73 return null;
74 }
75
76 }