Escapování výstupu. + Chybové stránky (ve web.xml).
1.1 --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/dto/Podnik.java Wed Jan 06 20:54:40 2010 +0100
1.2 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/dto/Podnik.java Fri Jan 08 01:54:47 2010 +0100
1.3 @@ -1,10 +1,12 @@
1.4 package cz.frantovo.nekurak.dto;
1.5
1.6 +import java.io.Serializable;
1.7 +
1.8 /**
1.9 *
1.10 * @author fiki
1.11 */
1.12 -public class Podnik {
1.13 +public class Podnik implements Serializable {
1.14
1.15 private int id;
1.16 private String nazev;
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/java/nekurak.net-web/web/WEB-INF/chyby/404.jsp Fri Jan 08 01:54:47 2010 +0100
2.3 @@ -0,0 +1,20 @@
2.4 +<?xml version="1.0" encoding="UTF-8"?>
2.5 +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
2.6 + xmlns:c="http://java.sun.com/jsp/jstl/core"
2.7 + version="2.0">
2.8 + <jsp:directive.page contentType="application/xhtml+xml"/>
2.9 + <jsp:output doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
2.10 + doctype-root-element="html"
2.11 + omit-xml-declaration="false"/>
2.12 +
2.13 + <html xmlns="http://www.w3.org/1999/xhtml">
2.14 + <head>
2.15 + <title>404 Stránka nenalezena</title>
2.16 + </head>
2.17 + <body>
2.18 + <h1>404 Stránka nenalezena</h1>
2.19 + <p>Sem se hodí dát třeba vyhledávací políčko, odkaz na mapu webu atd.</p>
2.20 + </body>
2.21 + </html>
2.22 +
2.23 +</jsp:root>
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/java/nekurak.net-web/web/WEB-INF/chyby/500.jsp Fri Jan 08 01:54:47 2010 +0100
3.3 @@ -0,0 +1,22 @@
3.4 +<?xml version="1.0" encoding="UTF-8"?>
3.5 +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
3.6 + xmlns:c="http://java.sun.com/jsp/jstl/core"
3.7 + version="2.0">
3.8 + <jsp:directive.page contentType="application/xhtml+xml"/>
3.9 + <jsp:output doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
3.10 + doctype-root-element="html"
3.11 + omit-xml-declaration="false"/>
3.12 +
3.13 + <html xmlns="http://www.w3.org/1999/xhtml">
3.14 + <head>
3.15 + <title>500 Interní chyba serveru</title>
3.16 + </head>
3.17 + <body>
3.18 + <h1>500 Interní chyba serveru</h1>
3.19 + <p>Tak to se nám něco pořádně nepovedlo.
3.20 + Mnozí se v takových případech uchylují ke lžím a řeknou uživateli,
3.21 + že probíhá údržba, ať přijde příště :-)</p>
3.22 + </body>
3.23 + </html>
3.24 +
3.25 +</jsp:root>
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/java/nekurak.net-web/web/WEB-INF/chyby/nullPointer.jsp Fri Jan 08 01:54:47 2010 +0100
4.3 @@ -0,0 +1,20 @@
4.4 +<?xml version="1.0" encoding="UTF-8"?>
4.5 +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
4.6 + xmlns:c="http://java.sun.com/jsp/jstl/core"
4.7 + version="2.0">
4.8 + <jsp:directive.page contentType="application/xhtml+xml"/>
4.9 + <jsp:output doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
4.10 + doctype-root-element="html"
4.11 + omit-xml-declaration="false"/>
4.12 +
4.13 + <html xmlns="http://www.w3.org/1999/xhtml">
4.14 + <head>
4.15 + <title>500 Interní chyba serveru</title>
4.16 + </head>
4.17 + <body>
4.18 + <h1>500 Interní chyba serveru</h1>
4.19 + <p>Došlo k <code>NullPointerException</code>.</p>
4.20 + </body>
4.21 + </html>
4.22 +
4.23 +</jsp:root>
5.1 --- a/java/nekurak.net-web/web/WEB-INF/web.xml Wed Jan 06 20:54:40 2010 +0100
5.2 +++ b/java/nekurak.net-web/web/WEB-INF/web.xml Fri Jan 08 01:54:47 2010 +0100
5.3 @@ -8,4 +8,19 @@
5.4 <welcome-file-list>
5.5 <welcome-file>index.jsp</welcome-file>
5.6 </welcome-file-list>
5.7 + <error-page>
5.8 + <!-- Stránka nenalezena -->
5.9 + <error-code>404</error-code>
5.10 + <location>/WEB-INF/chyby/404.jsp</location>
5.11 + </error-page>
5.12 + <error-page>
5.13 + <!-- Interní chyba serveru -->
5.14 + <error-code>500</error-code>
5.15 + <location>/WEB-INF/chyby/500.jsp</location>
5.16 + </error-page>
5.17 + <error-page>
5.18 + <!-- Můžeme nastavit i zvláštní chybové hlášky pro jednotlivé druhy chyb -->
5.19 + <exception-type>java.lang.NullPointerException</exception-type>
5.20 + <location>/WEB-INF/chyby/nullPointer.jsp</location>
5.21 + </error-page>
5.22 </web-app>
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/java/nekurak.net-web/web/escapovani.jsp Fri Jan 08 01:54:47 2010 +0100
6.3 @@ -0,0 +1,45 @@
6.4 +<?xml version="1.0" encoding="UTF-8"?>
6.5 +<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
6.6 + xmlns:c="http://java.sun.com/jsp/jstl/core"
6.7 + xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
6.8 + xmlns:fn="http://java.sun.com/jsp/jstl/functions"
6.9 + version="2.0">
6.10 + <jsp:directive.page contentType="application/xhtml+xml"/>
6.11 + <jsp:output doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
6.12 + doctype-root-element="html"
6.13 + omit-xml-declaration="false"/>
6.14 +
6.15 +
6.16 + <html xmlns="http://www.w3.org/1999/xhtml">
6.17 + <head>
6.18 + <title>Escapování</title>
6.19 + </head>
6.20 + <body>
6.21 + <h1>Escapování</h1>
6.22 + <h2>Vstup</h2>
6.23 + <!-- jednoduchý formulář na otestování uživatelského vstupu -->
6.24 + <form action="escapovani.jsp" method="post">
6.25 + <fieldset>
6.26 + <input name="parametr1" type="text"/>
6.27 + <button>Odeslat!</button>
6.28 + </fieldset>
6.29 + </form>
6.30 + <h2>Výstup</h2>
6.31 + <jsp:scriptlet>
6.32 + Integer x = null;
6.33 + x.toString();
6.34 + </jsp:scriptlet>
6.35 + <!-- vypíšeme si parametr zadaný uživatelem, ale ošetříme ho,
6.36 + aby nám nezbořil naši pěknou XHTML stránku -->
6.37 + <p><c:out value="${param.parametr1}" escapeXml="true"/></p>
6.38 + <!-- escapeXml="true" nemusíme psát – to je výchozí hodnota -->
6.39 +
6.40 + <p>Když potřebujeme dát
6.41 + <abbr title="${fn:escapeXml(param.parametr1)}">„escapovaný“</abbr>
6.42 + text do atributu, použijeme funkci <code>escapeXml()</code> ze jmenného prostoru:</p>
6.43 + <pre>xmlns:fn="http://java.sun.com/jsp/jstl/functions"</pre>
6.44 +
6.45 + </body>
6.46 + </html>
6.47 +
6.48 +</jsp:root>
7.1 --- a/java/nekurak.net-web/web/skriptlet.jsp Wed Jan 06 20:54:40 2010 +0100
7.2 +++ b/java/nekurak.net-web/web/skriptlet.jsp Fri Jan 08 01:54:47 2010 +0100
7.3 @@ -21,7 +21,7 @@
7.4 <!-- leda výjimečně -->
7.5 </p>
7.6
7.7 -
7.8 +
7.9 </body>
7.10 </html>
7.11