java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/PodnikServlet.java
author František Kučera <franta-hg@frantovo.cz>
Wed Jan 26 03:23:32 2011 +0100 (2011-01-26)
changeset 179 2ed9f3231a28
parent 177 java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/Podnik.java@d874e9e3e162
child 184 cab9eb4b027a
permissions -rw-r--r--
Servlety: základ, detail podniku se už zobrazuje přes servlet
URL budou hezčí, lépe struktorvaná – ale nemůžou se používat relativní jako dotěď,
musíme začínat vždy / (contextPath)

TODO:
- postupně předělat všechny stránky
- opravit javascript
- zkontrolovat další relativní URL
     1 package cz.frantovo.nekurak.servlet;
     2 
     3 import cz.frantovo.nekurak.dto.Podnik;
     4 import cz.frantovo.nekurak.ejb.PodnikRemote;
     5 import java.io.IOException;
     6 import java.io.UnsupportedEncodingException;
     7 import java.net.URLEncoder;
     8 import javax.ejb.EJB;
     9 import javax.servlet.ServletException;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 
    13 /**
    14  *
    15  * @author fiki
    16  */
    17 public class PodnikServlet extends SuperServlet {
    18 
    19 	@EJB
    20 	PodnikRemote ejb;
    21 
    22 	@Override
    23 	protected void doGet(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException {
    24 		super.doGet(požadavek, odpověď);
    25 
    26 		String[] parametryCesty = (požadavek.getPathInfo().split("/"));
    27 		int id = Integer.parseInt(parametryCesty[1]);
    28 
    29 		Podnik p = ejb.getPodnik(id);
    30 
    31 		if (p == null) {
    32 			odpověď.sendError(HttpServletResponse.SC_NOT_FOUND);
    33 		} else {
    34 			požadavek.setAttribute("podnik", p);
    35 			požadavek.setAttribute("mapa", getMapa(p));
    36 			zpracujJSP("detail.jsp", požadavek, odpověď);
    37 		}
    38 	}
    39 
    40 	/**
    41 	 * @return URL mapy – obrázku nebo null při chybě nebo absenci souřadnic
    42 	 */
    43 	private String getMapa(Podnik p) {
    44 		if (p == null || p.getSirka() == null || p.getDelka() == null) {
    45 			return null;
    46 		} else {
    47 			try {
    48 				String souradnice = URLEncoder.encode(p.getSirka() + ", " + p.getDelka(), "UTF-8");
    49 				return "http://maps.google.com/maps/api/staticmap?size=400x400&sensor=false&markers=size:big|color:green|" + souradnice;
    50 			} catch (UnsupportedEncodingException e) {
    51 				return null;
    52 			}
    53 		}
    54 	}
    55 }