KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > servlets > IconServlet


1 package com.dotmarketing.servlets;
2
3 import java.io.File JavaDoc;
4 import java.io.FileInputStream JavaDoc;
5 import java.io.FileNotFoundException JavaDoc;
6 import java.io.IOException JavaDoc;
7
8 import javax.servlet.ServletException JavaDoc;
9 import javax.servlet.ServletOutputStream JavaDoc;
10 import javax.servlet.http.HttpServlet JavaDoc;
11 import javax.servlet.http.HttpServletRequest JavaDoc;
12 import javax.servlet.http.HttpServletResponse JavaDoc;
13
14 import com.dotmarketing.util.Config;
15 import com.dotmarketing.util.Logger;
16
17 public class IconServlet extends HttpServlet JavaDoc {
18
19     private static final long serialVersionUID = 1L;
20
21     protected void service(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws ServletException JavaDoc, IOException JavaDoc {
22
23         String JavaDoc i = request.getParameter("i");
24         String JavaDoc icon = com.dotmarketing.util.UtilMethods.getFileExtension(i);
25
26         ServletOutputStream JavaDoc out = response.getOutputStream();
27         response.setContentType("image/gif");
28
29         java.util.GregorianCalendar JavaDoc expiration = new java.util.GregorianCalendar JavaDoc();
30         expiration.add(java.util.Calendar.MONTH, 1);
31         java.text.SimpleDateFormat JavaDoc httpDate = new java.text.SimpleDateFormat JavaDoc ( "EEE, dd MMM yyyy HH:mm:ss z");
32
33         response.setHeader("Expires", httpDate.format(expiration.getTime()));
34         response.setHeader("Cache-Control", "max-age=2592000");
35
36         
37         
38         FileInputStream JavaDoc fis = null;
39         try {
40             
41             fis =
42                 new FileInputStream JavaDoc(
43                     com.dotmarketing.util.Config.CONTEXT.getRealPath(Config.getStringProperty("PATH_TO_ICONS") + File.separator + icon + ".gif"));
44             int n;
45             while ((n = fis.available()) > 0) {
46                 byte[] b = new byte[n];
47                 int result = fis.read(b);
48                 if (result == -1)
49                     break;
50                 out.write(b);
51             } // end while
52
}
53         catch (FileNotFoundException JavaDoc e) {
54             try {
55                 fis =
56                     //new FileInputStream(
57
// com.dotmarketing.util.Config.CONTEXT.getRealPath(com.dotmarketing.util.Config.PATH_TO_ICONS + File.separator + "ukn.gif"));
58
new FileInputStream JavaDoc(
59                         com.dotmarketing.util.Config.CONTEXT.getRealPath(com.dotmarketing.util.Config.getStringProperty("PATH_TO_ICONS") + File.separator + "ukn.gif"));
60                 int n;
61                 while ((n = fis.available()) > 0) {
62                     byte[] b = new byte[n];
63                     int result = fis.read(b);
64                     if (result == -1)
65                         break;
66                     out.write(b);
67                 } // end while
68
}
69             catch (Exception JavaDoc f) {
70                 Logger.error(this, f.toString(), f);
71             }
72         }
73         finally {
74             if (fis != null)
75                 fis.close();
76         }
77         out.close();
78
79     }
80 }
81
Popular Tags