01 import java.awt.*;
02 import java.io.*;
03 import javax.servlet.*;
04 import javax.servlet.http.*;
05
06 public class ChainImageDest extends HttpServlet {
07
08 public void doGet(HttpServletRequest req, HttpServletResponse res)
09 throws ServletException, IOException {
10
11 // zistíme prijatý content type
12 String contentType = req.getContentType();
13
14 Image image = null;
15
16 /* Ak ide o content type začínajúci na "image/*" znamená to,
17 že obdržíme obrázok ako prúd zakódovaných bajtov. */
18 if (contentType != null && contentType.startsWith("image")) {
19 /* Do tohto bloku môžeme neskôr implementovať funkčnosť,
20 ktorú sme si ukázali vyššie v príklade ShrinkFilterServlet.java */
21 }
22 // "java/image-key" content type znamená, že získame kľúč
23 else if ("java/image-key".equals(contentType)) {
24 // prečítame prvý riadok získaného obsahu, čím dostaneme kľúč
25 String key = req.getReader().readLine();
26 // získame obrázok uložený pod daným kľúčom
27 image = (Image)System.getProperties().get(key);
28 // obrázok uvoľníme z pamäte
29 System.getProperties().remove(key);
30 }
31 else {
32 throw new ServletException("Content type musí byť 'image/*' alebo 'java/image-key'");
33 }
34
35 /* Servlet môžeme pre jednoduchosť zakončiť týmto spôsobom.
36 V reálnom nasadení by sme objekt Image vhodným spôsobom využili. */
37 res.setContentType("text/plain");
38 PrintWriter out = res.getWriter();
39 out.println("Získaný obrázok je: " + image);
40 }
41 }
|