KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > struts > webapp > exercise > ImageAction


1 /*
2  * $Id: ImageAction.java 54929 2004-10-16 16:38:42Z germuska $
3  *
4  * Copyright 1999-2004 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
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 JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30 import java.io.InputStream JavaDoc;
31 import java.io.OutputStream JavaDoc;
32
33
34 /**
35  * Read image from resource given as ActionMapping parameter
36  * and copy to output stream.
37  *
38  * @version $Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
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 JavaDoc request,
54             HttpServletResponse JavaDoc response)
55             throws Exception JavaDoc {
56
57             // e.g. /$module/struts-power.gif
58
// :FIXME: Should compute module
59
String JavaDoc image = mapping.getParameter();
60
61         byte[] buffer = new byte[2048];
62         int bytesRead;
63         InputStream JavaDoc input =
64                 getServlet().getServletContext().getResourceAsStream(image);
65         OutputStream JavaDoc
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 }
Popular Tags