# HG changeset patch # User František Kučera # Date 1295989426 -3600 # Node ID d874e9e3e16249066e68e211290c830fc77f0b54 # Parent 2472d9e9c0aa5f2ef0f493f7f54541b0fdb82d7f Základ servletu pro zobrazování detailu podniku. diff -r 2472d9e9c0aa -r d874e9e3e162 java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/Podnik.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/Podnik.java Tue Jan 25 22:03:46 2011 +0100 @@ -0,0 +1,34 @@ +package cz.frantovo.nekurak.servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author fiki + */ +public class Podnik extends SuperServlet { + + @Override + protected void doGet(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException { + super.doGet(požadavek, odpověď); + + String[] parametryCesty = (požadavek.getPathInfo().split("/")); + int id = Integer.parseInt(parametryCesty[1]); + + odpověď.getOutputStream().println("URL: " + požadavek.getRequestURL()); + odpověď.getOutputStream().println("ContextPath: " + požadavek.getContextPath()); + odpověď.getOutputStream().println("PathInfo: " + požadavek.getPathInfo()); + odpověď.getOutputStream().println("PathTranslated: " + požadavek.getPathTranslated()); + odpověď.getOutputStream().println("QueryString: " + požadavek.getQueryString()); + odpověď.getOutputStream().println("RequestURI: " + požadavek.getRequestURI()); + odpověď.getOutputStream().println("Scheme: " + požadavek.getScheme()); + odpověď.getOutputStream().println("ServletPath: " + požadavek.getServletPath()); + odpověď.getOutputStream().println("ID podniku: " + id); + odpověď.getOutputStream().println("počet parametrů: " + parametryCesty.length); + odpověď.getOutputStream().println("parametr 0: " + parametryCesty[0]); + odpověď.getOutputStream().println("parametr 1: " + parametryCesty[1]); + } +} diff -r 2472d9e9c0aa -r d874e9e3e162 java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/SuperServlet.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/SuperServlet.java Tue Jan 25 22:03:46 2011 +0100 @@ -0,0 +1,40 @@ +package cz.frantovo.nekurak.servlet; + +import java.io.IOException; +import java.util.Locale; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author fiki + */ +public class SuperServlet extends HttpServlet { + + public static final String PARAMETR_JAZYK = "jazyk"; + private static final String ATRIBUT_JAZYK = "javax.servlet.jsp.jstl.fmt.locale.session"; + + @Override + protected void doGet(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException { + společné(požadavek, odpověď); + } + + /** + * Společné činnosti, které děláme pro všechny HTTP metody (GET, POST atd.) + */ + private void společné(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException { + nastavJazyk(požadavek); + } + + /** + * Pokud se chce uživatel ručně přepnout na jiný jazyk, než jaký posílá jeho prohlížeč. + */ + private void nastavJazyk(HttpServletRequest požadavek) { + String jazyk = požadavek.getParameter(PARAMETR_JAZYK); + if (jazyk != null) { + požadavek.getSession().setAttribute(ATRIBUT_JAZYK, new Locale(jazyk)); + } + } +} diff -r 2472d9e9c0aa -r d874e9e3e162 java/nekurak.net-web/web/WEB-INF/web.xml --- a/java/nekurak.net-web/web/WEB-INF/web.xml Tue Jan 25 20:28:32 2011 +0100 +++ b/java/nekurak.net-web/web/WEB-INF/web.xml Tue Jan 25 22:03:46 2011 +0100 @@ -1,112 +1,120 @@ - - 30 - - - index.jsp - + + 30 + + + index.jsp + - + - 404 - /WEB-INF/chyby/404.jsp - - + 404 + /WEB-INF/chyby/404.jsp + + - 500 - /WEB-INF/chyby/500.jsp - + 500 + /WEB-INF/chyby/500.jsp + - - cz.frantovo.nekurak.posluchac.OchranaProtiCSRF - + + cz.frantovo.nekurak.posluchac.OchranaProtiCSRF + - - atom - /WEB-INF/atom/atom.jsp - - - + + podnik + cz.frantovo.nekurak.servlet.Podnik + + + atom + /WEB-INF/atom/atom.jsp + + + Servlet zpřístupňující fotky umístěné ve zvláštním adresáři (data oddělená od aplikace). - fotky - cz.frantovo.nekurak.servlet.Fotky - - + fotky + cz.frantovo.nekurak.servlet.Fotky + + Adresář na disku, který obsahuje fotky podniků. Musí existovat při startu aplikace. - adresar - /var/www/nekurak.net/fotky - - 1 - - - kaptcha - com.google.code.kaptcha.servlet.KaptchaServlet - - - Veřejné REST API (pak máme ještě jedno soukromé, kde musí být uživatel přihlášený) - REST - com.sun.jersey.spi.container.servlet.ServletContainer - 1 - - - Odesílání a náhledy komentářů pomocí AJAXu. - komentare - cz.frantovo.nekurak.servlet.Komentare - + adresar + /var/www/nekurak.net/fotky + + 1 + + + kaptcha + com.google.code.kaptcha.servlet.KaptchaServlet + + + Veřejné REST API (pak máme ještě jedno soukromé, kde musí být uživatel přihlášený) + REST + com.sun.jersey.spi.container.servlet.ServletContainer + 1 + + + Odesílání a náhledy komentářů pomocí AJAXu. + komentare + cz.frantovo.nekurak.servlet.Komentare + - - fotky - /fotky/* - - - atom - /atom/* - - - kaptcha - /kaptcha.jpg - - + + podnik + /podnik/* + + + fotky + /fotky/* + + + atom + /atom/* + + + kaptcha + /kaptcha.jpg + + - REST - /zdroje/* - - - komentare - /komentare - + REST + /zdroje/* + + + komentare + /komentare + - + - javax.servlet.jsp.jstl.fmt.fallbackLocale - cs - + javax.servlet.jsp.jstl.fmt.fallbackLocale + cs + - - opravneny - - - - Správa Nekuřák.net - /sprava/* - - - opravneny - - - - FORM - nekurakNET - - /?akce=prihlaseni - /?akce=prihlaseni&chyba=ano - - + + opravneny + + + + Správa Nekuřák.net + /sprava/* + + + opravneny + + + + FORM + nekurakNET + + /?akce=prihlaseni + /?akce=prihlaseni&chyba=ano + +