diff --git a/tomcat.zip b/tomcat.zip new file mode 100644 index 0000000000000000000000000000000000000000..10d13000521116a3fd1826fd6592a4278e842f93 Binary files /dev/null and b/tomcat.zip differ diff --git a/tomcat/webapps/Trawl/WEB-INF/web.xml b/tomcat/webapps/Trawl/WEB-INF/web.xml index 3acffb542073edc39eb885ccb8544aeb404e3c60..168be2573821f76b58ae245bbf6703621355cda5 100644 --- a/tomcat/webapps/Trawl/WEB-INF/web.xml +++ b/tomcat/webapps/Trawl/WEB-INF/web.xml @@ -1,21 +1,20 @@ -<<<<<<< HEAD -<?xml version="1.0" encoding="ISO-8859-1"?> -<web-app xmlns="http://java.sun.com/xml/ns/j2ee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" - version="2.4"> - - <servlet> - <servlet-name>Trawl</servlet-name> - <servlet-class>web.Director</servlet-class> - </servlet> - - <servlet-mapping> - <servlet-name>Trawl</servlet-name> - <url-pattern>/doBioLookup.do</url-pattern> - <url-pattern>/doHist.do</url-pattern> - <url-pattern>/doMap.do</url-pattern> - </servlet-mapping> +<?xml version="1.0" encoding="ISO-8859-1"?> +<web-app xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" + version="2.4"> + + <servlet> + <servlet-name>Trawl</servlet-name> + <servlet-class>web.Director</servlet-class> + </servlet> + + <servlet-mapping> + <servlet-name>Trawl</servlet-name> + <url-pattern>/doBioLookup.do</url-pattern> + <url-pattern>/doHist.do</url-pattern> + <url-pattern>/doMap.do</url-pattern> + </servlet-mapping> ======= <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" @@ -35,5 +34,4 @@ <url-pattern>/doMap.do</url-pattern> <url-pattern>/doCluster.do</url-pattern> </servlet-mapping> ->>>>>>> d1f7464b4ffda020ccd6a1dc06a4f3b8386384ee </web-app> \ No newline at end of file diff --git a/tomcat/webapps/Trawl/index.jsp b/tomcat/webapps/Trawl/index.jsp index 6b44f595853e5530fed38becce2cc6da76c835bc..b68baf8e00cfd36a1343525346d3d7c30a6e966c 100644 --- a/tomcat/webapps/Trawl/index.jsp +++ b/tomcat/webapps/Trawl/index.jsp @@ -1,105 +1,3 @@ -<<<<<<< HEAD -<%@ page import="java.util.*" %> -<!-- -Double Handle Slider Modified from: http://jqueryui.com/slider/#range ---> - -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="keywords" content="insert, some, keywords"> <!--TODO--> - <meta name="description" content="insert a description"> <!--TODO--> - <title>TrawlExpert</title> - <link rel="stylesheet" type="text/css" href="style.css"> - - <!--JQuery--> - <script src="https://code.jquery.com/jquery-1.12.4.js"></script> - <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> - <script src="https://cdn.plot.ly/plotly-latest.min.js"></script> - <script src="histogram.js"></script> - <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA9xCYy2Co-0GWfHT8e1smTjIneNbWSfPgY&libraries=visualization"></script> - - <script src="map.js"></script> - <script src="infoWindow.js"></script> - <script src="infoGenerator.js"></script> - - <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> - - <!-- MUST load JQuery Library before loading this--> - <script src="script.js"></script> - - <!--Fonts--> - <!--Open Sans Rg-400/Semi-600/Bd-700--> - <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet"> - - <!--Plugins--> -</head> -<body> - <header> - <div class="headerWrapper"> - <a href="index.jsp" >TrawlExpert</a> - <span class="nav-bar"> - <a href="about.html">About</a> | - <a href="index.html" target="_blank">GitHub</a> - </span> - </div> - </header> - - <section id="main"> - <section id="formWrapper"> - <section id="pickSciRanks"> - Phylum: - <select name="pickSciR" id="pickPhylum" size="1" onChange="callUpdateSci(this)"><!--Dynamically Filled--></select> - Class: - <select name="pickSciR" id="pickClass" size="1" onChange="callUpdateSci(this)"><%--<option value="00">Arthropoda</option>--%></select> - Order: - <select name="pickSciR" id="pickOrder" size="1" onChange="callUpdateSci(this)"><!--Dynamically Filled--></select> - Family: - <select name="pickSciR" id="pickFamily" size="1" onChange="callUpdateSci(this)"><!--Dynamically Filled--></select> - Genus: - <select name="pickSciR" id="pickGenus" size="1" onChange="callUpdateSci(this)"><!--Dynamically Filled--></select> - Species: - <select name="pickSciR" id="pickSpecies" size="1"><!--Dynamically Filled--></select> - </section> - - <section id="yearIn"> - Year Range: - <span id="fromtoYear"></span> - <form> - <div id="slider-range"></div> - </form> - </section> - - <section id="outputIn"> - <%--Map and Histogram must have the same name for default checkbox to function correctly--%> - <input type="radio" name="pickOutput" value="map"> Map - <input type="radio" name="pickOutput" value="heat"> Heatmap - <input type="radio" name="pickOutput" value="histogram" checked> Histogram - <button type="button" onClick="callOutput()">Load</button> - <button type="button" onClick="">View Individual Records</button> <!--To records.html--> - </section> - </section> - - - <section id="outputWrapper"> - <section id="outputDetails"> - <!-- Stuff like population count, entries found, etc. go here --> - </section> - - <section id="outputBox"><!-- Map, Histogram Box. Histogram selected by default but we might want to have a loading screen instead.--> - <div display="none" id="histogram"></div> - <div display="none" id="map"></div> - <div display="none" id="heat"></div> - <%--<div id="console">~~~ PSEUDO-CONSOLE ~~~<br></div>--%> - </section> - </section> - </section> -</body> -</html> - -======= <%@ page import="java.util.*" %> <!-- Double Handle Slider Modified from: http://jqueryui.com/slider/#range @@ -198,6 +96,4 @@ Double Handle Slider Modified from: http://jqueryui.com/slider/#range </section> </section> </body> -</html> - ->>>>>>> d1f7464b4ffda020ccd6a1dc06a4f3b8386384ee +</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/WEB-INF/classes/CookieExample.java b/tomcat/webapps/examples/WEB-INF/classes/CookieExample.java deleted file mode 100644 index c62463becd1574da613243a21868c92db4625dd4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/CookieExample.java +++ /dev/null @@ -1,142 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ResourceBundle; - -import javax.servlet.ServletException; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import util.CookieFilter; -import util.HTMLFilter; - -/** - * Example servlet showing request headers - * - * @author James Duncan Davidson <duncan@eng.sun.com> - */ - -public class CookieExample extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final ResourceBundle RB = ResourceBundle.getBundle("LocalStrings"); - - @Override - public void doGet(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - - String cookieName = request.getParameter("cookiename"); - String cookieValue = request.getParameter("cookievalue"); - Cookie aCookie = null; - if (cookieName != null && cookieValue != null) { - aCookie = new Cookie(cookieName, cookieValue); - aCookie.setPath(request.getContextPath() + "/"); - response.addCookie(aCookie); - } - - response.setContentType("text/html"); - response.setCharacterEncoding("UTF-8"); - - PrintWriter out = response.getWriter(); - out.println("<!DOCTYPE html><html>"); - out.println("<head>"); - out.println("<meta charset=\"UTF-8\" />"); - - String title = RB.getString("cookies.title"); - out.println("<title>" + title + "</title>"); - out.println("</head>"); - out.println("<body bgcolor=\"white\">"); - - // relative links - - // XXX - // making these absolute till we work out the - // addition of a PathInfo issue - - out.println("<a href=\"../cookies.html\">"); - out.println("<img src=\"../images/code.gif\" height=24 " + - "width=24 align=right border=0 alt=\"view code\"></a>"); - out.println("<a href=\"../index.html\">"); - out.println("<img src=\"../images/return.gif\" height=24 " + - "width=24 align=right border=0 alt=\"return\"></a>"); - - out.println("<h3>" + title + "</h3>"); - - Cookie[] cookies = request.getCookies(); - if ((cookies != null) && (cookies.length > 0)) { - HttpSession session = request.getSession(false); - String sessionId = null; - if (session != null) { - sessionId = session.getId(); - } - out.println(RB.getString("cookies.cookies") + "<br>"); - for (int i = 0; i < cookies.length; i++) { - Cookie cookie = cookies[i]; - String cName = cookie.getName(); - String cValue = cookie.getValue(); - out.print("Cookie Name: " + HTMLFilter.filter(cName) + "<br>"); - out.println(" Cookie Value: " - + HTMLFilter.filter(CookieFilter.filter(cName, cValue, sessionId)) - + "<br><br>"); - } - } else { - out.println(RB.getString("cookies.no-cookies")); - } - - if (aCookie != null) { - out.println("<P>"); - out.println(RB.getString("cookies.set") + "<br>"); - out.print(RB.getString("cookies.name") + " " - + HTMLFilter.filter(cookieName) + "<br>"); - out.print(RB.getString("cookies.value") + " " - + HTMLFilter.filter(cookieValue)); - } - - out.println("<P>"); - out.println(RB.getString("cookies.make-cookie") + "<br>"); - out.print("<form action=\""); - out.println("CookieExample\" method=POST>"); - out.print(RB.getString("cookies.name") + " "); - out.println("<input type=text length=20 name=cookiename><br>"); - out.print(RB.getString("cookies.value") + " "); - out.println("<input type=text length=20 name=cookievalue><br>"); - out.println("<input type=submit></form>"); - - - out.println("</body>"); - out.println("</html>"); - } - - @Override - public void doPost(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - doGet(request, response); - } - -} - - diff --git a/tomcat/webapps/examples/WEB-INF/classes/HelloWorldExample.java b/tomcat/webapps/examples/WEB-INF/classes/HelloWorldExample.java deleted file mode 100644 index 1a5ea5a68dc930f2eb4108792029cd9ae9b904d6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/HelloWorldExample.java +++ /dev/null @@ -1,79 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ResourceBundle; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * The simplest possible servlet. - * - * @author James Duncan Davidson - */ - -public class HelloWorldExample extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - public void doGet(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - ResourceBundle rb = - ResourceBundle.getBundle("LocalStrings",request.getLocale()); - response.setContentType("text/html"); - response.setCharacterEncoding("UTF-8"); - PrintWriter out = response.getWriter(); - - out.println("<!DOCTYPE html><html>"); - out.println("<head>"); - out.println("<meta charset=\"UTF-8\" />"); - - String title = rb.getString("helloworld.title"); - - out.println("<title>" + title + "</title>"); - out.println("</head>"); - out.println("<body bgcolor=\"white\">"); - - // note that all links are created to be relative. this - // ensures that we can move the web application that this - // servlet belongs to to a different place in the url - // tree and not have any harmful side effects. - - // XXX - // making these absolute till we work out the - // addition of a PathInfo issue - - out.println("<a href=\"../helloworld.html\">"); - out.println("<img src=\"../images/code.gif\" height=24 " + - "width=24 align=right border=0 alt=\"view code\"></a>"); - out.println("<a href=\"../index.html\">"); - out.println("<img src=\"../images/return.gif\" height=24 " + - "width=24 align=right border=0 alt=\"return\"></a>"); - out.println("<h1>" + title + "</h1>"); - out.println("</body>"); - out.println("</html>"); - } -} - - - diff --git a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings.properties b/tomcat/webapps/examples/WEB-INF/classes/LocalStrings.properties deleted file mode 100644 index a3f97e54742e527395666b430e4d3f68eb0b74fe..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings.properties +++ /dev/null @@ -1,51 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Default localized resources for example servlets -# This locale is en_US - -helloworld.title=Hello World! - -requestinfo.title=Request Information Example -requestinfo.label.method=Method: -requestinfo.label.requesturi=Request URI: -requestinfo.label.protocol=Protocol: -requestinfo.label.pathinfo=Path Info: -requestinfo.label.remoteaddr=Remote Address: - -requestheader.title=Request Header Example - -requestparams.title=Request Parameters Example -requestparams.params-in-req=Parameters in this request: -requestparams.no-params=No Parameters, Please enter some -requestparams.firstname=First Name: -requestparams.lastname=Last Name: - -cookies.title=Cookies Example -cookies.cookies=Your browser is sending the following cookies: -cookies.no-cookies=Your browser isn't sending any cookies -cookies.make-cookie=Create a cookie to send to your browser -cookies.name=Name: -cookies.value=Value: -cookies.set=You just sent the following cookie to your browser: - -sessions.title=Sessions Example -sessions.id=Session ID: -sessions.created=Created: -sessions.lastaccessed=Last Accessed: -sessions.data=The following data is in your session: -sessions.adddata=Add data to your session -sessions.dataname=Name of Session Attribute: -sessions.datavalue=Value of Session Attribute: diff --git a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_en.properties b/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_en.properties deleted file mode 100644 index a3f97e54742e527395666b430e4d3f68eb0b74fe..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_en.properties +++ /dev/null @@ -1,51 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Default localized resources for example servlets -# This locale is en_US - -helloworld.title=Hello World! - -requestinfo.title=Request Information Example -requestinfo.label.method=Method: -requestinfo.label.requesturi=Request URI: -requestinfo.label.protocol=Protocol: -requestinfo.label.pathinfo=Path Info: -requestinfo.label.remoteaddr=Remote Address: - -requestheader.title=Request Header Example - -requestparams.title=Request Parameters Example -requestparams.params-in-req=Parameters in this request: -requestparams.no-params=No Parameters, Please enter some -requestparams.firstname=First Name: -requestparams.lastname=Last Name: - -cookies.title=Cookies Example -cookies.cookies=Your browser is sending the following cookies: -cookies.no-cookies=Your browser isn't sending any cookies -cookies.make-cookie=Create a cookie to send to your browser -cookies.name=Name: -cookies.value=Value: -cookies.set=You just sent the following cookie to your browser: - -sessions.title=Sessions Example -sessions.id=Session ID: -sessions.created=Created: -sessions.lastaccessed=Last Accessed: -sessions.data=The following data is in your session: -sessions.adddata=Add data to your session -sessions.dataname=Name of Session Attribute: -sessions.datavalue=Value of Session Attribute: diff --git a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_es.properties b/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_es.properties deleted file mode 100644 index 025a3ff757110ee25ef57a4f7cfa362cff378e5b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_es.properties +++ /dev/null @@ -1,43 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -helloworld.title = Hola Mundo! -requestinfo.title = Ejemplo de Informacion de Requerimiento: -requestinfo.label.method = M\u00E9todo: -requestinfo.label.requesturi = URI de Requerimiento: -requestinfo.label.protocol = Protocolo: -requestinfo.label.pathinfo = Info de Ruta: -requestinfo.label.remoteaddr = Direccion Remota: -requestheader.title = Ejemplo de Cabecera de Requerimiento: -requestparams.title = Ejemplo de par\u00E1metros de Requerimiento: -requestparams.params-in-req = Par\u00E1metros en este Request: -requestparams.no-params = No hay p\u00E1rametro. Por favor, usa alguno -requestparams.firstname = Nombre: -requestparams.lastname = Apellidos: -cookies.title = Ejemplo de Cookies -cookies.cookies = Tu navegador est\u00E1 enviando los siguientes cookies: -cookies.no-cookies = Tu navegador no est\u00E1 enviando cookies -cookies.make-cookie = Crea un cookie para enviarlo a tu navegador -cookies.name = Nombre: -cookies.value = Valor: -cookies.set = Acabas de enviar a tu navegador estos cookies: -sessions.title = Ejemplo de Sesiones -sessions.id = ID de Sesi\u00F3n: -sessions.created = Creado: -sessions.lastaccessed = Ultimo Acceso: -sessions.data = Lo siguientes datos est\u00E1n en tu sesi\u00F3n: -sessions.adddata = A\u00F1ade datos a tu sesi\u00F3n: -sessions.dataname = Nombre del atributo de sesi\u00F3n: -sessions.datavalue = Valor del atributo de sesi\u00F3n: diff --git a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_fr.properties b/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_fr.properties deleted file mode 100644 index b6b9a3f5950c6175114c0687f3746b1b8428b8a6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_fr.properties +++ /dev/null @@ -1,51 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Default localized resources for example servlets -# This locale is fr_FR - -helloworld.title=Salut le Monde! - -requestinfo.title=Exemple d''information sur la requ\u00eate -requestinfo.label.method=M\u00e9thode: -requestinfo.label.requesturi=URI de requ\u00eate: -requestinfo.label.protocol=Protocole: -requestinfo.label.pathinfo=Info de chemin: -requestinfo.label.remoteaddr=Adresse distante: - -requestheader.title=Exemple d''information sur les ent\u00eate de requ\u00eate - -requestparams.title=Exemple de requ\u00eate avec param\u00eatres -requestparams.params-in-req=Param\u00eatres dans la requ\u00eate: -requestparams.no-params=Pas de param\u00eatre, merci dans saisir quelqu'uns -requestparams.firstname=Pr\u00e9nom: -requestparams.lastname=Nom: - -cookies.title=Exemple d''utilisation de Cookies -cookies.cookies=Votre navigateur retourne les cookies suivant: -cookies.no-cookies=Votre navigateur ne retourne aucun cookie -cookies.make-cookie=Cr\u00e9ation d''un cookie \u00e0 retourner \u00e0 votre navigateur -cookies.name=Nom: -cookies.value=Valeur: -cookies.set=Vous venez d''envoyer le cookie suivant \u00e0 votre navigateur: - -sessions.title=Exemple de Sessions -sessions.id=ID de Session: -sessions.created=Cr\u00e9e le: -sessions.lastaccessed=Dernier acc\u00e8s: -sessions.data=Les donn\u00e9es existantes dans votre session: -sessions.adddata=Ajouter des donn\u00e9es \u00e0 votre session -sessions.dataname=Nom de l''Attribut de Session: -sessions.datavalue=Valeur de l''Attribut de Session: diff --git a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_pt.properties b/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_pt.properties deleted file mode 100644 index 919643e7eb4a5e98527c15376159ff981f2852fd..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/LocalStrings_pt.properties +++ /dev/null @@ -1,51 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Default localized resources for example servlets -# This locale is pt_PT - -helloworld.title=Ola Mundo! - -requestinfo.title=Exemplo da Informacao do Pedido -requestinfo.label.method=Metodo: -requestinfo.label.requesturi=URI do Pedido: -requestinfo.label.protocol=Protocolo: -requestinfo.label.pathinfo=Informacao do Caminho: -requestinfo.label.remoteaddr=Endereco Remoto: - -requestheader.title=Exemplo da Cebeceira do Pedido - -requestparams.title=Examplo de Parametros do Pedido -requestparams.params-in-req=Parametros neste pedido: -requestparams.no-params=Sem Parametros, Por favor entre alguns -requestparams.firstname=Primeiro Nome: -requestparams.lastname=Apelido: - -cookies.title=CExamplo de Cookies -cookies.cookies=O se browser esta a enviar os seguintes cookies: -cookies.no-cookies=O seu browser nao esta a enviar nenhuns cookies -cookies.make-cookie=Crie um cookie para enviar para o seu browser -cookies.name=Nome: -cookies.value=Valor: -cookies.set=Acabou de enviar o seguinte cookie para o seu browser: - -sessions.title=Examplo de sessoes -sessions.id=Identificador da Sessao: -sessions.created=Criada: -sessions.lastaccessed=Ultima vez acedida: -sessions.data=Os seguintes dados fazem parte da sua sessao: -sessions.adddata=Adicione data a sua sessao -sessions.dataname=Nome do atributo da sessao: -sessions.datavalue=Valor do atributo da Sessao: diff --git a/tomcat/webapps/examples/WEB-INF/classes/RequestHeaderExample.java b/tomcat/webapps/examples/WEB-INF/classes/RequestHeaderExample.java deleted file mode 100644 index 79e7bac116b77e379afce92b1075cf333f403300..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/RequestHeaderExample.java +++ /dev/null @@ -1,109 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Enumeration; -import java.util.Locale; -import java.util.ResourceBundle; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import util.CookieFilter; -import util.HTMLFilter; - -/** - * Example servlet showing request headers - * - * @author James Duncan Davidson <duncan@eng.sun.com> - */ - -public class RequestHeaderExample extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final ResourceBundle RB = ResourceBundle.getBundle("LocalStrings"); - - @Override - public void doGet(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - response.setContentType("text/html"); - response.setCharacterEncoding("UTF-8"); - - PrintWriter out = response.getWriter(); - out.println("<!DOCTYPE html><html>"); - out.println("<head>"); - out.println("<meta charset=\"UTF-8\" />"); - - String title = RB.getString("requestheader.title"); - out.println("<title>" + title + "</title>"); - out.println("</head>"); - out.println("<body bgcolor=\"white\">"); - - // all links relative - - // XXX - // making these absolute till we work out the - // addition of a PathInfo issue - - out.println("<a href=\"../reqheaders.html\">"); - out.println("<img src=\"../images/code.gif\" height=24 " + - "width=24 align=right border=0 alt=\"view code\"></a>"); - out.println("<a href=\"../index.html\">"); - out.println("<img src=\"../images/return.gif\" height=24 " + - "width=24 align=right border=0 alt=\"return\"></a>"); - - out.println("<h3>" + title + "</h3>"); - out.println("<table border=0>"); - Enumeration<String> e = request.getHeaderNames(); - while (e.hasMoreElements()) { - String headerName = e.nextElement(); - String headerValue = request.getHeader(headerName); - out.println("<tr><td bgcolor=\"#CCCCCC\">"); - out.println(HTMLFilter.filter(headerName)); - out.println("</td><td>"); - if (headerName.toLowerCase(Locale.ENGLISH).contains("cookie")) { - HttpSession session = request.getSession(false); - String sessionId = null; - if (session != null) { - sessionId = session.getId(); - } - out.println(HTMLFilter.filter(CookieFilter.filter(headerValue, sessionId))); - } else { - out.println(HTMLFilter.filter(headerValue)); - } - out.println("</td></tr>"); - } - out.println("</table>"); - } - - @Override - public void doPost(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - doGet(request, response); - } - -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/RequestInfoExample.java b/tomcat/webapps/examples/WEB-INF/classes/RequestInfoExample.java deleted file mode 100644 index 952e5012fbf1a463b838dc85a98aa4a15943345d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/RequestInfoExample.java +++ /dev/null @@ -1,118 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ResourceBundle; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import util.HTMLFilter; - -/** - * Example servlet showing request information. - * - * @author James Duncan Davidson <duncan@eng.sun.com> - */ - -public class RequestInfoExample extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final ResourceBundle RB = ResourceBundle.getBundle("LocalStrings"); - - @Override - public void doGet(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - response.setContentType("text/html"); - response.setCharacterEncoding("UTF-8"); - - PrintWriter out = response.getWriter(); - out.println("<!DOCTYPE html><html>"); - out.println("<head>"); - out.println("<meta charset=\"UTF-8\" />"); - - String title = RB.getString("requestinfo.title"); - out.println("<title>" + title + "</title>"); - out.println("</head>"); - out.println("<body bgcolor=\"white\">"); - - // img stuff not req'd for source code html showing - // all links relative! - - // XXX - // making these absolute till we work out the - // addition of a PathInfo issue - - out.println("<a href=\"../reqinfo.html\">"); - out.println("<img src=\"../images/code.gif\" height=24 " + - "width=24 align=right border=0 alt=\"view code\"></a>"); - out.println("<a href=\"../index.html\">"); - out.println("<img src=\"../images/return.gif\" height=24 " + - "width=24 align=right border=0 alt=\"return\"></a>"); - - out.println("<h3>" + title + "</h3>"); - out.println("<table border=0><tr><td>"); - out.println(RB.getString("requestinfo.label.method")); - out.println("</td><td>"); - out.println(HTMLFilter.filter(request.getMethod())); - out.println("</td></tr><tr><td>"); - out.println(RB.getString("requestinfo.label.requesturi")); - out.println("</td><td>"); - out.println(HTMLFilter.filter(request.getRequestURI())); - out.println("</td></tr><tr><td>"); - out.println(RB.getString("requestinfo.label.protocol")); - out.println("</td><td>"); - out.println(HTMLFilter.filter(request.getProtocol())); - out.println("</td></tr><tr><td>"); - out.println(RB.getString("requestinfo.label.pathinfo")); - out.println("</td><td>"); - out.println(HTMLFilter.filter(request.getPathInfo())); - out.println("</td></tr><tr><td>"); - out.println(RB.getString("requestinfo.label.remoteaddr")); - out.println("</td><td>"); - out.println(HTMLFilter.filter(request.getRemoteAddr())); - out.println("</td></tr>"); - - String cipherSuite= - (String)request.getAttribute("javax.servlet.request.cipher_suite"); - if(cipherSuite!=null){ - out.println("<tr><td>"); - out.println("SSLCipherSuite:"); - out.println("</td><td>"); - out.println(HTMLFilter.filter(cipherSuite)); - out.println("</td></tr>"); - } - - out.println("</table>"); - } - - @Override - public void doPost(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - doGet(request, response); - } - -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/RequestParamExample.java b/tomcat/webapps/examples/WEB-INF/classes/RequestParamExample.java deleted file mode 100644 index be07415add464680d9458576ab3ab820330f29d7..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/RequestParamExample.java +++ /dev/null @@ -1,111 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ResourceBundle; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import util.HTMLFilter; - -/** - * Example servlet showing request headers - * - * @author James Duncan Davidson <duncan@eng.sun.com> - */ - -public class RequestParamExample extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final ResourceBundle RB = ResourceBundle.getBundle("LocalStrings"); - - @Override - public void doGet(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - response.setContentType("text/html"); - response.setCharacterEncoding("UTF-8"); - - PrintWriter out = response.getWriter(); - out.println("<!DOCTYPE html><html>"); - out.println("<head>"); - out.println("<meta charset=\"UTF-8\" />"); - - String title = RB.getString("requestparams.title"); - out.println("<title>" + title + "</title>"); - out.println("</head>"); - out.println("<body bgcolor=\"white\">"); - - // img stuff not req'd for source code html showing - - // all links relative - - // XXX - // making these absolute till we work out the - // addition of a PathInfo issue - - out.println("<a href=\"../reqparams.html\">"); - out.println("<img src=\"../images/code.gif\" height=24 " + - "width=24 align=right border=0 alt=\"view code\"></a>"); - out.println("<a href=\"../index.html\">"); - out.println("<img src=\"../images/return.gif\" height=24 " + - "width=24 align=right border=0 alt=\"return\"></a>"); - - out.println("<h3>" + title + "</h3>"); - String firstName = request.getParameter("firstname"); - String lastName = request.getParameter("lastname"); - out.println(RB.getString("requestparams.params-in-req") + "<br>"); - if (firstName != null || lastName != null) { - out.println(RB.getString("requestparams.firstname")); - out.println(" = " + HTMLFilter.filter(firstName) + "<br>"); - out.println(RB.getString("requestparams.lastname")); - out.println(" = " + HTMLFilter.filter(lastName)); - } else { - out.println(RB.getString("requestparams.no-params")); - } - out.println("<P>"); - out.print("<form action=\""); - out.print("RequestParamExample\" "); - out.println("method=POST>"); - out.println(RB.getString("requestparams.firstname")); - out.println("<input type=text size=20 name=firstname>"); - out.println("<br>"); - out.println(RB.getString("requestparams.lastname")); - out.println("<input type=text size=20 name=lastname>"); - out.println("<br>"); - out.println("<input type=submit>"); - out.println("</form>"); - - out.println("</body>"); - out.println("</html>"); - } - - @Override - public void doPost(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - doGet(request, response); - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/ServletToJsp.java b/tomcat/webapps/examples/WEB-INF/classes/ServletToJsp.java deleted file mode 100644 index 53faba2e5f470776cb60e43e26f7ab2838b31656..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/ServletToJsp.java +++ /dev/null @@ -1,39 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -public class ServletToJsp extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - public void doGet (HttpServletRequest request, - HttpServletResponse response) { - - try { - // Set the attribute and Forward to hello.jsp - request.setAttribute ("servletName", "servletToJsp"); - getServletConfig().getServletContext().getRequestDispatcher( - "/jsp/jsptoserv/hello.jsp").forward(request, response); - } catch (Exception ex) { - ex.printStackTrace (); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/SessionExample.java b/tomcat/webapps/examples/WEB-INF/classes/SessionExample.java deleted file mode 100644 index 471b66bd68fc1f647c9cce760ff7301088d16afd..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/SessionExample.java +++ /dev/null @@ -1,147 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Date; -import java.util.Enumeration; -import java.util.ResourceBundle; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import util.HTMLFilter; - -/** - * Example servlet showing request headers - * - * @author James Duncan Davidson <duncan@eng.sun.com> - */ - -public class SessionExample extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final ResourceBundle RB = ResourceBundle.getBundle("LocalStrings"); - - @Override - public void doGet(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - response.setContentType("text/html"); - response.setCharacterEncoding("UTF-8"); - - PrintWriter out = response.getWriter(); - out.println("<!DOCTYPE html><html>"); - out.println("<head>"); - out.println("<meta charset=\"UTF-8\" />"); - - - String title = RB.getString("sessions.title"); - out.println("<title>" + title + "</title>"); - out.println("</head>"); - out.println("<body bgcolor=\"white\">"); - - // img stuff not req'd for source code html showing - // relative links everywhere! - - // XXX - // making these absolute till we work out the - // addition of a PathInfo issue - - out.println("<a href=\"../sessions.html\">"); - out.println("<img src=\"../images/code.gif\" height=24 " + - "width=24 align=right border=0 alt=\"view code\"></a>"); - out.println("<a href=\"../index.html\">"); - out.println("<img src=\"../images/return.gif\" height=24 " + - "width=24 align=right border=0 alt=\"return\"></a>"); - - out.println("<h3>" + title + "</h3>"); - - HttpSession session = request.getSession(true); - out.println(RB.getString("sessions.id") + " " + session.getId()); - out.println("<br>"); - out.println(RB.getString("sessions.created") + " "); - out.println(new Date(session.getCreationTime()) + "<br>"); - out.println(RB.getString("sessions.lastaccessed") + " "); - out.println(new Date(session.getLastAccessedTime())); - - String dataName = request.getParameter("dataname"); - String dataValue = request.getParameter("datavalue"); - if (dataName != null && dataValue != null) { - session.setAttribute(dataName, dataValue); - } - - out.println("<P>"); - out.println(RB.getString("sessions.data") + "<br>"); - Enumeration<String> names = session.getAttributeNames(); - while (names.hasMoreElements()) { - String name = names.nextElement(); - String value = session.getAttribute(name).toString(); - out.println(HTMLFilter.filter(name) + " = " - + HTMLFilter.filter(value) + "<br>"); - } - - out.println("<P>"); - out.print("<form action=\""); - out.print(response.encodeURL("SessionExample")); - out.print("\" "); - out.println("method=POST>"); - out.println(RB.getString("sessions.dataname")); - out.println("<input type=text size=20 name=dataname>"); - out.println("<br>"); - out.println(RB.getString("sessions.datavalue")); - out.println("<input type=text size=20 name=datavalue>"); - out.println("<br>"); - out.println("<input type=submit>"); - out.println("</form>"); - - out.println("<P>GET based form:<br>"); - out.print("<form action=\""); - out.print(response.encodeURL("SessionExample")); - out.print("\" "); - out.println("method=GET>"); - out.println(RB.getString("sessions.dataname")); - out.println("<input type=text size=20 name=dataname>"); - out.println("<br>"); - out.println(RB.getString("sessions.datavalue")); - out.println("<input type=text size=20 name=datavalue>"); - out.println("<br>"); - out.println("<input type=submit>"); - out.println("</form>"); - - out.print("<p><a href=\""); - out.print(HTMLFilter.filter(response.encodeURL("SessionExample?dataname=foo&datavalue=bar"))); - out.println("\" >URL encoded </a>"); - - out.println("</body>"); - out.println("</html>"); - } - - @Override - public void doPost(HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException - { - doGet(request, response); - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/async/Async0.java b/tomcat/webapps/examples/WEB-INF/classes/async/Async0.java deleted file mode 100644 index 5bc0ee49acbe8fb92d2e105d512e516580f9ee3e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/async/Async0.java +++ /dev/null @@ -1,71 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package async; - -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import javax.servlet.AsyncContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - -public class Async0 extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final Log log = LogFactory.getLog(Async0.class); - - @Override - protected void service(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { - if (Boolean.TRUE.equals(req.getAttribute("dispatch"))) { - log.info("Received dispatch, completing on the worker thread."); - log.info("After complete called started:"+req.isAsyncStarted()); - Date date = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); - resp.getWriter().write("Async dispatch worked: " + sdf.format(date) + "\n"); - } else { - resp.setContentType("text/plain"); - final AsyncContext actx = req.startAsync(); - actx.setTimeout(Long.MAX_VALUE); - Runnable run = new Runnable() { - @Override - public void run() { - try { - req.setAttribute("dispatch", Boolean.TRUE); - Thread.currentThread().setName("Async0-Thread"); - log.info("Putting AsyncThread to sleep"); - Thread.sleep(2*1000); - log.info("Dispatching"); - actx.dispatch(); - }catch (InterruptedException x) { - log.error("Async1",x); - }catch (IllegalStateException x) { - log.error("Async1",x); - } - } - }; - Thread t = new Thread(run); - t.start(); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/async/Async1.java b/tomcat/webapps/examples/WEB-INF/classes/async/Async1.java deleted file mode 100644 index dc0dc5912e881bd0ddb15de5d1b0df6a1d6cd0b9..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/async/Async1.java +++ /dev/null @@ -1,62 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package async; - -import java.io.IOException; - -import javax.servlet.AsyncContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - -public class Async1 extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final Log log = LogFactory.getLog(Async1.class); - - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - final AsyncContext actx = req.startAsync(); - actx.setTimeout(30*1000); - Runnable run = new Runnable() { - @Override - public void run() { - try { - String path = "/jsp/async/async1.jsp"; - Thread.currentThread().setName("Async1-Thread"); - log.info("Putting AsyncThread to sleep"); - Thread.sleep(2*1000); - log.info("Dispatching to "+path); - actx.dispatch(path); - }catch (InterruptedException x) { - log.error("Async1",x); - }catch (IllegalStateException x) { - log.error("Async1",x); - } - } - }; - Thread t = new Thread(run); - t.start(); - } - - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/async/Async2.java b/tomcat/webapps/examples/WEB-INF/classes/async/Async2.java deleted file mode 100644 index 0682d62116ab49713f18e01c6f570b43b3eccea2..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/async/Async2.java +++ /dev/null @@ -1,70 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package async; - -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import javax.servlet.AsyncContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - -public class Async2 extends HttpServlet { - - private static final long serialVersionUID = 1L; - - private static final Log log = LogFactory.getLog(Async2.class); - - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - final AsyncContext actx = req.startAsync(); - actx.setTimeout(30*1000); - Runnable run = new Runnable() { - @Override - public void run() { - try { - Thread.currentThread().setName("Async2-Thread"); - log.info("Putting AsyncThread to sleep"); - Thread.sleep(2*1000); - log.info("Writing data."); - Date date = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); - actx.getResponse().getWriter().write( - "Output from background thread. Time: " + sdf.format(date) + "\n"); - actx.complete(); - }catch (InterruptedException x) { - log.error("Async2",x); - }catch (IllegalStateException x) { - log.error("Async2",x); - }catch (IOException x) { - log.error("Async2",x); - } - } - }; - Thread t = new Thread(run); - t.start(); - } - - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/async/Async3.java b/tomcat/webapps/examples/WEB-INF/classes/async/Async3.java deleted file mode 100644 index e1ff5e0411b48259d50bb74cb13ca1b6100eaa65..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/async/Async3.java +++ /dev/null @@ -1,39 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package async; - -import java.io.IOException; - -import javax.servlet.AsyncContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -public class Async3 extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - final AsyncContext actx = req.startAsync(); - actx.setTimeout(30*1000); - actx.dispatch("/jsp/async/async3.jsp"); - } - - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/async/AsyncStockContextListener.java b/tomcat/webapps/examples/WEB-INF/classes/async/AsyncStockContextListener.java deleted file mode 100644 index 685ac239fb2822c24ff184ff5724d108f4ded2c4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/async/AsyncStockContextListener.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package async; - -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - -/* - * Ensures the Stockticker is shut down cleanly when the context stops. This - * also covers the case when the server shuts down. - */ -public class AsyncStockContextListener implements ServletContextListener { - - public static final String STOCK_TICKER_KEY = "StockTicker"; - - @Override - public void contextInitialized(ServletContextEvent sce) { - Stockticker stockticker = new Stockticker(); - ServletContext sc = sce.getServletContext(); - sc.setAttribute(STOCK_TICKER_KEY, stockticker); - } - - @Override - public void contextDestroyed(ServletContextEvent sce) { - ServletContext sc = sce.getServletContext(); - Stockticker stockticker = (Stockticker) sc.getAttribute(STOCK_TICKER_KEY); - stockticker.shutdown(); - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java b/tomcat/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java deleted file mode 100644 index 8b3ac152a1ebfe7d384064addf00f84e62e97719..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/async/AsyncStockServlet.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package async; - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Iterator; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.atomic.AtomicInteger; - -import javax.servlet.AsyncContext; -import javax.servlet.AsyncEvent; -import javax.servlet.AsyncListener; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - -import async.Stockticker.Stock; -import async.Stockticker.TickListener; - -public class AsyncStockServlet extends HttpServlet implements TickListener, AsyncListener{ - - private static final long serialVersionUID = 1L; - - private static final Log log = LogFactory.getLog(AsyncStockServlet.class); - - private static final ConcurrentLinkedQueue<AsyncContext> clients = - new ConcurrentLinkedQueue<>(); - private static final AtomicInteger clientcount = new AtomicInteger(0); - - public AsyncStockServlet() { - log.info("AsyncStockServlet created"); - } - - - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - if (req.isAsyncStarted()) { - req.getAsyncContext().complete(); - } else if (req.isAsyncSupported()) { - AsyncContext actx = req.startAsync(); - actx.addListener(this); - resp.setContentType("text/plain"); - clients.add(actx); - if (clientcount.incrementAndGet()==1) { - Stockticker ticker = (Stockticker) req.getServletContext().getAttribute( - AsyncStockContextListener.STOCK_TICKER_KEY); - ticker.addTickListener(this); - } - } else { - new Exception("Async Not Supported").printStackTrace(); - resp.sendError(400,"Async is not supported."); - } - } - - - @Override - public void tick(Stock stock) { - Iterator<AsyncContext> it = clients.iterator(); - while (it.hasNext()) { - AsyncContext actx = it.next(); - try { - writeStock(actx, stock); - } catch (Exception e) { - // Ignore. The async error handling will deal with this. - } - } - } - - - public void writeStock(AsyncContext actx, Stock stock) throws IOException { - HttpServletResponse response = (HttpServletResponse)actx.getResponse(); - PrintWriter writer = response.getWriter(); - writer.write("STOCK#");//make client parsing easier - writer.write(stock.getSymbol()); - writer.write("#"); - writer.write(stock.getValueAsString()); - writer.write("#"); - writer.write(stock.getLastChangeAsString()); - writer.write("#"); - writer.write(String.valueOf(stock.getCnt())); - writer.write("\n"); - writer.flush(); - response.flushBuffer(); - } - - - @Override - public void shutdown() { - // The web application is shutting down. Complete any AsyncContexts - // associated with an active client. - Iterator<AsyncContext> it = clients.iterator(); - while (it.hasNext()) { - AsyncContext actx = it.next(); - try { - actx.complete(); - } catch (Exception e) { - // Ignore. The async error handling will deal with this. - } - } - } - - - @Override - public void onComplete(AsyncEvent event) throws IOException { - if (clients.remove(event.getAsyncContext()) && clientcount.decrementAndGet()==0) { - ServletContext sc = event.getAsyncContext().getRequest().getServletContext(); - Stockticker ticker = (Stockticker) sc.getAttribute( - AsyncStockContextListener.STOCK_TICKER_KEY); - ticker.removeTickListener(this); - } - } - - @Override - public void onError(AsyncEvent event) throws IOException { - event.getAsyncContext().complete(); - } - - @Override - public void onTimeout(AsyncEvent event) throws IOException { - event.getAsyncContext().complete(); - } - - - @Override - public void onStartAsync(AsyncEvent event) throws IOException { - // NOOP - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/async/Stockticker.java b/tomcat/webapps/examples/WEB-INF/classes/async/Stockticker.java deleted file mode 100644 index e87744e357e43025795c2172f9c3c48a99dc02a4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/async/Stockticker.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package async; - -import java.text.DecimalFormat; -import java.util.List; -import java.util.Random; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.atomic.AtomicInteger; - -public class Stockticker implements Runnable { - public volatile boolean run = true; - protected final AtomicInteger counter = new AtomicInteger(0); - final List<TickListener> listeners = new CopyOnWriteArrayList<>(); - protected volatile Thread ticker = null; - protected volatile int ticknr = 0; - - public synchronized void start() { - run = true; - ticker = new Thread(this); - ticker.setName("Ticker Thread"); - ticker.start(); - } - - public synchronized void stop() { - // On context stop this can be called multiple times. - // NO-OP is the ticker thread is not set - // (i.e. stop() has already completed) - if (ticker == null) { - return; - } - run = false; - try { - ticker.join(); - }catch (InterruptedException x) { - Thread.interrupted(); - } - - ticker = null; - } - - public void shutdown() { - // Notify each listener of the shutdown. This enables them to - // trigger any necessary clean-up. - for (TickListener l : listeners) { - l.shutdown(); - } - // Wait for the thread to stop. This prevents warnings in the logs - // that the thread is still active when the context stops. - stop(); - } - - public void addTickListener(TickListener listener) { - if (listeners.add(listener)) { - if (counter.incrementAndGet()==1) start(); - } - - } - - public void removeTickListener(TickListener listener) { - if (listeners.remove(listener)) { - if (counter.decrementAndGet()==0) stop(); - } - } - - @Override - public void run() { - try { - - Stock[] stocks = new Stock[] { new Stock("GOOG", 435.43), - new Stock("YHOO", 27.88), new Stock("ASF", 1015.55), }; - Random r = new Random(System.currentTimeMillis()); - while (run) { - for (int j = 0; j < 1; j++) { - int i = r.nextInt() % 3; - if (i < 0) - i = i * (-1); - Stock stock = stocks[i]; - double change = r.nextDouble(); - boolean plus = r.nextBoolean(); - if (plus) { - stock.setValue(stock.getValue() + change); - } else { - stock.setValue(stock.getValue() - change); - } - stock.setCnt(++ticknr); - for (TickListener l : listeners) { - l.tick(stock); - } - - } - Thread.sleep(850); - } - } catch (InterruptedException ix) { - // Ignore - } catch (Exception x) { - x.printStackTrace(); - } - } - - - public static interface TickListener { - public void tick(Stock stock); - public void shutdown(); - } - - public static final class Stock implements Cloneable { - protected static final DecimalFormat df = new DecimalFormat("0.00"); - protected final String symbol; - protected double value = 0.0d; - protected double lastchange = 0.0d; - protected int cnt = 0; - - public Stock(String symbol, double initvalue) { - this.symbol = symbol; - this.value = initvalue; - } - - public void setCnt(int c) { - this.cnt = c; - } - - public int getCnt() { - return cnt; - } - - public String getSymbol() { - return symbol; - } - - public double getValue() { - return value; - } - - public void setValue(double value) { - double old = this.value; - this.value = value; - this.lastchange = value - old; - } - - public String getValueAsString() { - return df.format(value); - } - - public double getLastChange() { - return this.lastchange; - } - - public void setLastChange(double lastchange) { - this.lastchange = lastchange; - } - - public String getLastChangeAsString() { - return df.format(lastchange); - } - - @Override - public int hashCode() { - return symbol.hashCode(); - } - - @Override - public boolean equals(Object other) { - if (other instanceof Stock) { - return this.symbol.equals(((Stock) other).symbol); - } - - return false; - } - - @Override - public String toString() { - StringBuilder buf = new StringBuilder("STOCK#"); - buf.append(getSymbol()); - buf.append("#"); - buf.append(getValueAsString()); - buf.append("#"); - buf.append(getLastChangeAsString()); - buf.append("#"); - buf.append(String.valueOf(getCnt())); - return buf.toString(); - - } - - @Override - public Object clone() { - Stock s = new Stock(this.getSymbol(), this.getValue()); - s.setLastChange(this.getLastChange()); - s.setCnt(this.cnt); - return s; - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/cal/Entries.java b/tomcat/webapps/examples/WEB-INF/classes/cal/Entries.java deleted file mode 100644 index 02860195e1c3a455a1f605899c444e9ba6f85c99..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/cal/Entries.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cal; - -import java.util.Hashtable; - -import javax.servlet.http.HttpServletRequest; - -public class Entries { - - private final Hashtable<String, Entry> entries; - private static final String[] time = { "8am", "9am", "10am", "11am", - "12pm", "1pm", "2pm", "3pm", "4pm", "5pm", "6pm", "7pm", "8pm" }; - public static final int rows = 12; - - public Entries() { - entries = new Hashtable<>(rows); - for (int i = 0; i < rows; i++) { - entries.put(time[i], new Entry(time[i])); - } - } - - public int getRows() { - return rows; - } - - public Entry getEntry(int index) { - return this.entries.get(time[index]); - } - - public int getIndex(String tm) { - for (int i = 0; i < rows; i++) - if (tm.equals(time[i])) - return i; - return -1; - } - - public void processRequest(HttpServletRequest request, String tm) { - int index = getIndex(tm); - if (index >= 0) { - String descr = request.getParameter("description"); - entries.get(time[index]).setDescription(descr); - } - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/cal/Entry.java b/tomcat/webapps/examples/WEB-INF/classes/cal/Entry.java deleted file mode 100644 index 68e7fdf0fd67359d1a3cf6e52383a2c011fde197..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/cal/Entry.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package cal; - -public class Entry { - - final String hour; - String description; - - public Entry(String hour) { - this.hour = hour; - this.description = ""; - - } - - public String getHour() { - return this.hour; - } - - public String getColor() { - if (description.equals("")) { - return "lightblue"; - } - return "red"; - } - - public String getDescription() { - if (description.equals("")) { - return "None"; - } - return this.description; - } - - public void setDescription(String descr) { - description = descr; - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/cal/JspCalendar.java b/tomcat/webapps/examples/WEB-INF/classes/cal/JspCalendar.java deleted file mode 100644 index f9cf20f05cb933c707c12f96b093661da27e5cd3..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/cal/JspCalendar.java +++ /dev/null @@ -1,151 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -package cal; - -import java.util.Calendar; -import java.util.Date; - -public class JspCalendar { - final Calendar calendar; - - public JspCalendar() { - calendar = Calendar.getInstance(); - Date trialTime = new Date(); - calendar.setTime(trialTime); - } - - - public int getYear() { - return calendar.get(Calendar.YEAR); - } - - public String getMonth() { - int m = getMonthInt(); - String[] months = new String [] { "January", "February", "March", - "April", "May", "June", - "July", "August", "September", - "October", "November", "December" }; - if (m > 12) - return "Unknown to Man"; - - return months[m - 1]; - - } - - public String getDay() { - int x = getDayOfWeek(); - String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", - "Thursday", "Friday", "Saturday"}; - - if (x > 7) - return "Unknown to Man"; - - return days[x - 1]; - - } - - public int getMonthInt() { - return 1 + calendar.get(Calendar.MONTH); - } - - public String getDate() { - return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear(); - } - - public String getCurrentDate() { - Date dt = new Date (); - calendar.setTime (dt); - return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear(); - - } - - public String getNextDate() { - calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1); - return getDate (); - } - - public String getPrevDate() { - calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1); - return getDate (); - } - - public String getTime() { - return getHour() + ":" + getMinute() + ":" + getSecond(); - } - - public int getDayOfMonth() { - return calendar.get(Calendar.DAY_OF_MONTH); - } - - public int getDayOfYear() { - return calendar.get(Calendar.DAY_OF_YEAR); - } - - public int getWeekOfYear() { - return calendar.get(Calendar.WEEK_OF_YEAR); - } - - public int getWeekOfMonth() { - return calendar.get(Calendar.WEEK_OF_MONTH); - } - - public int getDayOfWeek() { - return calendar.get(Calendar.DAY_OF_WEEK); - } - - public int getHour() { - return calendar.get(Calendar.HOUR_OF_DAY); - } - - public int getMinute() { - return calendar.get(Calendar.MINUTE); - } - - - public int getSecond() { - return calendar.get(Calendar.SECOND); - } - - - public int getEra() { - return calendar.get(Calendar.ERA); - } - - public String getUSTimeZone() { - String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific", - "Mountain", "Central", "Eastern"}; - - return zones[10 + getZoneOffset()]; - } - - public int getZoneOffset() { - return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000); - } - - - public int getDSTOffset() { - return calendar.get(Calendar.DST_OFFSET)/(60*60*1000); - } - - - public int getAMPM() { - return calendar.get(Calendar.AM_PM); - } -} - - diff --git a/tomcat/webapps/examples/WEB-INF/classes/cal/TableBean.java b/tomcat/webapps/examples/WEB-INF/classes/cal/TableBean.java deleted file mode 100644 index 483bd93dd77f1d0ac4bac9c00b298544c2d98fa7..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/cal/TableBean.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cal; - -import java.util.Hashtable; - -import javax.servlet.http.HttpServletRequest; - -public class TableBean { - - final Hashtable<String, Entries> table; - final JspCalendar JspCal; - Entries entries; - String date; - String name = null; - String email = null; - boolean processError = false; - - public TableBean() { - this.table = new Hashtable<>(10); - this.JspCal = new JspCalendar(); - this.date = JspCal.getCurrentDate(); - } - - public void setName(String nm) { - this.name = nm; - } - - public String getName() { - return this.name; - } - - public void setEmail(String mail) { - this.email = mail; - } - - public String getEmail() { - return this.email; - } - - public String getDate() { - return this.date; - } - - public Entries getEntries() { - return this.entries; - } - - public void processRequest(HttpServletRequest request) { - - // Get the name and e-mail. - this.processError = false; - if (name == null || name.equals("")) - setName(request.getParameter("name")); - if (email == null || email.equals("")) - setEmail(request.getParameter("email")); - if (name == null || email == null || name.equals("") - || email.equals("")) { - this.processError = true; - return; - } - - // Get the date. - String dateR = request.getParameter("date"); - if (dateR == null) - date = JspCal.getCurrentDate(); - else if (dateR.equalsIgnoreCase("next")) - date = JspCal.getNextDate(); - else if (dateR.equalsIgnoreCase("prev")) - date = JspCal.getPrevDate(); - - entries = table.get(date); - if (entries == null) { - entries = new Entries(); - table.put(date, entries); - } - - // If time is provided add the event. - String time = request.getParameter("time"); - if (time != null) - entries.processRequest(request, time); - } - - public boolean getProcessError() { - return this.processError; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/checkbox/CheckTest.java b/tomcat/webapps/examples/WEB-INF/classes/checkbox/CheckTest.java deleted file mode 100644 index e38269c95af5832888efaaa4f2ecae9fab013000..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/checkbox/CheckTest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -package checkbox; - -public class CheckTest { - - String b[] = new String[] { "1", "2", "3", "4" }; - - public String[] getFruit() { - return b; - } - - public void setFruit(String [] b) { - this.b = b; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/colors/ColorGameBean.java b/tomcat/webapps/examples/WEB-INF/classes/colors/ColorGameBean.java deleted file mode 100644 index 7c64d94c3b9aefc6ac4ba48fab794e117d597807..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/colors/ColorGameBean.java +++ /dev/null @@ -1,113 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package colors; - -public class ColorGameBean { - - private String background = "yellow"; - private String foreground = "red"; - private String color1 = foreground; - private String color2 = background; - private String hint = "no"; - private int attempts = 0; - private int intval = 0; - private boolean tookHints = false; - - public void processRequest() { - - // background = "yellow"; - // foreground = "red"; - - if (! color1.equals(foreground)) { - if (color1.equalsIgnoreCase("black") || - color1.equalsIgnoreCase("cyan")) { - background = color1; - } - } - - if (! color2.equals(background)) { - if (color2.equalsIgnoreCase("black") || - color2.equalsIgnoreCase("cyan")) { - foreground = color2; - } - } - - attempts++; - } - - public void setColor2(String x) { - color2 = x; - } - - public void setColor1(String x) { - color1 = x; - } - - public void setAction(String x) { - if (!tookHints) - tookHints = x.equalsIgnoreCase("Hint"); - hint = x; - } - - public String getColor2() { - return background; - } - - public String getColor1() { - return foreground; - } - - public int getAttempts() { - return attempts; - } - - public boolean getHint() { - return hint.equalsIgnoreCase("Hint"); - } - - public boolean getSuccess() { - if (background.equalsIgnoreCase("black") || - background.equalsIgnoreCase("cyan")) { - - if (foreground.equalsIgnoreCase("black") || - foreground.equalsIgnoreCase("cyan")) { - return true; - } - return false; - } - - return false; - } - - public boolean getHintTaken() { - return tookHints; - } - - public void reset() { - foreground = "red"; - background = "yellow"; - } - - public void setIntval(int value) { - intval = value; - } - - public int getIntval() { - return intval; - } -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java b/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java deleted file mode 100644 index fbba3c78f2eb44de6fc9fac805e956e27eceb7b5..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java +++ /dev/null @@ -1,225 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package compressionFilters; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Enumeration; -import java.util.List; -import java.util.StringTokenizer; - -import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * Implementation of <code>javax.servlet.Filter</code> used to compress - * the ServletResponse if it is bigger than a threshold. - * - * @author Amy Roh - * @author Dmitri Valdin - */ -public class CompressionFilter extends GenericFilter { - - private static final long serialVersionUID = 1L; - - /** - * Minimal reasonable threshold. - */ - private static final int MIN_THRESHOLD = 128; - - /** - * Minimal reasonable buffer. - */ - // 8KB is what tomcat would use by default anyway - private static final int MIN_BUFFER = 8192; - - /** - * The threshold number to compress. - */ - protected int compressionThreshold = 0; - - /** - * The compression buffer size to avoid chunking. - */ - protected int compressionBuffer = 0; - - /** - * The mime types to compress. - */ - protected String[] compressionMimeTypes = {"text/html", "text/xml", "text/plain"}; - - /** - * Debug level for this filter. - */ - private int debug = 0; - - @Override - public void init() { - String str = getInitParameter("debug"); - if (str != null) { - debug = Integer.parseInt(str); - } - - str = getInitParameter("compressionThreshold"); - if (str != null) { - compressionThreshold = Integer.parseInt(str); - if (compressionThreshold != 0 && compressionThreshold < MIN_THRESHOLD) { - if (debug > 0) { - System.out.println("compressionThreshold should be either 0 - no compression or >= " + MIN_THRESHOLD); - System.out.println("compressionThreshold set to " + MIN_THRESHOLD); - } - compressionThreshold = MIN_THRESHOLD; - } - } - - str = getInitParameter("compressionBuffer"); - if (str != null) { - compressionBuffer = Integer.parseInt(str); - if (compressionBuffer < MIN_BUFFER) { - if (debug > 0) { - System.out.println("compressionBuffer should be >= " + MIN_BUFFER); - System.out.println("compressionBuffer set to " + MIN_BUFFER); - } - compressionBuffer = MIN_BUFFER; - } - } - - str = getInitParameter("compressionMimeTypes"); - if (str != null) { - List<String> values = new ArrayList<>(); - StringTokenizer st = new StringTokenizer(str, ","); - - while (st.hasMoreTokens()) { - String token = st.nextToken().trim(); - if (token.length() > 0) { - values.add(token); - } - } - - if (values.size() > 0) { - compressionMimeTypes = values.toArray( - new String[values.size()]); - } else { - compressionMimeTypes = null; - } - - if (debug > 0) { - System.out.println("compressionMimeTypes set to " + - Arrays.toString(compressionMimeTypes)); - } - } - } - - /** - * The <code>doFilter</code> method of the Filter is called by the container - * each time a request/response pair is passed through the chain due - * to a client request for a resource at the end of the chain. - * The FilterChain passed into this method allows the Filter to pass on the - * request and response to the next entity in the chain.<p> - * This method first examines the request to check whether the client support - * compression. <br> - * It simply just pass the request and response if there is no support for - * compression.<br> - * If the compression support is available, it creates a - * CompressionServletResponseWrapper object which compresses the content and - * modifies the header if the content length is big enough. - * It then invokes the next entity in the chain using the FilterChain object - * (<code>chain.doFilter()</code>), <br> - **/ - @Override - public void doFilter (ServletRequest request, ServletResponse response, FilterChain chain ) - throws IOException, ServletException { - - if (debug > 0) { - System.out.println("@doFilter"); - } - - if (compressionThreshold == 0) { - if (debug > 0) { - System.out.println("doFilter got called, but compressionThreshold is set to 0 - no compression"); - } - chain.doFilter(request, response); - return; - } - - boolean supportCompression = false; - if (request instanceof HttpServletRequest) { - if (debug > 1) { - System.out.println("requestURI = " + ((HttpServletRequest)request).getRequestURI()); - } - - // Are we allowed to compress ? - String s = ((HttpServletRequest)request).getParameter("gzip"); - if ("false".equals(s)) { - if (debug > 0) { - System.out.println("got parameter gzip=false --> don't compress, just chain filter"); - } - chain.doFilter(request, response); - return; - } - - Enumeration<String> e = - ((HttpServletRequest)request).getHeaders("Accept-Encoding"); - while (e.hasMoreElements()) { - String name = e.nextElement(); - if (name.indexOf("gzip") != -1) { - if (debug > 0) { - System.out.println("supports compression"); - } - supportCompression = true; - } else { - if (debug > 0) { - System.out.println("no support for compression"); - } - } - } - } - - if (supportCompression) { - if (response instanceof HttpServletResponse) { - CompressionServletResponseWrapper wrappedResponse = - new CompressionServletResponseWrapper((HttpServletResponse)response); - wrappedResponse.setDebugLevel(debug); - wrappedResponse.setCompressionThreshold(compressionThreshold); - wrappedResponse.setCompressionBuffer(compressionBuffer); - wrappedResponse.setCompressionMimeTypes(compressionMimeTypes); - if (debug > 0) { - System.out.println("doFilter gets called with compression"); - } - try { - chain.doFilter(request, wrappedResponse); - } finally { - wrappedResponse.finishResponse(); - } - return; - } - } else { - if (debug > 0) { - System.out.println("doFilter gets called w/o compression"); - } - chain.doFilter(request, response); - return; - } - } -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java b/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java deleted file mode 100644 index af1a0b9798a8f06bdf5d048c60987b641fcee296..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java +++ /dev/null @@ -1,66 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package compressionFilters; - -import java.io.IOException; -import java.util.Enumeration; - -import javax.servlet.ServletException; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * Very Simple test servlet to test compression filter - * @author Amy Roh - */ -public class CompressionFilterTestServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - public void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - - ServletOutputStream out = response.getOutputStream(); - response.setContentType("text/plain"); - - Enumeration<String> e = request.getHeaders("Accept-Encoding"); - while (e.hasMoreElements()) { - String name = e.nextElement(); - out.println(name); - if (name.indexOf("gzip") != -1) { - out.println("gzip supported -- able to compress"); - } - else { - out.println("gzip not supported"); - } - } - - - out.println("Compression Filter Test Servlet"); - out.println("Minimum content length for compression is 128 bytes"); - out.println("********** 32 bytes **********"); - out.println("********** 32 bytes **********"); - out.println("********** 32 bytes **********"); - out.println("********** 32 bytes **********"); - out.close(); - } - -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java b/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java deleted file mode 100644 index ccc66073ad4fb54a427eeef0a77d4d6a8d5b8f4e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java +++ /dev/null @@ -1,435 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package compressionFilters; - -import java.io.IOException; -import java.io.OutputStream; -import java.util.Arrays; -import java.util.zip.GZIPOutputStream; - -import javax.servlet.ServletOutputStream; -import javax.servlet.WriteListener; - -/** - * Implementation of <b>ServletOutputStream</b> that works with - * the CompressionServletResponseWrapper implementation. - * - * @author Amy Roh - * @author Dmitri Valdin - */ -public class CompressionResponseStream extends ServletOutputStream { - - // ----------------------------------------------------------- Constructors - - /** - * Construct a servlet output stream associated with the specified Response. - * - * @param responseWrapper The associated response wrapper - * @param originalOutput the output stream - */ - public CompressionResponseStream( - CompressionServletResponseWrapper responseWrapper, - ServletOutputStream originalOutput) { - - super(); - closed = false; - this.response = responseWrapper; - this.output = originalOutput; - } - - - // ----------------------------------------------------- Instance Variables - - - /** - * The threshold number which decides to compress or not. - * Users can configure in web.xml to set it to fit their needs. - */ - protected int compressionThreshold = 0; - - /** - * The compression buffer size to avoid chunking - */ - protected int compressionBuffer = 0; - - /** - * The mime types to compress - */ - protected String[] compressionMimeTypes = {"text/html", "text/xml", "text/plain"}; - - /** - * Debug level - */ - private int debug = 0; - - /** - * The buffer through which all of our output bytes are passed. - */ - protected byte[] buffer = null; - - /** - * The number of data bytes currently in the buffer. - */ - protected int bufferCount = 0; - - /** - * The underlying gzip output stream to which we should write data. - */ - protected OutputStream gzipstream = null; - - /** - * Has this stream been closed? - */ - protected boolean closed = false; - - /** - * The response with which this servlet output stream is associated. - */ - protected final CompressionServletResponseWrapper response; - - /** - * The underlying servlet output stream to which we should write data. - */ - protected final ServletOutputStream output; - - - // --------------------------------------------------------- Public Methods - - /** - * Set debug level. - * - * @param debug The higher the number, the more detail shown. Currently the - * range 0 (none) to 3 (everything) is used. - */ - public void setDebugLevel(int debug) { - this.debug = debug; - } - - - /** - * Set the compressionThreshold number and create buffer for this size - */ - protected void setCompressionThreshold(int compressionThreshold) { - this.compressionThreshold = compressionThreshold; - buffer = new byte[this.compressionThreshold]; - if (debug > 1) { - System.out.println("compressionThreshold is set to "+ this.compressionThreshold); - } - } - - /** - * The compression buffer size to avoid chunking - */ - protected void setCompressionBuffer(int compressionBuffer) { - this.compressionBuffer = compressionBuffer; - if (debug > 1) { - System.out.println("compressionBuffer is set to "+ this.compressionBuffer); - } - } - - /** - * Set supported mime types. - * - * @param compressionMimeTypes The mimetypes that will be compressed. - */ - public void setCompressionMimeTypes(String[] compressionMimeTypes) { - this.compressionMimeTypes = compressionMimeTypes; - if (debug > 1) { - System.out.println("compressionMimeTypes is set to " + - Arrays.toString(this.compressionMimeTypes)); - } - } - - /** - * Close this output stream, causing any buffered data to be flushed and - * any further output data to throw an IOException. - */ - @Override - public void close() throws IOException { - - if (debug > 1) { - System.out.println("close() @ CompressionResponseStream"); - } - if (closed) - throw new IOException("This output stream has already been closed"); - - if (gzipstream != null) { - flushToGZip(); - gzipstream.close(); - gzipstream = null; - } else { - if (bufferCount > 0) { - if (debug > 2) { - System.out.print("output.write("); - System.out.write(buffer, 0, bufferCount); - System.out.println(")"); - } - output.write(buffer, 0, bufferCount); - bufferCount = 0; - } - } - - output.close(); - closed = true; - - } - - - /** - * Flush any buffered data for this output stream, which also causes the - * response to be committed. - */ - @Override - public void flush() throws IOException { - - if (debug > 1) { - System.out.println("flush() @ CompressionResponseStream"); - } - if (closed) { - throw new IOException("Cannot flush a closed output stream"); - } - - if (gzipstream != null) { - gzipstream.flush(); - } - - } - - public void flushToGZip() throws IOException { - - if (debug > 1) { - System.out.println("flushToGZip() @ CompressionResponseStream"); - } - if (bufferCount > 0) { - if (debug > 1) { - System.out.println("flushing out to GZipStream, bufferCount = " + bufferCount); - } - writeToGZip(buffer, 0, bufferCount); - bufferCount = 0; - } - - } - - /** - * Write the specified byte to our output stream. - * - * @param b The byte to be written - * - * @exception IOException if an input/output error occurs - */ - @Override - public void write(int b) throws IOException { - - if (debug > 1) { - System.out.println("write "+b+" in CompressionResponseStream "); - } - if (closed) - throw new IOException("Cannot write to a closed output stream"); - - if (bufferCount >= buffer.length) { - flushToGZip(); - } - - buffer[bufferCount++] = (byte) b; - - } - - - /** - * Write <code>b.length</code> bytes from the specified byte array - * to our output stream. - * - * @param b The byte array to be written - * - * @exception IOException if an input/output error occurs - */ - @Override - public void write(byte b[]) throws IOException { - - write(b, 0, b.length); - - } - - - - /** - * TODO SERVLET 3.1 - */ - @Override - public boolean isReady() { - // TODO Auto-generated method stub - return false; - } - - - /** - * TODO SERVLET 3.1 - */ - @Override - public void setWriteListener(WriteListener listener) { - // TODO Auto-generated method stub - - } - - - /** - * Write <code>len</code> bytes from the specified byte array, starting - * at the specified offset, to our output stream. - * - * @param b The byte array containing the bytes to be written - * @param off Zero-relative starting offset of the bytes to be written - * @param len The number of bytes to be written - * - * @exception IOException if an input/output error occurs - */ - @Override - public void write(byte b[], int off, int len) throws IOException { - - if (debug > 1) { - System.out.println("write, bufferCount = " + bufferCount + " len = " + len + " off = " + off); - } - if (debug > 2) { - System.out.print("write("); - System.out.write(b, off, len); - System.out.println(")"); - } - - if (closed) - throw new IOException("Cannot write to a closed output stream"); - - if (len == 0) - return; - - // Can we write into buffer ? - if (len <= (buffer.length - bufferCount)) { - System.arraycopy(b, off, buffer, bufferCount, len); - bufferCount += len; - return; - } - - // There is not enough space in buffer. Flush it ... - flushToGZip(); - - // ... and try again. Note, that bufferCount = 0 here ! - if (len <= (buffer.length - bufferCount)) { - System.arraycopy(b, off, buffer, bufferCount, len); - bufferCount += len; - return; - } - - // write direct to gzip - writeToGZip(b, off, len); - } - - public void writeToGZip(byte b[], int off, int len) throws IOException { - - if (debug > 1) { - System.out.println("writeToGZip, len = " + len); - } - if (debug > 2) { - System.out.print("writeToGZip("); - System.out.write(b, off, len); - System.out.println(")"); - } - if (gzipstream == null) { - if (debug > 1) { - System.out.println("new GZIPOutputStream"); - } - - boolean alreadyCompressed = false; - String contentEncoding = response.getHeader("Content-Encoding"); - if (contentEncoding != null) { - if (contentEncoding.contains("gzip")) { - alreadyCompressed = true; - if (debug > 0) { - System.out.println("content is already compressed"); - } - } else { - if (debug > 0) { - System.out.println("content is not compressed yet"); - } - } - } - - boolean compressibleMimeType = false; - // Check for compatible MIME-TYPE - if (compressionMimeTypes != null) { - if (startsWithStringArray(compressionMimeTypes, response.getContentType())) { - compressibleMimeType = true; - if (debug > 0) { - System.out.println("mime type " + response.getContentType() + " is compressible"); - } - } else { - if (debug > 0) { - System.out.println("mime type " + response.getContentType() + " is not compressible"); - } - } - } - - if (response.isCommitted()) { - if (debug > 1) - System.out.print("Response already committed. Using original output stream"); - gzipstream = output; - } else if (alreadyCompressed) { - if (debug > 1) - System.out.print("Response already compressed. Using original output stream"); - gzipstream = output; - } else if (!compressibleMimeType) { - if (debug > 1) - System.out.print("Response mime type is not compressible. Using original output stream"); - gzipstream = output; - } else { - response.addHeader("Content-Encoding", "gzip"); - response.setContentLength(-1); // don't use any preset content-length as it will be wrong after gzipping - response.setBufferSize(compressionBuffer); - gzipstream = new GZIPOutputStream(output); - } - } - gzipstream.write(b, off, len); - - } - - - // -------------------------------------------------------- Package Methods - - /** - * Has this response stream been closed? - * - * @return <code>true</code> if the stream has been closed, otherwise false. - */ - public boolean closed() { - return closed; - } - - - /** - * Checks if any entry in the string array starts with the specified value - * - * @param sArray the StringArray - * @param value string - */ - private boolean startsWithStringArray(String sArray[], String value) { - if (value == null) - return false; - for (int i = 0; i < sArray.length; i++) { - if (value.startsWith(sArray[i])) { - return true; - } - } - return false; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java b/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java deleted file mode 100644 index e12859da7274390b89d95794d7b2825c64649094..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java +++ /dev/null @@ -1,285 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package compressionFilters; - -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpServletResponseWrapper; - -/** - * Implementation of <b>HttpServletResponseWrapper</b> that works with - * the CompressionServletResponseStream implementation.. - * - * @author Amy Roh - * @author Dmitri Valdin - */ -public class CompressionServletResponseWrapper - extends HttpServletResponseWrapper { - - // ----------------------------------------------------- Constructor - - /** - * Calls the parent constructor which creates a ServletResponse adaptor - * wrapping the given response object. - * - * @param response The response object to be wrapped. - */ - public CompressionServletResponseWrapper(HttpServletResponse response) { - super(response); - origResponse = response; - if (debug > 1) { - System.out.println("CompressionServletResponseWrapper constructor gets called"); - } - } - - - // ----------------------------------------------------- Instance Variables - - /** - * Original response - */ - protected final HttpServletResponse origResponse; - - /** - * The ServletOutputStream that has been returned by - * <code>getOutputStream()</code>, if any. - */ - protected ServletOutputStream stream = null; - - - /** - * The PrintWriter that has been returned by - * <code>getWriter()</code>, if any. - */ - protected PrintWriter writer = null; - - /** - * The threshold number to compress - */ - protected int compressionThreshold = 0; - - /** - * The compression buffer size - */ - protected int compressionBuffer = 8192; // 8KB default - - /** - * The mime types to compress - */ - protected String[] compressionMimeTypes = {"text/html", "text/xml", "text/plain"}; - - /** - * Debug level - */ - protected int debug = 0; - - /** - * keeps a copy of all headers set - */ - private final Map<String,String> headerCopies = new HashMap<>(); - - - // --------------------------------------------------------- Public Methods - - - /** - * Set threshold number. - * - * @param threshold The new compression threshold - */ - public void setCompressionThreshold(int threshold) { - if (debug > 1) { - System.out.println("setCompressionThreshold to " + threshold); - } - this.compressionThreshold = threshold; - } - - /** - * Set compression buffer. - * - * @param buffer New size of buffer to use for compressed output - */ - public void setCompressionBuffer(int buffer) { - if (debug > 1) { - System.out.println("setCompressionBuffer to " + buffer); - } - this.compressionBuffer = buffer; - } - - /** - * Set compressible mime types. - * - * @param mimeTypes The new list of mime types that will be considered for - * compression - */ - public void setCompressionMimeTypes(String[] mimeTypes) { - if (debug > 1) { - System.out.println("setCompressionMimeTypes to " + - Arrays.toString(mimeTypes)); - } - this.compressionMimeTypes = mimeTypes; - } - - /** - * Set debug level. - * - * @param debug The new debug level - */ - public void setDebugLevel(int debug) { - this.debug = debug; - } - - - /** - * Create and return a ServletOutputStream to write the content - * associated with this Response. - * - * @exception IOException if an input/output error occurs - * - * @return A new servlet output stream that compressed any data written to - * it - */ - protected ServletOutputStream createOutputStream() throws IOException { - if (debug > 1) { - System.out.println("createOutputStream gets called"); - } - - CompressionResponseStream stream = new CompressionResponseStream( - this, origResponse.getOutputStream()); - stream.setDebugLevel(debug); - stream.setCompressionThreshold(compressionThreshold); - stream.setCompressionBuffer(compressionBuffer); - stream.setCompressionMimeTypes(compressionMimeTypes); - - return stream; - } - - - /** - * Finish a response. - */ - public void finishResponse() { - try { - if (writer != null) { - writer.close(); - } else { - if (stream != null) - stream.close(); - } - } catch (IOException e) { - // Ignore - } - } - - - // ------------------------------------------------ ServletResponse Methods - - - /** - * Flush the buffer and commit this response. - * - * @exception IOException if an input/output error occurs - */ - @Override - public void flushBuffer() throws IOException { - if (debug > 1) { - System.out.println("flush buffer @ GZipServletResponseWrapper"); - } - ((CompressionResponseStream)stream).flush(); - - } - - /** - * Return the servlet output stream associated with this Response. - * - * @exception IllegalStateException if <code>getWriter</code> has - * already been called for this response - * @exception IOException if an input/output error occurs - */ - @Override - public ServletOutputStream getOutputStream() throws IOException { - - if (writer != null) - throw new IllegalStateException("getWriter() has already been called for this response"); - - if (stream == null) - stream = createOutputStream(); - if (debug > 1) { - System.out.println("stream is set to "+stream+" in getOutputStream"); - } - - return stream; - } - - /** - * Return the writer associated with this Response. - * - * @exception IllegalStateException if <code>getOutputStream</code> has - * already been called for this response - * @exception IOException if an input/output error occurs - */ - @Override - public PrintWriter getWriter() throws IOException { - - if (writer != null) - return writer; - - if (stream != null) - throw new IllegalStateException("getOutputStream() has already been called for this response"); - - stream = createOutputStream(); - if (debug > 1) { - System.out.println("stream is set to "+stream+" in getWriter"); - } - String charEnc = origResponse.getCharacterEncoding(); - if (debug > 1) { - System.out.println("character encoding is " + charEnc); - } - writer = new PrintWriter(new OutputStreamWriter(stream, charEnc)); - - return writer; - } - - @Override - public String getHeader(String name) { - return headerCopies.get(name); - } - - @Override - public void addHeader(String name, String value) { - if (headerCopies.containsKey(name)) { - String existingValue = headerCopies.get(name); - if ((existingValue != null) && (existingValue.length() > 0)) headerCopies.put(name, existingValue + "," + value); - else headerCopies.put(name, value); - } else headerCopies.put(name, value); - super.addHeader(name, value); - } - - - @Override - public void setHeader(String name, String value) { - headerCopies.put(name, value); - super.setHeader(name, value); - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/dates/JspCalendar.java b/tomcat/webapps/examples/WEB-INF/classes/dates/JspCalendar.java deleted file mode 100644 index 759edee10f2c15e77ef6d2b8a18c0f3daf2795d6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/dates/JspCalendar.java +++ /dev/null @@ -1,153 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package dates; - -import java.util.Calendar; -import java.util.Date; - -public class JspCalendar { - final Calendar calendar; - - public JspCalendar() { - calendar = Calendar.getInstance(); - Date trialTime = new Date(); - calendar.setTime(trialTime); - } - - public int getYear() { - return calendar.get(Calendar.YEAR); - } - - public String getMonth() { - int m = getMonthInt(); - String[] months = new String [] { "January", "February", "March", - "April", "May", "June", - "July", "August", "September", - "October", "November", "December" }; - if (m > 12) - return "Unknown to Man"; - - return months[m - 1]; - - } - - public String getDay() { - int x = getDayOfWeek(); - String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", - "Thursday", "Friday", "Saturday"}; - - if (x > 7) - return "Unknown to Man"; - - return days[x - 1]; - - } - - public int getMonthInt() { - return 1 + calendar.get(Calendar.MONTH); - } - - public String getDate() { - return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear(); - - } - - public String getTime() { - return getHour() + ":" + getMinute() + ":" + getSecond(); - } - - public int getDayOfMonth() { - return calendar.get(Calendar.DAY_OF_MONTH); - } - - public int getDayOfYear() { - return calendar.get(Calendar.DAY_OF_YEAR); - } - - public int getWeekOfYear() { - return calendar.get(Calendar.WEEK_OF_YEAR); - } - - public int getWeekOfMonth() { - return calendar.get(Calendar.WEEK_OF_MONTH); - } - - public int getDayOfWeek() { - return calendar.get(Calendar.DAY_OF_WEEK); - } - - public int getHour() { - return calendar.get(Calendar.HOUR_OF_DAY); - } - - public int getMinute() { - return calendar.get(Calendar.MINUTE); - } - - - public int getSecond() { - return calendar.get(Calendar.SECOND); - } - - public static void main(String args[]) { - JspCalendar db = new JspCalendar(); - p("date: " + db.getDayOfMonth()); - p("year: " + db.getYear()); - p("month: " + db.getMonth()); - p("time: " + db.getTime()); - p("date: " + db.getDate()); - p("Day: " + db.getDay()); - p("DayOfYear: " + db.getDayOfYear()); - p("WeekOfYear: " + db.getWeekOfYear()); - p("era: " + db.getEra()); - p("ampm: " + db.getAMPM()); - p("DST: " + db.getDSTOffset()); - p("ZONE Offset: " + db.getZoneOffset()); - p("TIMEZONE: " + db.getUSTimeZone()); - } - - private static void p(String x) { - System.out.println(x); - } - - - public int getEra() { - return calendar.get(Calendar.ERA); - } - - public String getUSTimeZone() { - String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific", - "Mountain", "Central", "Eastern"}; - - return zones[10 + getZoneOffset()]; - } - - public int getZoneOffset() { - return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000); - } - - - public int getDSTOffset() { - return calendar.get(Calendar.DST_OFFSET)/(60*60*1000); - } - - - public int getAMPM() { - return calendar.get(Calendar.AM_PM); - } -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/error/Smart.java b/tomcat/webapps/examples/WEB-INF/classes/error/Smart.java deleted file mode 100644 index 82c22f6f5218c26b6933fb038b5dc80dbb9c60be..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/error/Smart.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package error; - -public class Smart { - - String name = "JSP"; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/examples/ExampleTagBase.java b/tomcat/webapps/examples/WEB-INF/classes/examples/ExampleTagBase.java deleted file mode 100644 index 127eddf655b7eab96c9bdf3a28533192e55bed04..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/examples/ExampleTagBase.java +++ /dev/null @@ -1,74 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package examples; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.BodyContent; -import javax.servlet.jsp.tagext.BodyTagSupport; -import javax.servlet.jsp.tagext.Tag; - -public abstract class ExampleTagBase extends BodyTagSupport { - - private static final long serialVersionUID = 1L; - - @Override - public void setParent(Tag parent) { - this.parent = parent; - } - - @Override - public void setBodyContent(BodyContent bodyOut) { - this.bodyOut = bodyOut; - } - - @Override - public Tag getParent() { - return this.parent; - } - - @Override - public int doStartTag() throws JspException { - return SKIP_BODY; - } - - @Override - public int doEndTag() throws JspException { - return EVAL_PAGE; - } - - - @Override - public void doInitBody() throws JspException { - // Default implementations for BodyTag methods as well - // just in case a tag decides to implement BodyTag. - } - - @Override - public int doAfterBody() throws JspException { - return SKIP_BODY; - } - - @Override - public void release() { - bodyOut = null; - pageContext = null; - parent = null; - } - - protected BodyContent bodyOut; - protected Tag parent; -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/examples/FooTag.java b/tomcat/webapps/examples/WEB-INF/classes/examples/FooTag.java deleted file mode 100644 index f4f3050efd85f0bbd1552ab6631181d5b7784339..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/examples/FooTag.java +++ /dev/null @@ -1,87 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package examples; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspTagException; - -/** - * Example1: the simplest tag - * Collect attributes and call into some actions - * - * <foo att1="..." att2="...." att3="...." /> - */ - -public class FooTag extends ExampleTagBase { - - private static final long serialVersionUID = 1L; - - private final String atts[] = new String[3]; - int i = 0; - - private final void setAtt(int index, String value) { - atts[index] = value; - } - - public void setAtt1(String value) { - setAtt(0, value); - } - - public void setAtt2(String value) { - setAtt(1, value); - } - - public void setAtt3(String value) { - setAtt(2, value); - } - - /** - * Process start tag - * - * @return EVAL_BODY_INCLUDE - */ - @Override - public int doStartTag() throws JspException { - i = 0; - return EVAL_BODY_BUFFERED; - } - - @Override - public void doInitBody() throws JspException { - pageContext.setAttribute("member", atts[i]); - i++; - } - - @Override - public int doAfterBody() throws JspException { - try { - if (i == 3) { - bodyOut.writeOut(bodyOut.getEnclosingWriter()); - return SKIP_BODY; - } - - pageContext.setAttribute("member", atts[i]); - i++; - return EVAL_BODY_BUFFERED; - } catch (IOException ex) { - throw new JspTagException(ex.toString()); - } - } -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/examples/FooTagExtraInfo.java b/tomcat/webapps/examples/WEB-INF/classes/examples/FooTagExtraInfo.java deleted file mode 100644 index e3fe37118b90b88b10e9c4c2a29ad9006969f67b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/examples/FooTagExtraInfo.java +++ /dev/null @@ -1,36 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package examples; - -import javax.servlet.jsp.tagext.TagData; -import javax.servlet.jsp.tagext.TagExtraInfo; -import javax.servlet.jsp.tagext.VariableInfo; - -public class FooTagExtraInfo extends TagExtraInfo { - @Override - public VariableInfo[] getVariableInfo(TagData data) { - return new VariableInfo[] - { - new VariableInfo("member", - "String", - true, - VariableInfo.NESTED) - }; - } -} - - diff --git a/tomcat/webapps/examples/WEB-INF/classes/examples/LogTag.java b/tomcat/webapps/examples/WEB-INF/classes/examples/LogTag.java deleted file mode 100644 index 0f382804f32b52952972feac641ebb570096321c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/examples/LogTag.java +++ /dev/null @@ -1,61 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package examples; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspTagException; - -/** - * Log the contents of the body. Could be used to handle errors etc. - */ -public class LogTag extends ExampleTagBase { - - private static final long serialVersionUID = 1L; - - boolean toBrowser = false; - - public void setToBrowser(String value) { - if (value == null) - toBrowser = false; - else if (value.equalsIgnoreCase("true")) - toBrowser = true; - else - toBrowser = false; - } - - @Override - public int doStartTag() throws JspException { - return EVAL_BODY_BUFFERED; - } - - @Override - public int doAfterBody() throws JspException { - try { - String s = bodyOut.getString(); - System.err.println(s); - if (toBrowser) - bodyOut.writeOut(bodyOut.getEnclosingWriter()); - return SKIP_BODY; - } catch (IOException ex) { - throw new JspTagException(ex.toString()); - } - } -} - - diff --git a/tomcat/webapps/examples/WEB-INF/classes/examples/ShowSource.java b/tomcat/webapps/examples/WEB-INF/classes/examples/ShowSource.java deleted file mode 100644 index 2337d7c2f892ff09b88222cf8cfd5f3a7e655e09..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/examples/ShowSource.java +++ /dev/null @@ -1,76 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package examples; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Locale; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspTagException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.TagSupport; - -/** - * Display the sources of the JSP file. - */ -public class ShowSource extends TagSupport { - - private static final long serialVersionUID = 1L; - - String jspFile; - - public void setJspFile(String jspFile) { - this.jspFile = jspFile; - } - - @Override - public int doEndTag() throws JspException { - if ((jspFile.indexOf( ".." ) >= 0) || - (jspFile.toUpperCase(Locale.ENGLISH).indexOf("/WEB-INF/") != 0) || - (jspFile.toUpperCase(Locale.ENGLISH).indexOf("/META-INF/") != 0)) - throw new JspTagException("Invalid JSP file " + jspFile); - - try (InputStream in - = pageContext.getServletContext().getResourceAsStream(jspFile)) { - - if (in == null) - throw new JspTagException("Unable to find JSP file: " + jspFile); - - JspWriter out = pageContext.getOut(); - - try { - out.println("<body>"); - out.println("<pre>"); - for (int ch = in.read(); ch != -1; ch = in.read()) - if (ch == '<') - out.print("<"); - else - out.print((char) ch); - out.println("</pre>"); - out.println("</body>"); - } catch (IOException ex) { - throw new JspTagException("IOException: " + ex.toString()); - } - } catch (IOException ex2) { - throw new JspTagException("IOException: " + ex2.toString()); - } - return super.doEndTag(); - } -} - - diff --git a/tomcat/webapps/examples/WEB-INF/classes/examples/ValuesTag.java b/tomcat/webapps/examples/WEB-INF/classes/examples/ValuesTag.java deleted file mode 100644 index b33586059d78d1b0dadeb03560f407b5b63b5435..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/examples/ValuesTag.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package examples; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspTagException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.TagSupport; - -/** - * Accept and display a value. - */ -public class ValuesTag extends TagSupport { - - private static final long serialVersionUID = 1L; - - // Using "-1" as the default value, - // in the assumption that it won't be used as the value. - // Cannot use null here, because null is an important case - // that should be present in the tests. - private Object objectValue = "-1"; - private String stringValue = "-1"; - private long longValue = -1; - private double doubleValue = -1; - - public void setObject(Object objectValue) { - this.objectValue = objectValue; - } - - public void setString(String stringValue) { - this.stringValue = stringValue; - } - - public void setLong(long longValue) { - this.longValue = longValue; - } - - public void setDouble(double doubleValue) { - this.doubleValue = doubleValue; - } - - @Override - public int doEndTag() throws JspException { - JspWriter out = pageContext.getOut(); - - try { - if (!"-1".equals(objectValue)) { - out.print(objectValue); - } else if (!"-1".equals(stringValue)) { - out.print(stringValue); - } else if (longValue != -1) { - out.print(longValue); - } else if (doubleValue != -1) { - out.print(doubleValue); - } else { - out.print("-1"); - } - } catch (IOException ex) { - throw new JspTagException("IOException: " + ex.toString(), ex); - } - return super.doEndTag(); - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java b/tomcat/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java deleted file mode 100644 index 3e0123b92099a0db3b795e0f4e4835fa7174c093..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java +++ /dev/null @@ -1,102 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -package filters; - - -import java.io.IOException; - -import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - - -/** - * Example filter that can be attached to either an individual servlet - * or to a URL pattern. This filter performs the following functions: - * <ul> - * <li>Attaches itself as a request attribute, under the attribute name - * defined by the value of the <code>attribute</code> initialization - * parameter.</li> - * <li>Calculates the number of milliseconds required to perform the - * servlet processing required by this request, including any - * subsequently defined filters, and logs the result to the servlet - * context log for this application. - * </ul> - * - * @author Craig McClanahan - */ -public final class ExampleFilter extends GenericFilter { - - - private static final long serialVersionUID = 1L; - - - /** - * The request attribute name under which we store a reference to ourself. - */ - private String attribute = null; - - - /** - * Time the processing that is performed by all subsequent filters in the - * current filter stack, including the ultimately invoked servlet. - * - * @param request The servlet request we are processing - * @param response The servlet response we are creating - * @param chain The filter chain we are processing - * - * @exception IOException if an input/output error occurs - * @exception ServletException if a servlet error occurs - */ - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException { - - // Store ourselves as a request attribute (if requested) - if (attribute != null) - request.setAttribute(attribute, this); - - // Time and log the subsequent processing - long startTime = System.currentTimeMillis(); - chain.doFilter(request, response); - long stopTime = System.currentTimeMillis(); - getServletContext().log(this.toString() + ": " + (stopTime - startTime) + - " milliseconds"); - } - - - @Override - public void init() throws ServletException { - this.attribute = getInitParameter("attribute"); - } - - - /** - * Return a String representation of this object. - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder("TimingFilter("); - sb.append(getFilterConfig()); - sb.append(")"); - return sb.toString(); - } -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java b/tomcat/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java deleted file mode 100644 index edfee522bda64b2bab3c842ac0c49bff948c1a1f..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package http2; - -import java.io.IOException; -import java.io.PrintWriter; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.PushBuilder; - -public class SimpleImagePush extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - - resp.setCharacterEncoding("UTF-8"); - resp.setContentType("text/html"); - PrintWriter pw = resp.getWriter(); - - PushBuilder pb = req.newPushBuilder(); - if (pb != null) { - pb.path("servlets/images/code.gif"); - pb.push(); - pw.println("<html>"); - pw.println("<body>"); - pw.println("<p>The following image was provided via a push request.</p>"); - pw.println("<img src=\"" + req.getContextPath() + "/servlets/images/code.gif\"/>"); - pw.println("</body>"); - pw.println("</html>"); - pw.flush(); - } else { - pw.println("<html>"); - pw.println("<body>"); - pw.println("<p>Server push requests are not supported by this protocol.</p>"); - pw.println("</body>"); - pw.println("</html>"); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.java deleted file mode 100644 index ff6a55de1a8fe038a63d16a12b53b45fb2afc09c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/BookBean.java +++ /dev/null @@ -1,44 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples; - -public class BookBean { - private final String title; - private final String author; - private final String isbn; - - public BookBean( String title, String author, String isbn ) { - this.title = title; - this.author = author; - this.isbn = isbn; - } - - public String getTitle() { - return this.title; - } - - public String getAuthor() { - return this.author; - } - - public String getIsbn() { - return this.isbn; - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/FooBean.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/FooBean.java deleted file mode 100644 index 4dc0a780306b286af6f4929f19d31eef93cc6034..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/FooBean.java +++ /dev/null @@ -1,36 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples; - -public class FooBean { - private String bar; - - public FooBean() { - bar = "Initial value"; - } - - public String getBar() { - return this.bar; - } - - public void setBar(String bar) { - this.bar = bar; - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/ValuesBean.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/ValuesBean.java deleted file mode 100644 index 686039c7d7fd7c1d3f220f3eb57dd4970d958baf..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/ValuesBean.java +++ /dev/null @@ -1,52 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples; - -/** - * Accept and display a value. - */ -public class ValuesBean { - private String string; - private double doubleValue; - private long longValue; - - public String getStringValue() { - return this.string; - } - - public void setStringValue(String string) { - this.string = string; - } - - public double getDoubleValue() { - return doubleValue; - } - - public void setDoubleValue(double doubleValue) { - this.doubleValue = doubleValue; - } - - public long getLongValue() { - return longValue; - } - - public void setLongValue(long longValue) { - this.longValue = longValue; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/el/Functions.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/el/Functions.java deleted file mode 100644 index 77fdb9cff71a84542e1bdcc62bd87497bf006118..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/el/Functions.java +++ /dev/null @@ -1,45 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package jsp2.examples.el; - -import java.util.Locale; - -/** - * Defines the functions for the jsp2 example tag library. - * - * <p>Each function is defined as a static method.</p> - */ -public class Functions { - public static String reverse( String text ) { - return new StringBuilder( text ).reverse().toString(); - } - - public static int numVowels( String text ) { - String vowels = "aeiouAEIOU"; - int result = 0; - for( int i = 0; i < text.length(); i++ ) { - if( vowels.indexOf( text.charAt( i ) ) != -1 ) { - result++; - } - } - return result; - } - - public static String caps( String text ) { - return text.toUpperCase(Locale.ENGLISH); - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java deleted file mode 100644 index c34237d6706fd02bbde0aef35f9ebb4beb650050..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java +++ /dev/null @@ -1,58 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.DynamicAttributes; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that echoes all its attributes - */ -public class EchoAttributesTag - extends SimpleTagSupport - implements DynamicAttributes -{ - private final List<String> keys = new ArrayList<>(); - private final List<Object> values = new ArrayList<>(); - - @Override - public void doTag() throws JspException, IOException { - JspWriter out = getJspContext().getOut(); - for( int i = 0; i < keys.size(); i++ ) { - String key = keys.get( i ); - Object value = values.get( i ); - out.println( "<li>" + key + " = " + value + "</li>" ); - } - } - - @Override - public void setDynamicAttribute( String uri, String localName, - Object value ) - throws JspException - { - keys.add( localName ); - values.add( value ); - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java deleted file mode 100644 index e44d4e2fd8dee1552d5849c3f97fd80b64b8e6ea..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java +++ /dev/null @@ -1,46 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -import jsp2.examples.BookBean; - -/** - * SimpleTag handler that pretends to search for a book, and stores - * the result in a scoped variable. - */ -public class FindBookSimpleTag extends SimpleTagSupport { - private String var; - - private static final String BOOK_TITLE = "The Lord of the Rings"; - private static final String BOOK_AUTHOR = "J. R. R. Tolkein"; - private static final String BOOK_ISBN = "0618002251"; - - @Override - public void doTag() throws JspException { - BookBean book = new BookBean( BOOK_TITLE, BOOK_AUTHOR, BOOK_ISBN ); - getJspContext().setAttribute( this.var, book ); - } - - public void setVar( String var ) { - this.var = var; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java deleted file mode 100644 index f87736f9b7690620c39ecaf443a9d5b16d247f57..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java +++ /dev/null @@ -1,34 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that prints "Hello, world!" - */ -public class HelloWorldSimpleTag extends SimpleTagSupport { - @Override - public void doTag() throws JspException, IOException { - getJspContext().getOut().write( "Hello, world!" ); - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java deleted file mode 100644 index 41a9f3c72a6a5fb8b31dea8e63d4fe90cf8b279b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java +++ /dev/null @@ -1,44 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that accepts a num attribute and - * invokes its body 'num' times. - */ -public class RepeatSimpleTag extends SimpleTagSupport { - private int num; - - @Override - public void doTag() throws JspException, IOException { - for (int i=0; i<num; i++) { - getJspContext().setAttribute("count", String.valueOf( i + 1 ) ); - getJspBody().invoke(null); - } - } - - public void setNum(int num) { - this.num = num; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java deleted file mode 100644 index a39e5081683582a7aeea6dc7248f92d1bd075e14..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java +++ /dev/null @@ -1,87 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; -import java.util.Random; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.JspFragment; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that accepts takes three attributes of type - * JspFragment and invokes then in a random order. - */ -public class ShuffleSimpleTag extends SimpleTagSupport { - // No need for this to use SecureRandom - private static final Random random = new Random(); - - private JspFragment fragment1; - private JspFragment fragment2; - private JspFragment fragment3; - - @Override - public void doTag() throws JspException, IOException { - switch(random.nextInt(6)) { - case 0: - fragment1.invoke( null ); - fragment2.invoke( null ); - fragment3.invoke( null ); - break; - case 1: - fragment1.invoke( null ); - fragment3.invoke( null ); - fragment2.invoke( null ); - break; - case 2: - fragment2.invoke( null ); - fragment1.invoke( null ); - fragment3.invoke( null ); - break; - case 3: - fragment2.invoke( null ); - fragment3.invoke( null ); - fragment1.invoke( null ); - break; - case 4: - fragment3.invoke( null ); - fragment1.invoke( null ); - fragment2.invoke( null ); - break; - case 5: - fragment3.invoke( null ); - fragment2.invoke( null ); - fragment1.invoke( null ); - break; - } - } - - public void setFragment1( JspFragment fragment1 ) { - this.fragment1 = fragment1; - } - - public void setFragment2( JspFragment fragment2 ) { - this.fragment2 = fragment2; - } - - public void setFragment3( JspFragment fragment3 ) { - this.fragment3 = fragment3; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java b/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java deleted file mode 100644 index 2d5db92bac348b8ff7857dcc5e5acd5127989ba0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java +++ /dev/null @@ -1,48 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * Displays a tile as a single cell in a table. - */ -public class TileSimpleTag extends SimpleTagSupport { - private String color; - private String label; - - @Override - public void doTag() throws JspException, IOException { - getJspContext().getOut().write( - "<td width=\"32\" height=\"32\" bgcolor=\"" + this.color + - "\"><font color=\"#ffffff\"><center>" + this.label + - "</center></font></td>" ); - } - - public void setColor( String color ) { - this.color = color; - } - - public void setLabel( String label ) { - this.label = label; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/listeners/ContextListener.java b/tomcat/webapps/examples/WEB-INF/classes/listeners/ContextListener.java deleted file mode 100644 index 31f55452f96a830fcae154f69a19ed2f2416bafb..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/listeners/ContextListener.java +++ /dev/null @@ -1,138 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package listeners; - - -import javax.servlet.ServletContext; -import javax.servlet.ServletContextAttributeEvent; -import javax.servlet.ServletContextAttributeListener; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - - -/** - * Example listener for context-related application events, which were - * introduced in the 2.3 version of the Servlet API. This listener - * merely documents the occurrence of such events in the application log - * associated with our servlet context. - * - * @author Craig R. McClanahan - */ -public final class ContextListener - implements ServletContextAttributeListener, ServletContextListener { - - - // ----------------------------------------------------- Instance Variables - - - /** - * The servlet context with which we are associated. - */ - private ServletContext context = null; - - - // --------------------------------------------------------- Public Methods - - - /** - * Record the fact that a servlet context attribute was added. - * - * @param event The servlet context attribute event - */ - @Override - public void attributeAdded(ServletContextAttributeEvent event) { - - log("attributeAdded('" + event.getName() + "', '" + - event.getValue() + "')"); - - } - - - /** - * Record the fact that a servlet context attribute was removed. - * - * @param event The servlet context attribute event - */ - @Override - public void attributeRemoved(ServletContextAttributeEvent event) { - - log("attributeRemoved('" + event.getName() + "', '" + - event.getValue() + "')"); - - } - - - /** - * Record the fact that a servlet context attribute was replaced. - * - * @param event The servlet context attribute event - */ - @Override - public void attributeReplaced(ServletContextAttributeEvent event) { - - log("attributeReplaced('" + event.getName() + "', '" + - event.getValue() + "')"); - - } - - - /** - * Record the fact that this web application has been destroyed. - * - * @param event The servlet context event - */ - @Override - public void contextDestroyed(ServletContextEvent event) { - - log("contextDestroyed()"); - this.context = null; - - } - - - /** - * Record the fact that this web application has been initialized. - * - * @param event The servlet context event - */ - @Override - public void contextInitialized(ServletContextEvent event) { - - this.context = event.getServletContext(); - log("contextInitialized()"); - - } - - - // -------------------------------------------------------- Private Methods - - - /** - * Log a message to the servlet context application log. - * - * @param message Message to be logged - */ - private void log(String message) { - - if (context != null) - context.log("ContextListener: " + message); - else - System.out.println("ContextListener: " + message); - - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/listeners/SessionListener.java b/tomcat/webapps/examples/WEB-INF/classes/listeners/SessionListener.java deleted file mode 100644 index f03e48fcb2cdcc7b830624a7deb964fbba37e95b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/listeners/SessionListener.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package listeners; - -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; -import javax.servlet.http.HttpSessionAttributeListener; -import javax.servlet.http.HttpSessionBindingEvent; -import javax.servlet.http.HttpSessionEvent; -import javax.servlet.http.HttpSessionListener; - -/** - * Example listener for context-related application events, which were - * introduced in the 2.3 version of the Servlet API. This listener merely - * documents the occurrence of such events in the application log associated - * with our servlet context. - * - * @author Craig R. McClanahan - */ -public final class SessionListener implements ServletContextListener, - HttpSessionAttributeListener, HttpSessionListener { - - // ----------------------------------------------------- Instance Variables - - /** - * The servlet context with which we are associated. - */ - private ServletContext context = null; - - // --------------------------------------------------------- Public Methods - - /** - * Record the fact that a servlet context attribute was added. - * - * @param event - * The session attribute event - */ - @Override - public void attributeAdded(HttpSessionBindingEvent event) { - - log("attributeAdded('" + event.getSession().getId() + "', '" - + event.getName() + "', '" + event.getValue() + "')"); - - } - - /** - * Record the fact that a servlet context attribute was removed. - * - * @param event - * The session attribute event - */ - @Override - public void attributeRemoved(HttpSessionBindingEvent event) { - - log("attributeRemoved('" + event.getSession().getId() + "', '" - + event.getName() + "', '" + event.getValue() + "')"); - - } - - /** - * Record the fact that a servlet context attribute was replaced. - * - * @param event - * The session attribute event - */ - @Override - public void attributeReplaced(HttpSessionBindingEvent event) { - - log("attributeReplaced('" + event.getSession().getId() + "', '" - + event.getName() + "', '" + event.getValue() + "')"); - - } - - /** - * Record the fact that this web application has been destroyed. - * - * @param event - * The servlet context event - */ - @Override - public void contextDestroyed(ServletContextEvent event) { - - log("contextDestroyed()"); - this.context = null; - - } - - /** - * Record the fact that this web application has been initialized. - * - * @param event - * The servlet context event - */ - @Override - public void contextInitialized(ServletContextEvent event) { - - this.context = event.getServletContext(); - log("contextInitialized()"); - - } - - /** - * Record the fact that a session has been created. - * - * @param event - * The session event - */ - @Override - public void sessionCreated(HttpSessionEvent event) { - - log("sessionCreated('" + event.getSession().getId() + "')"); - - } - - /** - * Record the fact that a session has been destroyed. - * - * @param event - * The session event - */ - @Override - public void sessionDestroyed(HttpSessionEvent event) { - - log("sessionDestroyed('" + event.getSession().getId() + "')"); - - } - - // -------------------------------------------------------- Private Methods - - /** - * Log a message to the servlet context application log. - * - * @param message - * Message to be logged - */ - private void log(String message) { - - if (context != null) - context.log("SessionListener: " + message); - else - System.out.println("SessionListener: " + message); - - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/nonblocking/ByteCounter.java b/tomcat/webapps/examples/WEB-INF/classes/nonblocking/ByteCounter.java deleted file mode 100644 index 3923780216ef0a5a8b644320798ad29296c5313f..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/nonblocking/ByteCounter.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package nonblocking; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; - -import javax.servlet.AsyncContext; -import javax.servlet.ReadListener; -import javax.servlet.ServletException; -import javax.servlet.ServletInputStream; -import javax.servlet.ServletOutputStream; -import javax.servlet.WriteListener; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * This doesn't do anything particularly useful - it just counts the total - * number of bytes in a request body while demonstrating how to perform - * non-blocking reads. - */ -public class ByteCounter extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - - resp.setContentType("text/plain"); - resp.setCharacterEncoding("UTF-8"); - - resp.getWriter().println("Try again using a POST request."); - } - - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - - resp.setContentType("text/plain"); - resp.setCharacterEncoding("UTF-8"); - - // Non-blocking IO requires async - AsyncContext ac = req.startAsync(); - - // Use a single listener for read and write. Listeners often need to - // share state to coordinate reads and writes and this is much easier as - // a single object. - @SuppressWarnings("unused") - CounterListener listener = new CounterListener( - ac, req.getInputStream(), resp.getOutputStream()); - } - - - /** - * Keep in mind that each call may well be on a different thread to the - * previous call. Ensure that changes in values will be visible across - * threads. There should only ever be one container thread at a time calling - * the listener. - */ - private static class CounterListener implements ReadListener, WriteListener { - - private final AsyncContext ac; - private final ServletInputStream sis; - private final ServletOutputStream sos; - - private volatile boolean readFinished = false; - private volatile long totalBytesRead = 0; - private byte[] buffer = new byte[8192]; - - private CounterListener(AsyncContext ac, ServletInputStream sis, - ServletOutputStream sos) { - this.ac = ac; - this.sis = sis; - this.sos = sos; - - // In Tomcat, the order the listeners are set controls the order - // that the first calls are made. In this case, the read listener - // will be called before the write listener. - sis.setReadListener(this); - sos.setWriteListener(this); - } - - @Override - public void onDataAvailable() throws IOException { - int read = 0; - // Loop as long as there is data to read. If isReady() returns false - // the socket will be added to the poller and onDataAvailable() will - // be called again as soon as there is more data to read. - while (sis.isReady() && read > -1) { - read = sis.read(buffer); - if (read > 0) { - totalBytesRead += read; - } - } - } - - @Override - public void onAllDataRead() throws IOException { - readFinished = true; - - // If sos is not ready to write data, the call to isReady() will - // register the socket with the poller which will trigger a call to - // onWritePossible() when the socket is ready to have data written - // to it. - if (sos.isReady()) { - onWritePossible(); - } - } - - @Override - public void onWritePossible() throws IOException { - if (readFinished) { - // Must be ready to write data if onWritePossible was called - String msg = "Total bytes written = [" + totalBytesRead + "]"; - sos.write(msg.getBytes(StandardCharsets.UTF_8)); - ac.complete(); - } - } - - @Override - public void onError(Throwable throwable) { - // Should probably log the throwable - ac.complete(); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/nonblocking/NumberWriter.java b/tomcat/webapps/examples/WEB-INF/classes/nonblocking/NumberWriter.java deleted file mode 100644 index d7a6680a58441bc8c13e55b5c0262a9df2db3c76..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/nonblocking/NumberWriter.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package nonblocking; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.concurrent.atomic.AtomicInteger; - -import javax.servlet.AsyncContext; -import javax.servlet.ReadListener; -import javax.servlet.ServletException; -import javax.servlet.ServletInputStream; -import javax.servlet.ServletOutputStream; -import javax.servlet.WriteListener; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * This doesn't do anything particularly useful - it just writes a series of - * numbers to the response body while demonstrating how to perform non-blocking - * writes. - */ -public class NumberWriter extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - - resp.setContentType("text/plain"); - resp.setCharacterEncoding("UTF-8"); - - // Non-blocking IO requires async - AsyncContext ac = req.startAsync(); - - // Use a single listener for read and write. Listeners often need to - // share state to coordinate reads and writes and this is much easier as - // a single object. - @SuppressWarnings("unused") - NumberWriterListener listener = new NumberWriterListener( - ac, req.getInputStream(), resp.getOutputStream()); - - } - - - /** - * Keep in mind that each call may well be on a different thread to the - * previous call. Ensure that changes in values will be visible across - * threads. There should only ever be one container thread at a time calling - * the listener. - */ - private static class NumberWriterListener implements ReadListener, - WriteListener { - - private static final int LIMIT = 10000; - - private final AsyncContext ac; - private final ServletInputStream sis; - private final ServletOutputStream sos; - private final AtomicInteger counter = new AtomicInteger(0); - - private volatile boolean readFinished = false; - private byte[] buffer = new byte[8192]; - - private NumberWriterListener(AsyncContext ac, ServletInputStream sis, - ServletOutputStream sos) { - this.ac = ac; - this.sis = sis; - this.sos = sos; - - // In Tomcat, the order the listeners are set controls the order - // that the first calls are made. In this case, the read listener - // will be called before the write listener. - sis.setReadListener(this); - sos.setWriteListener(this); - } - - @Override - public void onDataAvailable() throws IOException { - - // There should be no data to read - - int read = 0; - // Loop as long as there is data to read. If isReady() returns false - // the socket will be added to the poller and onDataAvailable() will - // be called again as soon as there is more data to read. - while (sis.isReady() && read > -1) { - read = sis.read(buffer); - if (read > 0) { - throw new IOException("Data was present in input stream"); - } - } - } - - @Override - public void onAllDataRead() throws IOException { - readFinished = true; - - // If sos is not ready to write data, the call to isReady() will - // register the socket with the poller which will trigger a call to - // onWritePossible() when the socket is ready to have data written - // to it. - if (sos.isReady()) { - onWritePossible(); - } - } - - @Override - public void onWritePossible() throws IOException { - if (readFinished) { - int i = counter.get(); - boolean ready = true; - while (i < LIMIT && ready) { - i = counter.incrementAndGet(); - String msg = String.format("%1$020d\n", Integer.valueOf(i)); - sos.write(msg.getBytes(StandardCharsets.UTF_8)); - ready = sos.isReady(); - } - - if (i == LIMIT) { - ac.complete(); - } - } - } - - @Override - public void onError(Throwable throwable) { - // Should probably log the throwable - ac.complete(); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/num/NumberGuessBean.java b/tomcat/webapps/examples/WEB-INF/classes/num/NumberGuessBean.java deleted file mode 100644 index b78bd0535827f93df8beb6ba0a381222466e9efb..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/num/NumberGuessBean.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * Originally written by Jason Hunter, http://www.servlets.com. - */ - -package num; - -import java.io.Serializable; -import java.util.Random; - -public class NumberGuessBean implements Serializable { - - private static final long serialVersionUID = 1L; - - private int answer; - private String hint; - private int numGuesses; - private boolean success; - private final Random random = new Random(); - - public NumberGuessBean() { - reset(); - } - - public int getAnswer() { - return answer; - } - - public void setAnswer(int answer) { - this.answer = answer; - } - - public String getHint() { - return "" + hint; - } - - public void setHint(String hint) { - this.hint = hint; - } - - public void setNumGuesses(int numGuesses) { - this.numGuesses = numGuesses; - } - - public int getNumGuesses() { - return numGuesses; - } - - public boolean getSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public void setGuess(String guess) { - numGuesses++; - - int g; - try { - g = Integer.parseInt(guess); - } catch (NumberFormatException e) { - g = -1; - } - - if (g == answer) { - success = true; - } else if (g == -1) { - hint = "a number next time"; - } else if (g < answer) { - hint = "higher"; - } else if (g > answer) { - hint = "lower"; - } - } - - public void reset() { - answer = Math.abs(random.nextInt() % 100) + 1; - success = false; - numGuesses = 0; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/sessions/DummyCart.java b/tomcat/webapps/examples/WEB-INF/classes/sessions/DummyCart.java deleted file mode 100644 index bad0cb9c2bb744000b0e9186b899c564b18b00ea..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/sessions/DummyCart.java +++ /dev/null @@ -1,65 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package sessions; - -import java.util.Vector; - -public class DummyCart { - final Vector<String> v = new Vector<>(); - String submit = null; - String item = null; - - private void addItem(String name) { - v.addElement(name); - } - - private void removeItem(String name) { - v.removeElement(name); - } - - public void setItem(String name) { - item = name; - } - - public void setSubmit(String s) { - submit = s; - } - - public String[] getItems() { - String[] s = new String[v.size()]; - v.copyInto(s); - return s; - } - - public void processRequest() { - // null value for submit - user hit enter instead of clicking on - // "add" or "remove" - if (submit == null || submit.equals("add")) - addItem(item); - else if (submit.equals("remove")) - removeItem(item); - - // reset at the end of the request - reset(); - } - - // reset - private void reset() { - submit = null; - item = null; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/trailers/ResponseTrailers.java b/tomcat/webapps/examples/WEB-INF/classes/trailers/ResponseTrailers.java deleted file mode 100644 index 437fb7c8d495f830aad035a96d466646c2dc9835..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/trailers/ResponseTrailers.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package trailers; - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Supplier; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * This example writes some trailer fields to the HTTP response. - */ -public class ResponseTrailers extends HttpServlet { - - private static final long serialVersionUID = 1L; - private static final Supplier<Map<String,String>> TRAILER_FIELD_SUPPLIER = - new TrailerFieldSupplier(); - - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - - resp.setTrailerFields(TRAILER_FIELD_SUPPLIER); - resp.setContentType("text/plain"); - resp.setCharacterEncoding("UTF-8"); - - PrintWriter pw = resp.getWriter(); - - pw.print("This response should include trailer fields."); - } - - - private static class TrailerFieldSupplier implements Supplier<Map<String,String>> { - - private static final Map<String,String> trailerFields = new HashMap<>(); - - static { - trailerFields.put("x-trailer-1", "Trailer value one"); - trailerFields.put("x-trailer-2", "Trailer value two"); - } - - @Override - public Map<String, String> get() { - return trailerFields; - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/util/CookieFilter.java b/tomcat/webapps/examples/WEB-INF/classes/util/CookieFilter.java deleted file mode 100644 index 19243eeb636ecad55830de54484b02dc7a39834c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/util/CookieFilter.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package util; - -import java.util.Locale; -import java.util.StringTokenizer; - -/** - * Processes a cookie header and attempts to obfuscate any cookie values that - * represent session IDs from other web applications. Since session cookie names - * are configurable, as are session ID lengths, this filter is not expected to - * be 100% effective. - * - * It is required that the examples web application is removed in security - * conscious environments as documented in the Security How-To. This filter is - * intended to reduce the impact of failing to follow that advice. A failure by - * this filter to obfuscate a session ID or similar value is not a security - * vulnerability. In such instances the vulnerability is the failure to remove - * the examples web application. - */ -public class CookieFilter { - - private static final String OBFUSCATED = "[obfuscated]"; - - private CookieFilter() { - // Hide default constructor - } - - public static String filter(String cookieHeader, String sessionId) { - - StringBuilder sb = new StringBuilder(cookieHeader.length()); - - // Cookie name value pairs are ';' separated. - // Session IDs don't use ; in the value so don't worry about quoted - // values that contain ; - StringTokenizer st = new StringTokenizer(cookieHeader, ";"); - - boolean first = true; - while (st.hasMoreTokens()) { - if (first) { - first = false; - } else { - sb.append(';'); - } - sb.append(filterNameValuePair(st.nextToken(), sessionId)); - } - - - return sb.toString(); - } - - private static String filterNameValuePair(String input, String sessionId) { - int i = input.indexOf('='); - if (i == -1) { - return input; - } - String name = input.substring(0, i); - String value = input.substring(i + 1, input.length()); - - return name + "=" + filter(name, value, sessionId); - } - - public static String filter(String cookieName, String cookieValue, String sessionId) { - if (cookieName.toLowerCase(Locale.ENGLISH).contains("jsessionid") && - (sessionId == null || !cookieValue.contains(sessionId))) { - cookieValue = OBFUSCATED; - } - - return cookieValue; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/util/HTMLFilter.java b/tomcat/webapps/examples/WEB-INF/classes/util/HTMLFilter.java deleted file mode 100644 index 29463fb56ea0f06d088726d966e201a0e80c3bcd..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/util/HTMLFilter.java +++ /dev/null @@ -1,68 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package util; - -/** - * HTML filter utility. - * - * @author Craig R. McClanahan - * @author Tim Tye - */ -public final class HTMLFilter { - - - /** - * Filter the specified message string for characters that are sensitive - * in HTML. This avoids potential attacks caused by including JavaScript - * codes in the request URL that is often reported in error messages. - * - * @param message The message string to be filtered - * - * @return the filtered version of the message - */ - public static String filter(String message) { - - if (message == null) - return null; - - char content[] = new char[message.length()]; - message.getChars(0, message.length(), content, 0); - StringBuilder result = new StringBuilder(content.length + 50); - for (int i = 0; i < content.length; i++) { - switch (content[i]) { - case '<': - result.append("<"); - break; - case '>': - result.append(">"); - break; - case '&': - result.append("&"); - break; - case '"': - result.append("""); - break; - default: - result.append(content[i]); - } - } - return result.toString(); - } - - -} - diff --git a/tomcat/webapps/examples/WEB-INF/classes/validators/DebugValidator.java b/tomcat/webapps/examples/WEB-INF/classes/validators/DebugValidator.java deleted file mode 100644 index 596065b55300d640f94f99b5712b7debad7b7b07..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/validators/DebugValidator.java +++ /dev/null @@ -1,84 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package validators; - - -import java.io.IOException; -import java.io.InputStream; - -import javax.servlet.jsp.tagext.PageData; -import javax.servlet.jsp.tagext.TagLibraryValidator; -import javax.servlet.jsp.tagext.ValidationMessage; - - -/** - * Example tag library validator that simply dumps the XML version of each - * page to standard output (which will typically be sent to the file - * <code>$CATALINA_HOME/logs/catalina.out</code>). To utilize it, simply - * include a <code>taglib</code> directive for this tag library at the top - * of your JSP page. - * - * @author Craig McClanahan - */ -public class DebugValidator extends TagLibraryValidator { - - - // ----------------------------------------------------- Instance Variables - - - // --------------------------------------------------------- Public Methods - - - /** - * Validate a JSP page. This will get invoked once per directive in the - * JSP page. This method will return <code>null</code> if the page is - * valid; otherwise the method should return an array of - * <code>ValidationMessage</code> objects. An array of length zero is - * also interpreted as no errors. - * - * @param prefix The value of the prefix argument in this directive - * @param uri The value of the URI argument in this directive - * @param page The page data for this page - */ - @Override - public ValidationMessage[] validate(String prefix, String uri, - PageData page) { - - System.out.println("---------- Prefix=" + prefix + " URI=" + uri + - "----------"); - - InputStream is = page.getInputStream(); - while (true) { - try { - int ch = is.read(); - if (ch < 0) - break; - System.out.print((char) ch); - } catch (IOException e) { - break; - } - } - System.out.println(); - System.out.println("-----------------------------------------------"); - return null; - - } - - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/ExamplesConfig.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/ExamplesConfig.java deleted file mode 100644 index ba8c60bda32ebb8b31adbd3b7cf63d59eb07dd70..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/ExamplesConfig.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket; - -import java.util.HashSet; -import java.util.Set; - -import javax.websocket.Endpoint; -import javax.websocket.server.ServerApplicationConfig; -import javax.websocket.server.ServerEndpointConfig; - -import websocket.drawboard.DrawboardEndpoint; -import websocket.echo.EchoEndpoint; - -public class ExamplesConfig implements ServerApplicationConfig { - - @Override - public Set<ServerEndpointConfig> getEndpointConfigs( - Set<Class<? extends Endpoint>> scanned) { - - Set<ServerEndpointConfig> result = new HashSet<>(); - - if (scanned.contains(EchoEndpoint.class)) { - result.add(ServerEndpointConfig.Builder.create( - EchoEndpoint.class, - "/websocket/echoProgrammatic").build()); - } - - if (scanned.contains(DrawboardEndpoint.class)) { - result.add(ServerEndpointConfig.Builder.create( - DrawboardEndpoint.class, - "/websocket/drawboard").build()); - } - - return result; - } - - - @Override - public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scanned) { - // Deploy all WebSocket endpoints defined by annotations in the examples - // web application. Filter out all others to avoid issues when running - // tests on Gump - Set<Class<?>> results = new HashSet<>(); - for (Class<?> clazz : scanned) { - if (clazz.getPackage().getName().startsWith("websocket.")) { - results.add(clazz); - } - } - return results; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/chat/ChatAnnotation.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/chat/ChatAnnotation.java deleted file mode 100644 index d1d55234da871e234ee89c608989616690527dc9..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/chat/ChatAnnotation.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.chat; - -import java.io.IOException; -import java.util.Set; -import java.util.concurrent.CopyOnWriteArraySet; -import java.util.concurrent.atomic.AtomicInteger; - -import javax.websocket.OnClose; -import javax.websocket.OnError; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - -import util.HTMLFilter; - -@ServerEndpoint(value = "/websocket/chat") -public class ChatAnnotation { - - private static final Log log = LogFactory.getLog(ChatAnnotation.class); - - private static final String GUEST_PREFIX = "Guest"; - private static final AtomicInteger connectionIds = new AtomicInteger(0); - private static final Set<ChatAnnotation> connections = - new CopyOnWriteArraySet<>(); - - private final String nickname; - private Session session; - - public ChatAnnotation() { - nickname = GUEST_PREFIX + connectionIds.getAndIncrement(); - } - - - @OnOpen - public void start(Session session) { - this.session = session; - connections.add(this); - String message = String.format("* %s %s", nickname, "has joined."); - broadcast(message); - } - - - @OnClose - public void end() { - connections.remove(this); - String message = String.format("* %s %s", - nickname, "has disconnected."); - broadcast(message); - } - - - @OnMessage - public void incoming(String message) { - // Never trust the client - String filteredMessage = String.format("%s: %s", - nickname, HTMLFilter.filter(message.toString())); - broadcast(filteredMessage); - } - - - - - @OnError - public void onError(Throwable t) throws Throwable { - log.error("Chat Error: " + t.toString(), t); - } - - - private static void broadcast(String msg) { - for (ChatAnnotation client : connections) { - try { - synchronized (client) { - client.session.getBasicRemote().sendText(msg); - } - } catch (IOException e) { - log.debug("Chat Error: Failed to send message to client", e); - connections.remove(client); - try { - client.session.close(); - } catch (IOException e1) { - // Ignore - } - String message = String.format("* %s %s", - client.nickname, "has been disconnected."); - broadcast(message); - } - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java deleted file mode 100644 index 8026bf2957deb190942f49bba779d99c289d466e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/Client.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard; - -import java.io.IOException; -import java.util.LinkedList; - -import javax.websocket.CloseReason; -import javax.websocket.CloseReason.CloseCodes; -import javax.websocket.RemoteEndpoint.Async; -import javax.websocket.SendHandler; -import javax.websocket.SendResult; -import javax.websocket.Session; - -import websocket.drawboard.wsmessages.AbstractWebsocketMessage; -import websocket.drawboard.wsmessages.BinaryWebsocketMessage; -import websocket.drawboard.wsmessages.CloseWebsocketMessage; -import websocket.drawboard.wsmessages.StringWebsocketMessage; - -/** - * Represents a client with methods to send messages asynchronously. - */ -public class Client { - - private final Session session; - private final Async async; - - /** - * Contains the messages wich are buffered until the previous - * send operation has finished. - */ - private final LinkedList<AbstractWebsocketMessage> messagesToSend = - new LinkedList<>(); - /** - * If this client is currently sending a messages asynchronously. - */ - private volatile boolean isSendingMessage = false; - /** - * If this client is closing. If <code>true</code>, new messages to - * send will be ignored. - */ - private volatile boolean isClosing = false; - /** - * The length of all current buffered messages, to avoid iterating - * over a linked list. - */ - private volatile long messagesToSendLength = 0; - - public Client(Session session) { - this.session = session; - this.async = session.getAsyncRemote(); - } - - /** - * Asynchronously closes the Websocket session. This will wait until all - * remaining messages have been sent to the Client and then close - * the Websocket session. - */ - public void close() { - sendMessage(new CloseWebsocketMessage()); - } - - /** - * Sends the given message asynchronously to the client. - * If there is already a async sending in progress, then the message - * will be buffered and sent when possible.<br><br> - * - * This method can be called from multiple threads. - * - * @param msg The message to send - */ - public void sendMessage(AbstractWebsocketMessage msg) { - synchronized (messagesToSend) { - if (!isClosing) { - // Check if we have a Close message - if (msg instanceof CloseWebsocketMessage) { - isClosing = true; - } - - if (isSendingMessage) { - // Check if the buffered messages exceed - // a specific amount - in that case, disconnect the client - // to prevent DoS. - // In this case we check if there are >= 1000 messages - // or length(of all messages) >= 1000000 bytes. - if (messagesToSend.size() >= 1000 - || messagesToSendLength >= 1000000) { - isClosing = true; - - // Discard the new message and close the session immediately. - CloseReason cr = new CloseReason( - CloseCodes.VIOLATED_POLICY, - "Send Buffer exceeded"); - try { - // TODO: close() may block if the remote endpoint doesn't read the data - // (eventually there will be a TimeoutException). However, this method - // (sendMessage) is intended to run asynchronous code and shouldn't - // block. Otherwise it would temporarily stop processing of messages - // from other clients. - // Maybe call this method on another thread. - // Note that when this method is called, the RemoteEndpoint.Async - // is still in the process of sending data, so there probably should - // be another way to abort the Websocket connection. - // Ideally, there should be some abort() method that cancels the - // connection immediately... - session.close(cr); - } catch (IOException e) { - // Ignore - } - - } else { - - // Check if the last message and the new message are - // String messages - in that case we concatenate them - // to reduce TCP overhead (using ";" as separator). - if (msg instanceof StringWebsocketMessage - && !messagesToSend.isEmpty() - && messagesToSend.getLast() - instanceof StringWebsocketMessage) { - - StringWebsocketMessage ms = - (StringWebsocketMessage) messagesToSend.removeLast(); - messagesToSendLength -= calculateMessageLength(ms); - - String concatenated = ms.getString() + ";" + - ((StringWebsocketMessage) msg).getString(); - msg = new StringWebsocketMessage(concatenated); - } - - messagesToSend.add(msg); - messagesToSendLength += calculateMessageLength(msg); - } - } else { - isSendingMessage = true; - internalSendMessageAsync(msg); - } - } - - } - } - - private long calculateMessageLength(AbstractWebsocketMessage msg) { - if (msg instanceof BinaryWebsocketMessage) { - return ((BinaryWebsocketMessage) msg).getBytes().capacity(); - } else if (msg instanceof StringWebsocketMessage) { - return ((StringWebsocketMessage) msg).getString().length() * 2; - } - - return 0; - } - - /** - * Internally sends the messages asynchronously. - * @param msg - */ - private void internalSendMessageAsync(AbstractWebsocketMessage msg) { - try { - if (msg instanceof StringWebsocketMessage) { - StringWebsocketMessage sMsg = (StringWebsocketMessage) msg; - async.sendText(sMsg.getString(), sendHandler); - - } else if (msg instanceof BinaryWebsocketMessage) { - BinaryWebsocketMessage bMsg = (BinaryWebsocketMessage) msg; - async.sendBinary(bMsg.getBytes(), sendHandler); - - } else if (msg instanceof CloseWebsocketMessage) { - // Close the session. - session.close(); - } - } catch (IllegalStateException|IOException ex) { - // Trying to write to the client when the session has - // already been closed. - // Ignore - } - } - - - - /** - * SendHandler that will continue to send buffered messages. - */ - private final SendHandler sendHandler = new SendHandler() { - @Override - public void onResult(SendResult result) { - if (!result.isOK()) { - // Message could not be sent. In this case, we don't - // set isSendingMessage to false because we must assume the connection - // broke (and onClose will be called), so we don't try to send - // other messages. - // As a precaution, we close the session (e.g. if a send timeout occured). - // TODO: session.close() blocks, while this handler shouldn't block. - // Ideally, there should be some abort() method that cancels the - // connection immediately... - try { - session.close(); - } catch (IOException ex) { - // Ignore - } - } - synchronized (messagesToSend) { - - if (!messagesToSend.isEmpty()) { - AbstractWebsocketMessage msg = messagesToSend.remove(); - messagesToSendLength -= calculateMessageLength(msg); - - internalSendMessageAsync(msg); - - } else { - isSendingMessage = false; - } - - } - } - }; - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawMessage.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawMessage.java deleted file mode 100644 index 8dceabae078b1bc283faea8a800e30728ecc7c37..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawMessage.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard; - -import java.awt.BasicStroke; -import java.awt.Color; -import java.awt.Graphics2D; -import java.awt.geom.Arc2D; -import java.awt.geom.Line2D; -import java.awt.geom.Rectangle2D; - -/** - * A message that represents a drawing action. - * Note that we use primitive types instead of Point, Color etc. - * to reduce object allocation.<br><br> - * - * TODO: But a Color objects needs to be created anyway for drawing this - * onto a Graphics2D object, so this probably does not save much. - */ -public final class DrawMessage { - - private int type; - private byte colorR, colorG, colorB, colorA; - private double thickness; - private double x1, y1, x2, y2; - - /** - * The type. - * - * @return 1: Brush<br>2: Line<br>3: Rectangle<br>4: Ellipse - */ - public int getType() { - return type; - } - public void setType(int type) { - this.type = type; - } - - public double getThickness() { - return thickness; - } - public void setThickness(double thickness) { - this.thickness = thickness; - } - - public byte getColorR() { - return colorR; - } - public void setColorR(byte colorR) { - this.colorR = colorR; - } - public byte getColorG() { - return colorG; - } - public void setColorG(byte colorG) { - this.colorG = colorG; - } - public byte getColorB() { - return colorB; - } - public void setColorB(byte colorB) { - this.colorB = colorB; - } - public byte getColorA() { - return colorA; - } - public void setColorA(byte colorA) { - this.colorA = colorA; - } - - public double getX1() { - return x1; - } - public void setX1(double x1) { - this.x1 = x1; - } - public double getX2() { - return x2; - } - public void setX2(double x2) { - this.x2 = x2; - } - public double getY1() { - return y1; - } - public void setY1(double y1) { - this.y1 = y1; - } - public double getY2() { - return y2; - } - public void setY2(double y2) { - this.y2 = y2; - } - - - public DrawMessage(int type, byte colorR, byte colorG, byte colorB, - byte colorA, double thickness, double x1, double x2, double y1, - double y2) { - - this.type = type; - this.colorR = colorR; - this.colorG = colorG; - this.colorB = colorB; - this.colorA = colorA; - this.thickness = thickness; - this.x1 = x1; - this.x2 = x2; - this.y1 = y1; - this.y2 = y2; - } - - - /** - * Draws this DrawMessage onto the given Graphics2D. - * - * @param g The target for the DrawMessage - */ - public void draw(Graphics2D g) { - - g.setStroke(new BasicStroke((float) thickness, - BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)); - g.setColor(new Color(colorR & 0xFF, colorG & 0xFF, colorB & 0xFF, - colorA & 0xFF)); - - if (x1 == x2 && y1 == y2) { - // Always draw as arc to meet the behavior in the HTML5 Canvas. - Arc2D arc = new Arc2D.Double(x1, y1, 0, 0, - 0d, 360d, Arc2D.OPEN); - g.draw(arc); - - } else if (type == 1 || type == 2) { - // Draw a line. - Line2D line = new Line2D.Double(x1, y1, x2, y2); - g.draw(line); - - } else if (type == 3 || type == 4) { - double x1 = this.x1, x2 = this.x2, - y1 = this.y1, y2 = this.y2; - if (x1 > x2) { - x1 = this.x2; - x2 = this.x1; - } - if (y1 > y2) { - y1 = this.y2; - y2 = this.y1; - } - - // TODO: If (x1 == x2 || y1 == y2) draw as line. - - if (type == 3) { - // Draw a rectangle. - Rectangle2D rect = new Rectangle2D.Double(x1, y1, - x2 - x1, y2 - y1); - g.draw(rect); - - } else if (type == 4) { - // Draw an ellipse. - Arc2D arc = new Arc2D.Double(x1, y1, x2 - x1, y2 - y1, - 0d, 360d, Arc2D.OPEN); - g.draw(arc); - - } - } - } - - /** - * Converts this message into a String representation that - * can be sent over WebSocket.<br> - * Since a DrawMessage consists only of numbers, - * we concatenate those numbers with a ",". - */ - @Override - public String toString() { - - return type + "," + (colorR & 0xFF) + "," + (colorG & 0xFF) + "," - + (colorB & 0xFF) + "," + (colorA & 0xFF) + "," + thickness - + "," + x1 + "," + y1 + "," + x2 + "," + y2; - } - - public static DrawMessage parseFromString(String str) - throws ParseException { - - int type; - byte[] colors = new byte[4]; - double thickness; - double[] coords = new double[4]; - - try { - String[] elements = str.split(","); - - type = Integer.parseInt(elements[0]); - if (!(type >= 1 && type <= 4)) - throw new ParseException("Invalid type: " + type); - - for (int i = 0; i < colors.length; i++) { - colors[i] = (byte) Integer.parseInt(elements[1 + i]); - } - - thickness = Double.parseDouble(elements[5]); - if (Double.isNaN(thickness) || thickness < 0 || thickness > 100) - throw new ParseException("Invalid thickness: " + thickness); - - for (int i = 0; i < coords.length; i++) { - coords[i] = Double.parseDouble(elements[6 + i]); - if (Double.isNaN(coords[i])) - throw new ParseException("Invalid coordinate: " - + coords[i]); - } - - } catch (RuntimeException ex) { - throw new ParseException(ex); - } - - DrawMessage m = new DrawMessage(type, colors[0], colors[1], - colors[2], colors[3], thickness, coords[0], coords[2], - coords[1], coords[3]); - - return m; - } - - public static class ParseException extends Exception { - private static final long serialVersionUID = -6651972769789842960L; - - public ParseException(Throwable root) { - super(root); - } - - public ParseException(String message) { - super(message); - } - } - - - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java deleted file mode 100644 index ef909e8aa881c4f1d5f3c27d1b36d020449cc0b9..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard; - -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - -public final class DrawboardContextListener implements ServletContextListener { - - @Override - public void contextDestroyed(ServletContextEvent sce) { - // Shutdown our room. - Room room = DrawboardEndpoint.getRoom(false); - if (room != null) { - room.shutdown(); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardEndpoint.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardEndpoint.java deleted file mode 100644 index cd99f495761bb015ae215e614ebf29ec9eecf83c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardEndpoint.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard; - -import java.io.EOFException; -import java.io.IOException; - -import javax.websocket.CloseReason; -import javax.websocket.Endpoint; -import javax.websocket.EndpointConfig; -import javax.websocket.MessageHandler; -import javax.websocket.Session; - -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - -import websocket.drawboard.DrawMessage.ParseException; -import websocket.drawboard.wsmessages.StringWebsocketMessage; - - -public final class DrawboardEndpoint extends Endpoint { - - private static final Log log = - LogFactory.getLog(DrawboardEndpoint.class); - - - /** - * Our room where players can join. - */ - private static volatile Room room = null; - private static final Object roomLock = new Object(); - - public static Room getRoom(boolean create) { - if (create) { - if (room == null) { - synchronized (roomLock) { - if (room == null) { - room = new Room(); - } - } - } - return room; - } else { - return room; - } - } - - /** - * The player that is associated with this Endpoint and the current room. - * Note that this variable is only accessed from the Room Thread.<br><br> - * - * TODO: Currently, Tomcat uses an Endpoint instance once - however - * the java doc of endpoint says: - * "Each instance of a websocket endpoint is guaranteed not to be called by - * more than one thread at a time per active connection." - * This could mean that after calling onClose(), the instance - * could be reused for another connection so onOpen() will get called - * (possibly from another thread).<br> - * If this is the case, we would need a variable holder for the variables - * that are accessed by the Room thread, and read the reference to the holder - * at the beginning of onOpen, onMessage, onClose methods to ensure the room - * thread always gets the correct instance of the variable holder. - */ - private Room.Player player; - - - @Override - public void onOpen(Session session, EndpointConfig config) { - // Set maximum messages size to 10.000 bytes. - session.setMaxTextMessageBufferSize(10000); - session.addMessageHandler(stringHandler); - final Client client = new Client(session); - - final Room room = getRoom(true); - room.invokeAndWait(new Runnable() { - @Override - public void run() { - try { - - // Create a new Player and add it to the room. - try { - player = room.createAndAddPlayer(client); - } catch (IllegalStateException ex) { - // Probably the max. number of players has been - // reached. - client.sendMessage(new StringWebsocketMessage( - "0" + ex.getLocalizedMessage())); - // Close the connection. - client.close(); - } - - } catch (RuntimeException ex) { - log.error("Unexpected exception: " + ex.toString(), ex); - } - } - }); - - } - - - @Override - public void onClose(Session session, CloseReason closeReason) { - Room room = getRoom(false); - if (room != null) { - room.invokeAndWait(new Runnable() { - @Override - public void run() { - try { - // Player can be null if it couldn't enter the room - if (player != null) { - // Remove this player from the room. - player.removeFromRoom(); - - // Set player to null to prevent NPEs when onMessage events - // are processed (from other threads) after onClose has been - // called from different thread which closed the Websocket session. - player = null; - } - } catch (RuntimeException ex) { - log.error("Unexpected exception: " + ex.toString(), ex); - } - } - }); - } - } - - - - @Override - public void onError(Session session, Throwable t) { - // Most likely cause is a user closing their browser. Check to see if - // the root cause is EOF and if it is ignore it. - // Protect against infinite loops. - int count = 0; - Throwable root = t; - while (root.getCause() != null && count < 20) { - root = root.getCause(); - count ++; - } - if (root instanceof EOFException) { - // Assume this is triggered by the user closing their browser and - // ignore it. - } else if (!session.isOpen() && root instanceof IOException) { - // IOException after close. Assume this is a variation of the user - // closing their browser (or refreshing very quickly) and ignore it. - } else { - log.error("onError: " + t.toString(), t); - } - } - - - - private final MessageHandler.Whole<String> stringHandler = - new MessageHandler.Whole<String>() { - - @Override - public void onMessage(final String message) { - // Invoke handling of the message in the room. - room.invokeAndWait(new Runnable() { - @Override - public void run() { - try { - - // Currently, the only types of messages the client will send - // are draw messages prefixed by a Message ID - // (starting with char '1'), and pong messages (starting - // with char '0'). - // Draw messages should look like this: - // ID|type,colR,colB,colG,colA,thickness,x1,y1,x2,y2,lastInChain - - boolean dontSwallowException = false; - try { - char messageType = message.charAt(0); - String messageContent = message.substring(1); - switch (messageType) { - case '0': - // Pong message. - // Do nothing. - break; - - case '1': - // Draw message - int indexOfChar = messageContent.indexOf('|'); - long msgId = Long.parseLong( - messageContent.substring(0, indexOfChar)); - - DrawMessage msg = DrawMessage.parseFromString( - messageContent.substring(indexOfChar + 1)); - - // Don't ignore RuntimeExceptions thrown by - // this method - // TODO: Find a better solution than this variable - dontSwallowException = true; - if (player != null) { - player.handleDrawMessage(msg, msgId); - } - dontSwallowException = false; - - break; - } - } catch (ParseException e) { - // Client sent invalid data - // Ignore, TODO: maybe close connection - } catch (RuntimeException e) { - // Client sent invalid data. - // Ignore, TODO: maybe close connection - if (dontSwallowException) { - throw e; - } - } - - } catch (RuntimeException ex) { - log.error("Unexpected exception: " + ex.toString(), ex); - } - } - }); - - } - }; - - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/Room.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/Room.java deleted file mode 100644 index 558273f841006bafc74ef19c46e1a879958ce162..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/Room.java +++ /dev/null @@ -1,496 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard; - -import java.awt.Color; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.image.BufferedImage; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.Timer; -import java.util.TimerTask; -import java.util.concurrent.locks.ReentrantLock; - -import javax.imageio.ImageIO; - -import websocket.drawboard.wsmessages.BinaryWebsocketMessage; -import websocket.drawboard.wsmessages.StringWebsocketMessage; - -/** - * A Room represents a drawboard where a number of - * users participate.<br><br> - * - * Note: Instance methods should only be invoked by calling - * {@link #invokeAndWait(Runnable)} to ensure access is correctly synchronized. - */ -public final class Room { - - /** - * Specifies the type of a room message that is sent to a client.<br> - * Note: Currently we are sending simple string messages - for production - * apps, a JSON lib should be used for object-level messages.<br><br> - * - * The number (single char) will be prefixed to the string when sending - * the message. - */ - public static enum MessageType { - /** - * '0': Error: contains error message. - */ - ERROR('0'), - /** - * '1': DrawMessage: contains serialized DrawMessage(s) prefixed - * with the current Player's {@link Player#lastReceivedMessageId} - * and ",".<br> - * Multiple draw messages are concatenated with "|" as separator. - */ - DRAW_MESSAGE('1'), - /** - * '2': ImageMessage: Contains number of current players in this room. - * After this message a Binary Websocket message will follow, - * containing the current Room image as PNG.<br> - * This is the first message that a Room sends to a new Player. - */ - IMAGE_MESSAGE('2'), - /** - * '3': PlayerChanged: contains "+" or "-" which indicate a player - * was added or removed to this Room. - */ - PLAYER_CHANGED('3'); - - private final char flag; - - private MessageType(char flag) { - this.flag = flag; - } - - } - - - /** - * The lock used to synchronize access to this Room. - */ - private final ReentrantLock roomLock = new ReentrantLock(); - - /** - * Indicates if this room has already been shutdown. - */ - private volatile boolean closed = false; - - /** - * If <code>true</code>, outgoing DrawMessages will be buffered until the - * drawmessageBroadcastTimer ticks. Otherwise they will be sent - * immediately. - */ - private static final boolean BUFFER_DRAW_MESSAGES = true; - - /** - * A timer which sends buffered drawmessages to the client at once - * at a regular interval, to avoid sending a lot of very small - * messages which would cause TCP overhead and high CPU usage. - */ - private final Timer drawmessageBroadcastTimer = new Timer(); - - private static final int TIMER_DELAY = 30; - - /** - * The current active broadcast timer task. If null, then no Broadcast task is scheduled. - * The Task will be scheduled if the first player enters the Room, and - * cancelled if the last player exits the Room, to avoid unnecessary timer executions. - */ - private TimerTask activeBroadcastTimerTask; - - - /** - * The current image of the room drawboard. DrawMessages that are - * received from Players will be drawn onto this image. - */ - private final BufferedImage roomImage = - new BufferedImage(900, 600, BufferedImage.TYPE_INT_RGB); - private final Graphics2D roomGraphics = roomImage.createGraphics(); - - - /** - * The maximum number of players that can join this room. - */ - private static final int MAX_PLAYER_COUNT = 100; - - /** - * List of all currently joined players. - */ - private final List<Player> players = new ArrayList<>(); - - - - public Room() { - roomGraphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_ON); - - // Clear the image with white background. - roomGraphics.setBackground(Color.WHITE); - roomGraphics.clearRect(0, 0, roomImage.getWidth(), - roomImage.getHeight()); - } - - private TimerTask createBroadcastTimerTask() { - return new TimerTask() { - @Override - public void run() { - invokeAndWait(new Runnable() { - @Override - public void run() { - broadcastTimerTick(); - } - }); - } - }; - } - - /** - * Creates a Player from the given Client and adds it to this room. - * - * @param client the client - * - * @return The newly created player - */ - public Player createAndAddPlayer(Client client) { - if (players.size() >= MAX_PLAYER_COUNT) { - throw new IllegalStateException("Maximum player count (" - + MAX_PLAYER_COUNT + ") has been reached."); - } - - Player p = new Player(this, client); - - // Broadcast to the other players that one player joined. - broadcastRoomMessage(MessageType.PLAYER_CHANGED, "+"); - - // Add the new player to the list. - players.add(p); - - // If currently no Broadcast Timer Task is scheduled, then we need to create one. - if (activeBroadcastTimerTask == null) { - activeBroadcastTimerTask = createBroadcastTimerTask(); - drawmessageBroadcastTimer.schedule(activeBroadcastTimerTask, - TIMER_DELAY, TIMER_DELAY); - } - - // Send him the current number of players and the current room image. - String content = String.valueOf(players.size()); - p.sendRoomMessage(MessageType.IMAGE_MESSAGE, content); - - // Store image as PNG - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - try { - ImageIO.write(roomImage, "PNG", bout); - } catch (IOException e) { /* Should never happen */ } - - - // Send the image as binary message. - BinaryWebsocketMessage msg = new BinaryWebsocketMessage( - ByteBuffer.wrap(bout.toByteArray())); - p.getClient().sendMessage(msg); - - return p; - - } - - /** - * @see Player#removeFromRoom() - * @param p - */ - private void internalRemovePlayer(Player p) { - boolean removed = players.remove(p); - assert removed; - - // If the last player left the Room, we need to cancel the Broadcast Timer Task. - if (players.size() == 0) { - // Cancel the task. - // Note that it can happen that the TimerTask is just about to execute (from - // the Timer thread) but waits until all players are gone (or even until a new - // player is added to the list), and then executes. This is OK. To prevent it, - // a TimerTask subclass would need to have some boolean "cancel" instance variable and - // query it in the invocation of Room#invokeAndWait. - activeBroadcastTimerTask.cancel(); - activeBroadcastTimerTask = null; - } - - // Broadcast that one player is removed. - broadcastRoomMessage(MessageType.PLAYER_CHANGED, "-"); - } - - /** - * @see Player#handleDrawMessage(DrawMessage, long) - * @param p - * @param msg - * @param msgId - */ - private void internalHandleDrawMessage(Player p, DrawMessage msg, - long msgId) { - p.setLastReceivedMessageId(msgId); - - // Draw the RoomMessage onto our Room Image. - msg.draw(roomGraphics); - - // Broadcast the Draw Message. - broadcastDrawMessage(msg); - } - - - /** - * Broadcasts the given drawboard message to all connected players.<br> - * Note: For DrawMessages, please use - * {@link #broadcastDrawMessage(DrawMessage)} - * as this method will buffer them and prefix them with the correct - * last received Message ID. - * @param type - * @param content - */ - private void broadcastRoomMessage(MessageType type, String content) { - for (Player p : players) { - p.sendRoomMessage(type, content); - } - } - - - /** - * Broadcast the given DrawMessage. This will buffer the message - * and the {@link #drawmessageBroadcastTimer} will broadcast them - * at a regular interval, prefixing them with the player's current - * {@link Player#lastReceivedMessageId}. - * @param msg - */ - private void broadcastDrawMessage(DrawMessage msg) { - if (!BUFFER_DRAW_MESSAGES) { - String msgStr = msg.toString(); - - for (Player p : players) { - String s = String.valueOf(p.getLastReceivedMessageId()) - + "," + msgStr; - p.sendRoomMessage(MessageType.DRAW_MESSAGE, s); - } - } else { - for (Player p : players) { - p.getBufferedDrawMessages().add(msg); - } - } - } - - - /** - * Tick handler for the broadcastTimer. - */ - private void broadcastTimerTick() { - // For each Player, send all per Player buffered - // DrawMessages, prefixing each DrawMessage with the player's - // lastReceivedMessageId. - // Multiple messages are concatenated with "|". - - for (Player p : players) { - - StringBuilder sb = new StringBuilder(); - List<DrawMessage> drawMessages = p.getBufferedDrawMessages(); - - if (drawMessages.size() > 0) { - for (int i = 0; i < drawMessages.size(); i++) { - DrawMessage msg = drawMessages.get(i); - - String s = String.valueOf(p.getLastReceivedMessageId()) - + "," + msg.toString(); - if (i > 0) - sb.append("|"); - - sb.append(s); - } - drawMessages.clear(); - - p.sendRoomMessage(MessageType.DRAW_MESSAGE, sb.toString()); - } - } - } - - /** - * A list of cached {@link Runnable}s to prevent recursive invocation of Runnables - * by one thread. This variable is only used by one thread at a time and then - * set to <code>null</code>. - */ - private List<Runnable> cachedRunnables = null; - - /** - * Submits the given Runnable to the Room Executor and waits until it - * has been executed. Currently, this simply means that the Runnable - * will be run directly inside of a synchronized() block.<br> - * Note that if a runnable recursively calls invokeAndWait() with another - * runnable on this Room, it will not be executed recursively, but instead - * cached until the original runnable is finished, to keep the behavior of - * using a Executor. - * - * @param task The task to be executed - */ - public void invokeAndWait(Runnable task) { - - // Check if the current thread already holds a lock on this room. - // If yes, then we must not directly execute the Runnable but instead - // cache it until the original invokeAndWait() has finished. - if (roomLock.isHeldByCurrentThread()) { - - if (cachedRunnables == null) { - cachedRunnables = new ArrayList<>(); - } - cachedRunnables.add(task); - - } else { - - roomLock.lock(); - try { - // Explicitly overwrite value to ensure data consistency in - // current thread - cachedRunnables = null; - - if (!closed) { - task.run(); - } - - // Run the cached runnables. - if (cachedRunnables != null) { - for (int i = 0; i < cachedRunnables.size(); i++) { - if (!closed) { - cachedRunnables.get(i).run(); - } - } - cachedRunnables = null; - } - - } finally { - roomLock.unlock(); - } - - } - - } - - /** - * Shuts down the roomExecutor and the drawmessageBroadcastTimer. - */ - public void shutdown() { - invokeAndWait(new Runnable() { - @Override - public void run() { - closed = true; - drawmessageBroadcastTimer.cancel(); - roomGraphics.dispose(); - } - }); - } - - - /** - * A Player participates in a Room. It is the interface between the - * {@link Room} and the {@link Client}.<br><br> - * - * Note: This means a player object is actually a join between Room and - * Client. - */ - public final class Player { - - /** - * The room to which this player belongs. - */ - private Room room; - - /** - * The room buffers the last draw message ID that was received from - * this player. - */ - private long lastReceivedMessageId = 0; - - private final Client client; - - /** - * Buffered DrawMessages that will be sent by a Timer. - */ - private final List<DrawMessage> bufferedDrawMessages = - new ArrayList<>(); - - private List<DrawMessage> getBufferedDrawMessages() { - return bufferedDrawMessages; - } - - private Player(Room room, Client client) { - this.room = room; - this.client = client; - } - - public Room getRoom() { - return room; - } - - public Client getClient() { - return client; - } - - /** - * Removes this player from its room, e.g. when - * the client disconnects. - */ - public void removeFromRoom() { - if (room != null) { - room.internalRemovePlayer(this); - room = null; - } - } - - - private long getLastReceivedMessageId() { - return lastReceivedMessageId; - } - private void setLastReceivedMessageId(long value) { - lastReceivedMessageId = value; - } - - - /** - * Handles the given DrawMessage by drawing it onto this Room's - * image and by broadcasting it to the connected players. - * - * @param msg The draw message received - * @param msgId The ID for the draw message received - */ - public void handleDrawMessage(DrawMessage msg, long msgId) { - room.internalHandleDrawMessage(this, msg, msgId); - } - - - /** - * Sends the given room message. - * @param type - * @param content - */ - private void sendRoomMessage(MessageType type, String content) { - Objects.requireNonNull(content); - Objects.requireNonNull(type); - - String completeMsg = String.valueOf(type.flag) + content; - - client.sendMessage(new StringWebsocketMessage(completeMsg)); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/AbstractWebsocketMessage.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/AbstractWebsocketMessage.java deleted file mode 100644 index d42539372f4cb33143ee9f3a796623cba4fc2331..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/AbstractWebsocketMessage.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard.wsmessages; - -/** - * Abstract base class for Websocket Messages (binary or string) - * that can be buffered. - */ -public abstract class AbstractWebsocketMessage { - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/BinaryWebsocketMessage.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/BinaryWebsocketMessage.java deleted file mode 100644 index b16e1aede6de633ed48ebedc3c84d732465f4ffa..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/BinaryWebsocketMessage.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard.wsmessages; - -import java.nio.ByteBuffer; - -/** - * Represents a binary websocket message. - */ -public final class BinaryWebsocketMessage extends AbstractWebsocketMessage { - private final ByteBuffer bytes; - - public BinaryWebsocketMessage(ByteBuffer bytes) { - this.bytes = bytes; - } - - public ByteBuffer getBytes() { - return bytes; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/CloseWebsocketMessage.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/CloseWebsocketMessage.java deleted file mode 100644 index 44f48adb748dd51253a3cb73cf461dc5778c0213..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/CloseWebsocketMessage.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard.wsmessages; - -/** - * Represents a "close" message that closes the session. - */ -public class CloseWebsocketMessage extends AbstractWebsocketMessage { - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/StringWebsocketMessage.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/StringWebsocketMessage.java deleted file mode 100644 index 49be36935b20eae995149fe27b95d849cf82aefc..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/drawboard/wsmessages/StringWebsocketMessage.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.drawboard.wsmessages; - -/** - * Represents a string websocket message. - * - */ -public final class StringWebsocketMessage extends AbstractWebsocketMessage { - private final String string; - - public StringWebsocketMessage(String string) { - this.string = string; - } - - public String getString() { - return string; - } - -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoAnnotation.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoAnnotation.java deleted file mode 100644 index 34f0de2c1b410226ca40574fd9ce1eb145a937e1..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoAnnotation.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.echo; - -import java.io.IOException; -import java.nio.ByteBuffer; - -import javax.websocket.OnMessage; -import javax.websocket.PongMessage; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -/** - * The three annotated echo endpoints can be used to test with Autobahn and - * the following command "wstest -m fuzzingclient -s servers.json". See the - * Autobahn documentation for setup and general information. - */ -@ServerEndpoint("/websocket/echoAnnotation") -public class EchoAnnotation { - - @OnMessage - public void echoTextMessage(Session session, String msg, boolean last) { - try { - if (session.isOpen()) { - session.getBasicRemote().sendText(msg, last); - } - } catch (IOException e) { - try { - session.close(); - } catch (IOException e1) { - // Ignore - } - } - } - - @OnMessage - public void echoBinaryMessage(Session session, ByteBuffer bb, - boolean last) { - try { - if (session.isOpen()) { - session.getBasicRemote().sendBinary(bb, last); - } - } catch (IOException e) { - try { - session.close(); - } catch (IOException e1) { - // Ignore - } - } - } - - /** - * Process a received pong. This is a NO-OP. - * - * @param pm Ignored. - */ - @OnMessage - public void echoPongMessage(PongMessage pm) { - // NO-OP - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoAsyncAnnotation.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoAsyncAnnotation.java deleted file mode 100644 index 39df783b721e0bc23aa70f9fdf8e8aa6951ddd99..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoAsyncAnnotation.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.echo; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import javax.websocket.OnMessage; -import javax.websocket.PongMessage; -import javax.websocket.Session; - -/** - * The three annotated echo endpoints can be used to test with Autobahn and - * the following command "wstest -m fuzzingclient -s servers.json". See the - * Autobahn documentation for setup and general information. - * - * Note: This one is disabled by default since it allocates memory, and needs - * to be enabled back. - */ -//@javax.websocket.server.ServerEndpoint("/websocket/echoAsyncAnnotation") -public class EchoAsyncAnnotation { - - private static final Future<Void> COMPLETED = new CompletedFuture(); - - Future<Void> f = COMPLETED; - StringBuilder sb = null; - ByteArrayOutputStream bytes = null; - - @OnMessage - public void echoTextMessage(Session session, String msg, boolean last) { - if (sb == null) { - sb = new StringBuilder(); - } - sb.append(msg); - if (last) { - // Before we send the next message, have to wait for the previous - // message to complete - try { - f.get(); - } catch (InterruptedException | ExecutionException e) { - // Let the container deal with it - throw new RuntimeException(e); - } - f = session.getAsyncRemote().sendText(sb.toString()); - sb = null; - } - } - - @OnMessage - public void echoBinaryMessage(byte[] msg, Session session, boolean last) - throws IOException { - if (bytes == null) { - bytes = new ByteArrayOutputStream(); - } - bytes.write(msg); - if (last) { - // Before we send the next message, have to wait for the previous - // message to complete - try { - f.get(); - } catch (InterruptedException | ExecutionException e) { - // Let the container deal with it - throw new RuntimeException(e); - } - f = session.getAsyncRemote().sendBinary(ByteBuffer.wrap(bytes.toByteArray())); - bytes = null; - } - } - - /** - * Process a received pong. This is a NO-OP. - * - * @param pm Ignored. - */ - @OnMessage - public void echoPongMessage(PongMessage pm) { - // NO-OP - } - - private static class CompletedFuture implements Future<Void> { - - @Override - public boolean cancel(boolean mayInterruptIfRunning) { - return false; - } - - @Override - public boolean isCancelled() { - return false; - } - - @Override - public boolean isDone() { - return true; - } - - @Override - public Void get() throws InterruptedException, ExecutionException { - return null; - } - - @Override - public Void get(long timeout, TimeUnit unit) - throws InterruptedException, ExecutionException, - TimeoutException { - return null; - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java deleted file mode 100644 index 362023829825b06df934ae0afa0b95101eced649..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoEndpoint.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.echo; - -import java.io.IOException; -import java.nio.ByteBuffer; - -import javax.websocket.Endpoint; -import javax.websocket.EndpointConfig; -import javax.websocket.MessageHandler; -import javax.websocket.RemoteEndpoint; -import javax.websocket.Session; - -public class EchoEndpoint extends Endpoint { - - @Override - public void onOpen(Session session, EndpointConfig endpointConfig) { - RemoteEndpoint.Basic remoteEndpointBasic = session.getBasicRemote(); - session.addMessageHandler(new EchoMessageHandlerText(remoteEndpointBasic)); - session.addMessageHandler(new EchoMessageHandlerBinary(remoteEndpointBasic)); - } - - private static class EchoMessageHandlerText - implements MessageHandler.Partial<String> { - - private final RemoteEndpoint.Basic remoteEndpointBasic; - - private EchoMessageHandlerText(RemoteEndpoint.Basic remoteEndpointBasic) { - this.remoteEndpointBasic = remoteEndpointBasic; - } - - @Override - public void onMessage(String message, boolean last) { - try { - if (remoteEndpointBasic != null) { - remoteEndpointBasic.sendText(message, last); - } - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - - private static class EchoMessageHandlerBinary - implements MessageHandler.Partial<ByteBuffer> { - - private final RemoteEndpoint.Basic remoteEndpointBasic; - - private EchoMessageHandlerBinary(RemoteEndpoint.Basic remoteEndpointBasic) { - this.remoteEndpointBasic = remoteEndpointBasic; - } - - @Override - public void onMessage(ByteBuffer message, boolean last) { - try { - if (remoteEndpointBasic != null) { - remoteEndpointBasic.sendBinary(message, last); - } - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoStreamAnnotation.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoStreamAnnotation.java deleted file mode 100644 index 7aef82110cf8bc5b698c02ecd8cc36755e420fa4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/EchoStreamAnnotation.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.echo; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.Writer; - -import javax.websocket.OnMessage; -import javax.websocket.PongMessage; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -/** - * The three annotated echo endpoints can be used to test with Autobahn and - * the following command "wstest -m fuzzingclient -s servers.json". See the - * Autobahn documentation for setup and general information. - */ -@ServerEndpoint("/websocket/echoStreamAnnotation") -public class EchoStreamAnnotation { - - Writer writer; - OutputStream stream; - - @OnMessage - public void echoTextMessage(Session session, String msg, boolean last) - throws IOException { - if (writer == null) { - writer = session.getBasicRemote().getSendWriter(); - } - writer.write(msg); - if (last) { - writer.close(); - writer = null; - } - } - - @OnMessage - public void echoBinaryMessage(byte[] msg, Session session, boolean last) - throws IOException { - if (stream == null) { - stream = session.getBasicRemote().getSendStream(); - } - stream.write(msg); - stream.flush(); - if (last) { - stream.close(); - stream = null; - } - } - - /** - * Process a received pong. This is a NO-OP. - * - * @param pm Ignored. - */ - @OnMessage - public void echoPongMessage(PongMessage pm) { - // NO-OP - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/servers.json b/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/servers.json deleted file mode 100644 index c816a7d9e82b059221664164f5f39cafb6d9e57b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/echo/servers.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "options": {"failByDrop": false}, - "outdir": "./reports/servers", - - "servers": [ - {"agent": "Basic", - "url": "ws://localhost:8080/examples/websocket/echoAnnotation", - "options": {"version": 18}}, - {"agent": "Stream", - "url": "ws://localhost:8080/examples/websocket/echoStreamAnnotation", - "options": {"version": 18}}, - {"agent": "Async", - "url": "ws://localhost:8080/examples/websocket/echoAsyncAnnotation", - "options": {"version": 18}} - ], - - "cases": ["*"], - "exclude-cases": [], - "exclude-agent-cases": {} -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Direction.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Direction.java deleted file mode 100644 index 4440c9ded517728e3d332883fb4d450bdcfe5892..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Direction.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.snake; - -public enum Direction { - NONE, NORTH, SOUTH, EAST, WEST -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Location.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Location.java deleted file mode 100644 index acbfeb779ea2df8b070d14ee6a388bd51b5a4cf9..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Location.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.snake; - -public class Location { - - public int x; - public int y; - - public Location(int x, int y) { - this.x = x; - this.y = y; - } - - public Location getAdjacentLocation(Direction direction) { - switch (direction) { - case NORTH: - return new Location(x, y - SnakeAnnotation.GRID_SIZE); - case SOUTH: - return new Location(x, y + SnakeAnnotation.GRID_SIZE); - case EAST: - return new Location(x + SnakeAnnotation.GRID_SIZE, y); - case WEST: - return new Location(x - SnakeAnnotation.GRID_SIZE, y); - case NONE: - // fall through - default: - return this; - } - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - Location location = (Location) o; - - if (x != location.x) return false; - if (y != location.y) return false; - - return true; - } - - @Override - public int hashCode() { - int result = x; - result = 31 * result + y; - return result; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Snake.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Snake.java deleted file mode 100644 index 7a112220c57d573b59c9654bd0f1819d7b52a055..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/Snake.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.snake; - -import java.io.IOException; -import java.util.ArrayDeque; -import java.util.Collection; -import java.util.Deque; - -import javax.websocket.CloseReason; -import javax.websocket.CloseReason.CloseCodes; -import javax.websocket.Session; - -public class Snake { - - private static final int DEFAULT_LENGTH = 5; - - private final int id; - private final Session session; - - private Direction direction; - private int length = DEFAULT_LENGTH; - private Location head; - private final Deque<Location> tail = new ArrayDeque<>(); - private final String hexColor; - - public Snake(int id, Session session) { - this.id = id; - this.session = session; - this.hexColor = SnakeAnnotation.getRandomHexColor(); - resetState(); - } - - private void resetState() { - this.direction = Direction.NONE; - this.head = SnakeAnnotation.getRandomLocation(); - this.tail.clear(); - this.length = DEFAULT_LENGTH; - } - - private synchronized void kill() { - resetState(); - sendMessage("{\"type\": \"dead\"}"); - } - - private synchronized void reward() { - length++; - sendMessage("{\"type\": \"kill\"}"); - } - - - protected void sendMessage(String msg) { - try { - session.getBasicRemote().sendText(msg); - } catch (IOException ioe) { - CloseReason cr = - new CloseReason(CloseCodes.CLOSED_ABNORMALLY, ioe.getMessage()); - try { - session.close(cr); - } catch (IOException ioe2) { - // Ignore - } - } - } - - public synchronized void update(Collection<Snake> snakes) { - Location nextLocation = head.getAdjacentLocation(direction); - if (nextLocation.x >= SnakeAnnotation.PLAYFIELD_WIDTH) { - nextLocation.x = 0; - } - if (nextLocation.y >= SnakeAnnotation.PLAYFIELD_HEIGHT) { - nextLocation.y = 0; - } - if (nextLocation.x < 0) { - nextLocation.x = SnakeAnnotation.PLAYFIELD_WIDTH; - } - if (nextLocation.y < 0) { - nextLocation.y = SnakeAnnotation.PLAYFIELD_HEIGHT; - } - if (direction != Direction.NONE) { - tail.addFirst(head); - if (tail.size() > length) { - tail.removeLast(); - } - head = nextLocation; - } - - handleCollisions(snakes); - } - - private void handleCollisions(Collection<Snake> snakes) { - for (Snake snake : snakes) { - boolean headCollision = id != snake.id && snake.getHead().equals(head); - boolean tailCollision = snake.getTail().contains(head); - if (headCollision || tailCollision) { - kill(); - if (id != snake.id) { - snake.reward(); - } - } - } - } - - public synchronized Location getHead() { - return head; - } - - public synchronized Collection<Location> getTail() { - return tail; - } - - public synchronized void setDirection(Direction direction) { - this.direction = direction; - } - - public synchronized String getLocationsJson() { - StringBuilder sb = new StringBuilder(); - sb.append(String.format("{\"x\": %d, \"y\": %d}", - Integer.valueOf(head.x), Integer.valueOf(head.y))); - for (Location location : tail) { - sb.append(','); - sb.append(String.format("{\"x\": %d, \"y\": %d}", - Integer.valueOf(location.x), Integer.valueOf(location.y))); - } - return String.format("{\"id\":%d,\"body\":[%s]}", - Integer.valueOf(id), sb.toString()); - } - - public int getId() { - return id; - } - - public String getHexColor() { - return hexColor; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/SnakeAnnotation.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/SnakeAnnotation.java deleted file mode 100644 index c030dbcabe04ef0c92b14809fede9db1bc2b927c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/SnakeAnnotation.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.snake; - -import java.awt.Color; -import java.io.EOFException; -import java.util.Iterator; -import java.util.Random; -import java.util.concurrent.atomic.AtomicInteger; - -import javax.websocket.OnClose; -import javax.websocket.OnError; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -@ServerEndpoint(value = "/websocket/snake") -public class SnakeAnnotation { - - public static final int PLAYFIELD_WIDTH = 640; - public static final int PLAYFIELD_HEIGHT = 480; - public static final int GRID_SIZE = 10; - - private static final AtomicInteger snakeIds = new AtomicInteger(0); - private static final Random random = new Random(); - - - private final int id; - private Snake snake; - - public static String getRandomHexColor() { - float hue = random.nextFloat(); - // sat between 0.1 and 0.3 - float saturation = (random.nextInt(2000) + 1000) / 10000f; - float luminance = 0.9f; - Color color = Color.getHSBColor(hue, saturation, luminance); - return '#' + Integer.toHexString( - (color.getRGB() & 0xffffff) | 0x1000000).substring(1); - } - - - public static Location getRandomLocation() { - int x = roundByGridSize(random.nextInt(PLAYFIELD_WIDTH)); - int y = roundByGridSize(random.nextInt(PLAYFIELD_HEIGHT)); - return new Location(x, y); - } - - - private static int roundByGridSize(int value) { - value = value + (GRID_SIZE / 2); - value = value / GRID_SIZE; - value = value * GRID_SIZE; - return value; - } - - public SnakeAnnotation() { - this.id = snakeIds.getAndIncrement(); - } - - - @OnOpen - public void onOpen(Session session) { - this.snake = new Snake(id, session); - SnakeTimer.addSnake(snake); - StringBuilder sb = new StringBuilder(); - for (Iterator<Snake> iterator = SnakeTimer.getSnakes().iterator(); - iterator.hasNext();) { - Snake snake = iterator.next(); - sb.append(String.format("{\"id\": %d, \"color\": \"%s\"}", - Integer.valueOf(snake.getId()), snake.getHexColor())); - if (iterator.hasNext()) { - sb.append(','); - } - } - SnakeTimer.broadcast(String.format("{\"type\": \"join\",\"data\":[%s]}", - sb.toString())); - } - - - @OnMessage - public void onTextMessage(String message) { - if ("west".equals(message)) { - snake.setDirection(Direction.WEST); - } else if ("north".equals(message)) { - snake.setDirection(Direction.NORTH); - } else if ("east".equals(message)) { - snake.setDirection(Direction.EAST); - } else if ("south".equals(message)) { - snake.setDirection(Direction.SOUTH); - } - } - - - @OnClose - public void onClose() { - SnakeTimer.removeSnake(snake); - SnakeTimer.broadcast(String.format("{\"type\": \"leave\", \"id\": %d}", - Integer.valueOf(id))); - } - - - @OnError - public void onError(Throwable t) throws Throwable { - // Most likely cause is a user closing their browser. Check to see if - // the root cause is EOF and if it is ignore it. - // Protect against infinite loops. - int count = 0; - Throwable root = t; - while (root.getCause() != null && count < 20) { - root = root.getCause(); - count ++; - } - if (root instanceof EOFException) { - // Assume this is triggered by the user closing their browser and - // ignore it. - } else { - throw t; - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/SnakeTimer.java b/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/SnakeTimer.java deleted file mode 100644 index 011541399e1962e485dee873a5f3d60af017ba29..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/classes/websocket/snake/SnakeTimer.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package websocket.snake; - -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.Timer; -import java.util.TimerTask; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; - -/** - * Sets up the timer for the multi-player snake game WebSocket example. - */ -public class SnakeTimer { - - private static final Log log = - LogFactory.getLog(SnakeTimer.class); - - private static Timer gameTimer = null; - - private static final long TICK_DELAY = 100; - - private static final ConcurrentHashMap<Integer, Snake> snakes = - new ConcurrentHashMap<>(); - - protected static synchronized void addSnake(Snake snake) { - if (snakes.size() == 0) { - startTimer(); - } - snakes.put(Integer.valueOf(snake.getId()), snake); - } - - - protected static Collection<Snake> getSnakes() { - return Collections.unmodifiableCollection(snakes.values()); - } - - - protected static synchronized void removeSnake(Snake snake) { - snakes.remove(Integer.valueOf(snake.getId())); - if (snakes.size() == 0) { - stopTimer(); - } - } - - - protected static void tick() { - StringBuilder sb = new StringBuilder(); - for (Iterator<Snake> iterator = SnakeTimer.getSnakes().iterator(); - iterator.hasNext();) { - Snake snake = iterator.next(); - snake.update(SnakeTimer.getSnakes()); - sb.append(snake.getLocationsJson()); - if (iterator.hasNext()) { - sb.append(','); - } - } - broadcast(String.format("{\"type\": \"update\", \"data\" : [%s]}", - sb.toString())); - } - - protected static void broadcast(String message) { - for (Snake snake : SnakeTimer.getSnakes()) { - try { - snake.sendMessage(message); - } catch (IllegalStateException ise) { - // An ISE can occur if an attempt is made to write to a - // WebSocket connection after it has been closed. The - // alternative to catching this exception is to synchronise - // the writes to the clients along with the addSnake() and - // removeSnake() methods that are already synchronised. - } - } - } - - - public static void startTimer() { - gameTimer = new Timer(SnakeTimer.class.getSimpleName() + " Timer"); - gameTimer.scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - try { - tick(); - } catch (RuntimeException e) { - log.error("Caught to prevent timer from shutting down", e); - } - } - }, TICK_DELAY, TICK_DELAY); - } - - - public static void stopTimer() { - if (gameTimer != null) { - gameTimer.cancel(); - } - } -} diff --git a/tomcat/webapps/examples/WEB-INF/jsp/applet/Clock2.java b/tomcat/webapps/examples/WEB-INF/jsp/applet/Clock2.java deleted file mode 100644 index c745815601441b27a7626a1b3b039f6d0f8058a8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/jsp/applet/Clock2.java +++ /dev/null @@ -1,230 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import java.applet.Applet; -import java.awt.Color; -import java.awt.Font; -import java.awt.Graphics; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - -/** - * Time! - * - * @author Rachel Gollub - */ - -public class Clock2 extends Applet implements Runnable { - private static final long serialVersionUID = 1L; - Thread timer; // The thread that displays clock - int lastxs, lastys, lastxm, - lastym, lastxh, lastyh; // Dimensions used to draw hands - SimpleDateFormat formatter; // Formats the date displayed - String lastdate; // String to hold date displayed - Font clockFaceFont; // Font for number display on clock - Date currentDate; // Used to get date to display - Color handColor; // Color of main hands and dial - Color numberColor; // Color of second hand and numbers - - @Override - public void init() { - lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0; - formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault()); - currentDate = new Date(); - lastdate = formatter.format(currentDate); - clockFaceFont = new Font("Serif", Font.PLAIN, 14); - handColor = Color.blue; - numberColor = Color.darkGray; - - try { - setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16))); - } catch (Exception e) { - // Ignore - } - try { - handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16)); - } catch (Exception e) { - // Ignore - } - try { - numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16)); - } catch (Exception e) { - // Ignore - } - resize(300,300); // Set clock window size - } - - // Plotpoints allows calculation to only cover 45 degrees of the circle, - // and then mirror - public void plotpoints(int x0, int y0, int x, int y, Graphics g) { - g.drawLine(x0+x,y0+y,x0+x,y0+y); - g.drawLine(x0+y,y0+x,x0+y,y0+x); - g.drawLine(x0+y,y0-x,x0+y,y0-x); - g.drawLine(x0+x,y0-y,x0+x,y0-y); - g.drawLine(x0-x,y0-y,x0-x,y0-y); - g.drawLine(x0-y,y0-x,x0-y,y0-x); - g.drawLine(x0-y,y0+x,x0-y,y0+x); - g.drawLine(x0-x,y0+y,x0-x,y0+y); - } - - // Circle is just Bresenham's algorithm for a scan converted circle - public void circle(int x0, int y0, int r, Graphics g) { - int x,y; - float d; - x=0; - y=r; - d=5/4-r; - plotpoints(x0,y0,x,y,g); - - while (y>x){ - if (d<0) { - d=d+2*x+3; - x++; - } - else { - d=d+2*(x-y)+5; - x++; - y--; - } - plotpoints(x0,y0,x,y,g); - } - } - - // Paint is the main part of the program - @Override - public void paint(Graphics g) { - int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter; - String today; - - currentDate = new Date(); - SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault()); - try { - s = Integer.parseInt(formatter.format(currentDate)); - } catch (NumberFormatException n) { - s = 0; - } - formatter.applyPattern("m"); - try { - m = Integer.parseInt(formatter.format(currentDate)); - } catch (NumberFormatException n) { - m = 10; - } - formatter.applyPattern("h"); - try { - h = Integer.parseInt(formatter.format(currentDate)); - } catch (NumberFormatException n) { - h = 10; - } - formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy"); - today = formatter.format(currentDate); - xcenter=80; - ycenter=55; - - // a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00) - // x = r(cos a) + xcenter, y = r(sin a) + ycenter - - xs = (int)(Math.cos(s * Math.PI/30 - Math.PI/2) * 45 + xcenter); - ys = (int)(Math.sin(s * Math.PI/30 - Math.PI/2) * 45 + ycenter); - xm = (int)(Math.cos(m * Math.PI/30 - Math.PI/2) * 40 + xcenter); - ym = (int)(Math.sin(m * Math.PI/30 - Math.PI/2) * 40 + ycenter); - xh = (int)(Math.cos((h*30 + m/2) * Math.PI/180 - Math.PI/2) * 30 + xcenter); - yh = (int)(Math.sin((h*30 + m/2) * Math.PI/180 - Math.PI/2) * 30 + ycenter); - - // Draw the circle and numbers - - g.setFont(clockFaceFont); - g.setColor(handColor); - circle(xcenter,ycenter,50,g); - g.setColor(numberColor); - g.drawString("9",xcenter-45,ycenter+3); - g.drawString("3",xcenter+40,ycenter+3); - g.drawString("12",xcenter-5,ycenter-37); - g.drawString("6",xcenter-3,ycenter+45); - - // Erase if necessary, and redraw - - g.setColor(getBackground()); - if (xs != lastxs || ys != lastys) { - g.drawLine(xcenter, ycenter, lastxs, lastys); - g.drawString(lastdate, 5, 125); - } - if (xm != lastxm || ym != lastym) { - g.drawLine(xcenter, ycenter-1, lastxm, lastym); - g.drawLine(xcenter-1, ycenter, lastxm, lastym); } - if (xh != lastxh || yh != lastyh) { - g.drawLine(xcenter, ycenter-1, lastxh, lastyh); - g.drawLine(xcenter-1, ycenter, lastxh, lastyh); } - g.setColor(numberColor); - g.drawString("", 5, 125); - g.drawString(today, 5, 125); - g.drawLine(xcenter, ycenter, xs, ys); - g.setColor(handColor); - g.drawLine(xcenter, ycenter-1, xm, ym); - g.drawLine(xcenter-1, ycenter, xm, ym); - g.drawLine(xcenter, ycenter-1, xh, yh); - g.drawLine(xcenter-1, ycenter, xh, yh); - lastxs=xs; lastys=ys; - lastxm=xm; lastym=ym; - lastxh=xh; lastyh=yh; - lastdate = today; - currentDate=null; - } - - @Override - public void start() { - timer = new Thread(this); - timer.start(); - } - - @Override - public void stop() { - timer = null; - } - - @Override - public void run() { - Thread me = Thread.currentThread(); - while (timer == me) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - } - repaint(); - } - } - - @Override - public void update(Graphics g) { - paint(g); - } - - @Override - public String getAppletInfo() { - return "Title: A Clock \nAuthor: Rachel Gollub, 1995 \nAn analog clock."; - } - - @Override - public String[][] getParameterInfo() { - String[][] info = { - {"bgcolor", "hexadecimal RGB number", "The background color. Default is the color of your browser."}, - {"fgcolor1", "hexadecimal RGB number", "The color of the hands and dial. Default is blue."}, - {"fgcolor2", "hexadecimal RGB number", "The color of the seconds hand and numbers. Default is dark gray."} - }; - return info; - } -} diff --git a/tomcat/webapps/examples/WEB-INF/jsp/debug-taglib.tld b/tomcat/webapps/examples/WEB-INF/jsp/debug-taglib.tld deleted file mode 100644 index 8f082d310350eeca5bd9b5f824a4947622a4f6c1..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/jsp/debug-taglib.tld +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1" ?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<!DOCTYPE taglib - PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" - "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd"> - -<!-- a tag library descriptor --> - -<taglib> - <tlib-version>1.0</tlib-version> - <jsp-version>1.2</jsp-version> - <short-name>debug</short-name> - <uri>http://tomcat.apache.org/debug-taglib</uri> - <description> - This tag library defines no tags. Instead, its purpose is encapsulated - in the TagLibraryValidator implementation that simply outputs the XML - version of a JSP page to standard output, whenever this tag library is - referenced in a "taglib" directive in a JSP page. - </description> - <validator> - <validator-class>validators.DebugValidator</validator-class> - </validator> - - <!-- This is a dummy tag solely to satisfy DTD requirements --> - <tag> - <name>log</name> - <tag-class>examples.LogTag</tag-class> - <body-content>TAGDEPENDENT</body-content> - <description> - Perform a server side action; Log the message. - </description> - <attribute> - <name>toBrowser</name> - <required>false</required> - </attribute> - </tag> - - -</taglib> diff --git a/tomcat/webapps/examples/WEB-INF/jsp/example-taglib.tld b/tomcat/webapps/examples/WEB-INF/jsp/example-taglib.tld deleted file mode 100644 index 442868ef939235f1c8e60865322d32e649a47d33..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/jsp/example-taglib.tld +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1" ?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<!DOCTYPE taglib - PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" - "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd"> - -<taglib> - - <tlib-version>1.0</tlib-version> - <jsp-version>1.2</jsp-version> - <short-name>simple</short-name> - <uri>http://tomcat.apache.org/example-taglib</uri> - <description> - A simple tab library for the examples - </description> - - <tag> - <name>ShowSource</name> - <tag-class>examples.ShowSource</tag-class> - <description> Display JSP sources </description> - <attribute> - <name>jspFile</name> - <required>true</required> - <rtexprvalue>true</rtexprvalue> - </attribute> - </tag> - - <!-- A simple Tag --> - <!-- foo tag --> - <tag> - <name>foo</name> - <tag-class>examples.FooTag</tag-class> - <tei-class>examples.FooTagExtraInfo</tei-class> - <body-content>JSP</body-content> - <description> - Perform a server side action; uses 3 mandatory attributes - </description> - - <attribute> - <name>att1</name> - <required>true</required> - </attribute> - <attribute> - <name>att2</name> - <required>true</required> - </attribute> - <attribute> - <name>att3</name> - <required>true</required> - </attribute> - </tag> - - <!-- Another simple tag --> - <!-- log tag --> - <tag> - <name>log</name> - <tag-class>examples.LogTag</tag-class> - <body-content>TAGDEPENDENT</body-content> - <description> - Perform a server side action; Log the message. - </description> - <attribute> - <name>toBrowser</name> - <required>false</required> - </attribute> - </tag> - - <!-- Another simple Tag --> - <!-- values tag --> - <tag> - <name>values</name> - <tag-class>examples.ValuesTag</tag-class> - <body-content>empty</body-content> - <description> - Accept and return values of different types. This tag is used - to illustrate type coercions. - </description> - <attribute> - <name>object</name> - <required>false</required> - <rtexprvalue>true</rtexprvalue> - <type>java.lang.Object</type> - </attribute> - <attribute> - <name>string</name> - <required>false</required> - <rtexprvalue>true</rtexprvalue> - <type>java.lang.String</type> - </attribute> - <attribute> - <name>long</name> - <required>false</required> - <rtexprvalue>true</rtexprvalue> - <type>long</type> - </attribute> - <attribute> - <name>double</name> - <required>false</required> - <rtexprvalue>true</rtexprvalue> - <type>double</type> - </attribute> - </tag> -</taglib> diff --git a/tomcat/webapps/examples/WEB-INF/jsp2/jsp2-example-taglib.tld b/tomcat/webapps/examples/WEB-INF/jsp2/jsp2-example-taglib.tld deleted file mode 100644 index 73173bdafd292911c4334ff505eb7f2c811fe56d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/jsp2/jsp2-example-taglib.tld +++ /dev/null @@ -1,124 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<taglib xmlns="http://java.sun.com/xml/ns/j2ee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" - version="2.0"> - <description>A tag library exercising SimpleTag handlers.</description> - <tlib-version>1.0</tlib-version> - <short-name>SimpleTagLibrary</short-name> - <uri>http://tomcat.apache.org/jsp2-example-taglib</uri> - <tag> - <description>Outputs Hello, World</description> - <name>helloWorld</name> - <tag-class>jsp2.examples.simpletag.HelloWorldSimpleTag</tag-class> - <body-content>empty</body-content> - </tag> - <tag> - <description>Repeats the body of the tag 'num' times</description> - <name>repeat</name> - <tag-class>jsp2.examples.simpletag.RepeatSimpleTag</tag-class> - <body-content>scriptless</body-content> - <variable> - <description>Current invocation count (1 to num)</description> - <name-given>count</name-given> - </variable> - <attribute> - <name>num</name> - <required>true</required> - <rtexprvalue>true</rtexprvalue> - </attribute> - </tag> - <tag> - <description>Populates the page context with a BookBean</description> - <name>findBook</name> - <tag-class>jsp2.examples.simpletag.FindBookSimpleTag</tag-class> - <body-content>empty</body-content> - <attribute> - <name>var</name> - <required>true</required> - <rtexprvalue>true</rtexprvalue> - </attribute> - </tag> - <tag> - <description> - Takes 3 fragments and invokes them in a random order - </description> - <name>shuffle</name> - <tag-class>jsp2.examples.simpletag.ShuffleSimpleTag</tag-class> - <body-content>empty</body-content> - <attribute> - <name>fragment1</name> - <required>true</required> - <fragment>true</fragment> - </attribute> - <attribute> - <name>fragment2</name> - <required>true</required> - <fragment>true</fragment> - </attribute> - <attribute> - <name>fragment3</name> - <required>true</required> - <fragment>true</fragment> - </attribute> - </tag> - <tag> - <description>Outputs a colored tile</description> - <name>tile</name> - <tag-class>jsp2.examples.simpletag.TileSimpleTag</tag-class> - <body-content>empty</body-content> - <attribute> - <name>color</name> - <required>true</required> - </attribute> - <attribute> - <name>label</name> - <required>true</required> - </attribute> - </tag> - <tag> - <description> - Tag that echoes all its attributes and body content - </description> - <name>echoAttributes</name> - <tag-class>jsp2.examples.simpletag.EchoAttributesTag</tag-class> - <body-content>empty</body-content> - <dynamic-attributes>true</dynamic-attributes> - </tag> - <function> - <description>Reverses the characters in the given String</description> - <name>reverse</name> - <function-class>jsp2.examples.el.Functions</function-class> - <function-signature>java.lang.String reverse( java.lang.String )</function-signature> - </function> - <function> - <description>Counts the number of vowels (a,e,i,o,u) in the given String</description> - <name>countVowels</name> - <function-class>jsp2.examples.el.Functions</function-class> - <function-signature>java.lang.String numVowels( java.lang.String )</function-signature> - </function> - <function> - <description>Converts the string to all caps</description> - <name>caps</name> - <function-class>jsp2.examples.el.Functions</function-class> - <function-signature>java.lang.String caps( java.lang.String )</function-signature> - </function> -</taglib> - diff --git a/tomcat/webapps/examples/WEB-INF/lib/taglibs-standard-impl-1.2.5.jar b/tomcat/webapps/examples/WEB-INF/lib/taglibs-standard-impl-1.2.5.jar deleted file mode 100644 index 9176777787e57984e2a6451fe52f80147bb1830e..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/WEB-INF/lib/taglibs-standard-impl-1.2.5.jar and /dev/null differ diff --git a/tomcat/webapps/examples/WEB-INF/lib/taglibs-standard-spec-1.2.5.jar b/tomcat/webapps/examples/WEB-INF/lib/taglibs-standard-spec-1.2.5.jar deleted file mode 100644 index d54786732bcb5c48f907f5ce1436502aeb48ddef..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/WEB-INF/lib/taglibs-standard-spec-1.2.5.jar and /dev/null differ diff --git a/tomcat/webapps/examples/WEB-INF/tags/displayProducts.tag b/tomcat/webapps/examples/WEB-INF/tags/displayProducts.tag deleted file mode 100644 index 41e8c353db7040ad5124f7613a1f0e64a2cd95f8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/tags/displayProducts.tag +++ /dev/null @@ -1,55 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ attribute name="normalPrice" fragment="true" %> -<%@ attribute name="onSale" fragment="true" %> -<%@ variable name-given="name" %> -<%@ variable name-given="price" %> -<%@ variable name-given="origPrice" %> -<%@ variable name-given="salePrice" %> - -<table border="1"> - <tr> - <td> - <c:set var="name" value="Hand-held Color PDA"/> - <c:set var="price" value="$298.86"/> - <jsp:invoke fragment="normalPrice"/> - </td> - <td> - <c:set var="name" value="4-Pack 150 Watt Light Bulbs"/> - <c:set var="origPrice" value="$2.98"/> - <c:set var="salePrice" value="$2.32"/> - <jsp:invoke fragment="onSale"/> - </td> - <td> - <c:set var="name" value="Digital Cellular Phone"/> - <c:set var="price" value="$68.74"/> - <jsp:invoke fragment="normalPrice"/> - </td> - <td> - <c:set var="name" value="Baby Grand Piano"/> - <c:set var="price" value="$10,800.00"/> - <jsp:invoke fragment="normalPrice"/> - </td> - <td> - <c:set var="name" value="Luxury Car w/ Leather Seats"/> - <c:set var="origPrice" value="$23,980.00"/> - <c:set var="salePrice" value="$21,070.00"/> - <jsp:invoke fragment="onSale"/> - </td> - </tr> -</table> diff --git a/tomcat/webapps/examples/WEB-INF/tags/helloWorld.tag b/tomcat/webapps/examples/WEB-INF/tags/helloWorld.tag deleted file mode 100644 index 192bf53cc466c1df947aae17efc304e535c26c39..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/tags/helloWorld.tag +++ /dev/null @@ -1,17 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -Hello, world! diff --git a/tomcat/webapps/examples/WEB-INF/tags/panel.tag b/tomcat/webapps/examples/WEB-INF/tags/panel.tag deleted file mode 100644 index f4f30d0244e425dad93f90cf240c4e979d2f65e4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/tags/panel.tag +++ /dev/null @@ -1,29 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<%@ attribute name="color" %> -<%@ attribute name="bgcolor" %> -<%@ attribute name="title" %> -<table border="1" bgcolor="${color}"> - <tr> - <td><b>${title}</b></td> - </tr> - <tr> - <td bgcolor="${bgcolor}"> - <jsp:doBody/> - </td> - </tr> -</table> diff --git a/tomcat/webapps/examples/WEB-INF/web.xml b/tomcat/webapps/examples/WEB-INF/web.xml deleted file mode 100644 index 4fb4d16ac95b3929ceb5418e14c1f4ee48f69cf1..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/WEB-INF/web.xml +++ /dev/null @@ -1,399 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" - version="4.0" - metadata-complete="true"> - - <description> - Servlet and JSP Examples. - </description> - <display-name>Servlet and JSP Examples</display-name> - - <request-character-encoding>UTF-8</request-character-encoding> - - <!-- Define example filters --> - <filter> - <filter-name>Timing Filter</filter-name> - <filter-class>filters.ExampleFilter</filter-class> - <init-param> - <param-name>attribute</param-name> - <param-value>filters.ExampleFilter</param-value> - </init-param> - </filter> - - <filter> - <filter-name>Request Dumper Filter</filter-name> - <filter-class>org.apache.catalina.filters.RequestDumperFilter</filter-class> - </filter> - - <filter> - <filter-name>Compression Filter</filter-name> - <filter-class>compressionFilters.CompressionFilter</filter-class> - <init-param> - <param-name>compressionThreshold</param-name> - <param-value>128</param-value> - </init-param> - <init-param> - <param-name>compressionBuffer</param-name> - <param-value>8192</param-value> - </init-param> - <init-param> - <param-name>compressionMimeTypes</param-name> - <param-value>text/html,text/plain,text/xml</param-value> - </init-param> - <init-param> - <param-name>debug</param-name> - <param-value>0</param-value> - </init-param> - </filter> - - <!-- Define filter mappings for the timing filters --> - <!-- - <filter-mapping> - <filter-name>Timing Filter</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - --> - -<!-- - <filter-mapping> - <filter-name>Compression Filter</filter-name> - <url-pattern>/CompressionTest</url-pattern> - </filter-mapping> ---> - -<!-- - <filter-mapping> - <filter-name>Request Dumper Filter</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> ---> - - <!-- Define example application events listeners --> - <listener> - <listener-class>listeners.ContextListener</listener-class> - </listener> - <listener> - <listener-class>listeners.SessionListener</listener-class> - </listener> - - <!-- Define listeners required by examples --> - <listener> - <listener-class>async.AsyncStockContextListener</listener-class> - </listener> - - <!-- Define servlets that are included in the example application --> - - <servlet> - <servlet-name>ServletToJsp</servlet-name> - <servlet-class>ServletToJsp</servlet-class> - </servlet> - <servlet> - <servlet-name>CompressionFilterTestServlet</servlet-name> - <servlet-class>compressionFilters.CompressionFilterTestServlet</servlet-class> - </servlet> - <servlet> - <servlet-name>HelloWorldExample</servlet-name> - <servlet-class>HelloWorldExample</servlet-class> - </servlet> - <servlet> - <servlet-name>RequestInfoExample</servlet-name> - <servlet-class>RequestInfoExample</servlet-class> - </servlet> - <servlet> - <servlet-name>RequestHeaderExample</servlet-name> - <servlet-class>RequestHeaderExample</servlet-class> - </servlet> - <servlet> - <servlet-name>RequestParamExample</servlet-name> - <servlet-class>RequestParamExample</servlet-class> - </servlet> - <servlet> - <servlet-name>CookieExample</servlet-name> - <servlet-class>CookieExample</servlet-class> - </servlet> - <servlet> - <servlet-name>SessionExample</servlet-name> - <servlet-class>SessionExample</servlet-class> - </servlet> - - <servlet-mapping> - <servlet-name>CompressionFilterTestServlet</servlet-name> - <url-pattern>/CompressionTest</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>HelloWorldExample</servlet-name> - <url-pattern>/servlets/servlet/HelloWorldExample</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>RequestInfoExample</servlet-name> - <url-pattern>/servlets/servlet/RequestInfoExample/*</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>RequestHeaderExample</servlet-name> - <url-pattern>/servlets/servlet/RequestHeaderExample</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>RequestParamExample</servlet-name> - <url-pattern>/servlets/servlet/RequestParamExample</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>CookieExample</servlet-name> - <url-pattern>/servlets/servlet/CookieExample</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>SessionExample</servlet-name> - <url-pattern>/servlets/servlet/SessionExample</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>ServletToJsp</servlet-name> - <url-pattern>/servletToJsp</url-pattern> - </servlet-mapping> - - <jsp-config> - <taglib> - <taglib-uri> - http://tomcat.apache.org/debug-taglib - </taglib-uri> - <taglib-location> - /WEB-INF/jsp/debug-taglib.tld - </taglib-location> - </taglib> - - <taglib> - <taglib-uri> - http://tomcat.apache.org/example-taglib - </taglib-uri> - <taglib-location> - /WEB-INF/jsp/example-taglib.tld - </taglib-location> - </taglib> - - <taglib> - <taglib-uri> - http://tomcat.apache.org/jsp2-example-taglib - </taglib-uri> - <taglib-location> - /WEB-INF/jsp2/jsp2-example-taglib.tld - </taglib-location> - </taglib> - - <jsp-property-group> - <description> - Special property group for JSP Configuration JSP example. - </description> - <display-name>JSPConfiguration</display-name> - <url-pattern>/jsp/jsp2/misc/config.jsp</url-pattern> - <el-ignored>true</el-ignored> - <page-encoding>ISO-8859-1</page-encoding> - <scripting-invalid>true</scripting-invalid> - <include-prelude>/jsp/jsp2/misc/prelude.jspf</include-prelude> - <include-coda>/jsp/jsp2/misc/coda.jspf</include-coda> - </jsp-property-group> - </jsp-config> - - <security-constraint> - <display-name>Example Security Constraint - part 1</display-name> - <web-resource-collection> - <web-resource-name>Protected Area - Allow methods</web-resource-name> - <!-- Define the context-relative URL(s) to be protected --> - <url-pattern>/jsp/security/protected/*</url-pattern> - <!-- If you list http methods, only those methods are protected so --> - <!-- the constraint below ensures all other methods are denied --> - <http-method>DELETE</http-method> - <http-method>GET</http-method> - <http-method>POST</http-method> - <http-method>PUT</http-method> - </web-resource-collection> - <auth-constraint> - <!-- Anyone with one of the listed roles may access this area --> - <role-name>tomcat</role-name> - <role-name>role1</role-name> - </auth-constraint> - </security-constraint> - <security-constraint> - <display-name>Example Security Constraint - part 2</display-name> - <web-resource-collection> - <web-resource-name>Protected Area - Deny methods</web-resource-name> - <!-- Define the context-relative URL(s) to be protected --> - <url-pattern>/jsp/security/protected/*</url-pattern> - <http-method-omission>DELETE</http-method-omission> - <http-method-omission>GET</http-method-omission> - <http-method-omission>POST</http-method-omission> - <http-method-omission>PUT</http-method-omission> - </web-resource-collection> - <!-- An empty auth constraint denies access --> - <auth-constraint /> - </security-constraint> - - <!-- Default login configuration uses form-based authentication --> - <login-config> - <auth-method>FORM</auth-method> - <realm-name>Example Form-Based Authentication Area</realm-name> - <form-login-config> - <form-login-page>/jsp/security/protected/login.jsp</form-login-page> - <form-error-page>/jsp/security/protected/error.jsp</form-error-page> - </form-login-config> - </login-config> - - <!-- Security roles referenced by this web application --> - <security-role> - <role-name>role1</role-name> - </security-role> - <security-role> - <role-name>tomcat</role-name> - </security-role> - - <!-- Environment entry examples --> - <!--env-entry> - <env-entry-description> - The maximum number of tax exemptions allowed to be set. - </env-entry-description> - <env-entry-name>maxExemptions</env-entry-name> - <env-entry-type>java.lang.Integer</env-entry-type> - <env-entry-value>15</env-entry-value> - </env-entry--> - <env-entry> - <env-entry-name>minExemptions</env-entry-name> - <env-entry-type>java.lang.Integer</env-entry-type> - <env-entry-value>1</env-entry-value> - </env-entry> - <env-entry> - <env-entry-name>foo/name1</env-entry-name> - <env-entry-type>java.lang.String</env-entry-type> - <env-entry-value>value1</env-entry-value> - </env-entry> - <env-entry> - <env-entry-name>foo/bar/name2</env-entry-name> - <env-entry-type>java.lang.Boolean</env-entry-type> - <env-entry-value>true</env-entry-value> - </env-entry> - <env-entry> - <env-entry-name>name3</env-entry-name> - <env-entry-type>java.lang.Integer</env-entry-type> - <env-entry-value>1</env-entry-value> - </env-entry> - <env-entry> - <env-entry-name>foo/name4</env-entry-name> - <env-entry-type>java.lang.Integer</env-entry-type> - <env-entry-value>10</env-entry-value> - </env-entry> - - <!-- Async examples --> - <servlet> - <servlet-name>async0</servlet-name> - <servlet-class>async.Async0</servlet-class> - <async-supported>true</async-supported> - </servlet> - <servlet-mapping> - <servlet-name>async0</servlet-name> - <url-pattern>/async/async0</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>async1</servlet-name> - <servlet-class>async.Async1</servlet-class> - <async-supported>true</async-supported> - </servlet> - <servlet-mapping> - <servlet-name>async1</servlet-name> - <url-pattern>/async/async1</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>async2</servlet-name> - <servlet-class>async.Async2</servlet-class> - <async-supported>true</async-supported> - </servlet> - <servlet-mapping> - <servlet-name>async2</servlet-name> - <url-pattern>/async/async2</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>async3</servlet-name> - <servlet-class>async.Async3</servlet-class> - <async-supported>true</async-supported> - </servlet> - <servlet-mapping> - <servlet-name>async3</servlet-name> - <url-pattern>/async/async3</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>stock</servlet-name> - <servlet-class>async.AsyncStockServlet</servlet-class> - <async-supported>true</async-supported> - </servlet> - <servlet-mapping> - <servlet-name>stock</servlet-name> - <url-pattern>/async/stockticker</url-pattern> - </servlet-mapping> - - <!-- Non-blocking IO examples --> - <servlet> - <servlet-name>bytecounter</servlet-name> - <servlet-class>nonblocking.ByteCounter</servlet-class> - <async-supported>true</async-supported> - </servlet> - <servlet-mapping> - <servlet-name>bytecounter</servlet-name> - <url-pattern>/servlets/nonblocking/bytecounter</url-pattern> - </servlet-mapping> - <servlet> - <servlet-name>numberwriter</servlet-name> - <servlet-class>nonblocking.NumberWriter</servlet-class> - <async-supported>true</async-supported> - </servlet> - <servlet-mapping> - <servlet-name>numberwriter</servlet-name> - <url-pattern>/servlets/nonblocking/numberwriter</url-pattern> - </servlet-mapping> - - <!-- Server Push examples --> - <servlet> - <servlet-name>simpleimagepush</servlet-name> - <servlet-class>http2.SimpleImagePush</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>simpleimagepush</servlet-name> - <url-pattern>/servlets/serverpush/simpleimage</url-pattern> - </servlet-mapping> - - <!-- Trailer examples --> - <servlet> - <servlet-name>responsetrailer</servlet-name> - <servlet-class>trailers.ResponseTrailers</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>responsetrailer</servlet-name> - <url-pattern>/servlets/trailers/response</url-pattern> - </servlet-mapping> - - <welcome-file-list> - <welcome-file>index.html</welcome-file> - <welcome-file>index.xhtml</welcome-file> - <welcome-file>index.htm</welcome-file> - <welcome-file>index.jsp</welcome-file> - </welcome-file-list> - - <!-- Websocket examples --> - <listener> - <listener-class>websocket.drawboard.DrawboardContextListener</listener-class> - </listener> - -</web-app> diff --git a/tomcat/webapps/examples/index.html b/tomcat/webapps/examples/index.html deleted file mode 100644 index 0799e10f7227885c731264ffe11c9bcafee11901..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/index.html +++ /dev/null @@ -1,30 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<!DOCTYPE HTML><html lang="en"><head> -<meta charset="UTF-8"> -<title>Apache Tomcat Examples</title> -</head> -<body> -<p> -<h3>Apache Tomcat Examples</H3> -<p></p> -<ul> -<li><a href="servlets">Servlets examples</a></li> -<li><a href="jsp">JSP Examples</a></li> -<li><a href="websocket/index.xhtml">WebSocket Examples</a></li> -</ul> -</body></html> diff --git a/tomcat/webapps/examples/jsp/async/async1.jsp b/tomcat/webapps/examples/jsp/async/async1.jsp deleted file mode 100644 index af88869eaca2839ee55f644a87aab3e4cf856e28..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/async/async1.jsp +++ /dev/null @@ -1,28 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page session="false" import="java.util.Date,java.text.SimpleDateFormat"%> -Output from async1.jsp -Type is <%=request.getDispatcherType()%> -<% - System.out.println("Inside Async 1"); - if (request.isAsyncStarted()) { - request.getAsyncContext().complete(); - } - Date date = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); -%> -Completed async request at <%=sdf.format(date)%> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/async/async1.jsp.html b/tomcat/webapps/examples/jsp/async/async1.jsp.html deleted file mode 100644 index 2244765eb11302def78d84b25b580e9061874ef6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/async/async1.jsp.html +++ /dev/null @@ -1,29 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page session="false" import="java.util.Date,java.text.SimpleDateFormat"%> -Output from async1.jsp -Type is <%=request.getDispatcherType()%> -<% - System.out.println("Inside Async 1"); - if (request.isAsyncStarted()) { - request.getAsyncContext().complete(); - } - Date date = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); -%> -Completed async request at <%=sdf.format(date)%> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/async/async3.jsp b/tomcat/webapps/examples/jsp/async/async3.jsp deleted file mode 100644 index 9d24e60194e246f537fed0dea425e35e97ba632a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/async/async3.jsp +++ /dev/null @@ -1,25 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page session="false" import="java.util.Date,java.text.SimpleDateFormat"%> -Output from async3.jsp -Type is <%=request.getDispatcherType()%> -<% - Date date = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); -%> - -Completed async 3 request at <%=sdf.format(date)%> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/async/async3.jsp.html b/tomcat/webapps/examples/jsp/async/async3.jsp.html deleted file mode 100644 index 6deced8523f2a2bdf2575ba10525533e90348c27..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/async/async3.jsp.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page session="false" import="java.util.Date,java.text.SimpleDateFormat"%> -Output from async3.jsp -Type is <%=request.getDispatcherType()%> -<% - Date date = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); -%> - -Completed async 3 request at <%=sdf.format(date)%> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/async/index.jsp b/tomcat/webapps/examples/jsp/async/index.jsp deleted file mode 100644 index be2d713639153d9146ca268bdd4bebc604973b6b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/async/index.jsp +++ /dev/null @@ -1,69 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page session="false"%> - -<pre> -Use cases: - -1. Simple dispatch - - servlet does startAsync() - - background thread calls ctx.dispatch() - <a href="<%=response.encodeURL("/examples/async/async0")%>"> Async 0 </a> - -2. Simple dispatch - - servlet does startAsync() - - background thread calls dispatch(/path/to/jsp) - <a href="<%=response.encodeURL("/examples/async/async1")%>"> Async 1 </a> - -3. Simple dispatch - - servlet does startAsync() - - background thread calls writes and calls complete() - <a href="<%=response.encodeURL("/examples/async/async2")%>"> Async 2 </a> - -4. Simple dispatch - - servlet does a startAsync() - - servlet calls dispatch(/path/to/jsp) - - servlet calls complete() - <a href="<%=response.encodeURL("/examples/async/async3")%>"> Async 3 </a> - -3. Timeout s1 - - servlet does a startAsync() - - servlet does a setAsyncTimeout - - returns - waits for timeout to happen should return error page - -4. Timeout s2 - - servlet does a startAsync() - - servlet does a setAsyncTimeout - - servlet does a addAsyncListener - - returns - waits for timeout to happen and listener invoked - -5. Dispatch to asyncSupported=false servlet - - servlet1 does a startAsync() - - servlet1 dispatches to dispatch(/servlet2) - - the container calls complete() after servlet2 is complete - - TODO - -6. Chained dispatch - - servlet1 does a startAsync - - servlet1 does a dispatch to servlet2 (asyncsupported=true) - - servlet2 does a dispatch to servlet3 (asyncsupported=true) - - servlet3 does a dispatch to servlet4 (asyncsupported=false) - - -7. Stock ticker - <a href="<%=response.encodeURL("/examples/async/stockticker")%>"> StockTicker </a> -</pre> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/async/index.jsp.html b/tomcat/webapps/examples/jsp/async/index.jsp.html deleted file mode 100644 index 778b6434faedb339f99b2f2e3230bf5bd8bb5222..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/async/index.jsp.html +++ /dev/null @@ -1,70 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page session="false"%> - -<pre> -Use cases: - -1. Simple dispatch - - servlet does startAsync() - - background thread calls ctx.dispatch() - <a href="<%=response.encodeURL("/examples/async/async0")%>"> Async 0 </a> - -2. Simple dispatch - - servlet does startAsync() - - background thread calls dispatch(/path/to/jsp) - <a href="<%=response.encodeURL("/examples/async/async1")%>"> Async 1 </a> - -3. Simple dispatch - - servlet does startAsync() - - background thread calls writes and calls complete() - <a href="<%=response.encodeURL("/examples/async/async2")%>"> Async 2 </a> - -4. Simple dispatch - - servlet does a startAsync() - - servlet calls dispatch(/path/to/jsp) - - servlet calls complete() - <a href="<%=response.encodeURL("/examples/async/async3")%>"> Async 3 </a> - -3. Timeout s1 - - servlet does a startAsync() - - servlet does a setAsyncTimeout - - returns - waits for timeout to happen should return error page - -4. Timeout s2 - - servlet does a startAsync() - - servlet does a setAsyncTimeout - - servlet does a addAsyncListener - - returns - waits for timeout to happen and listener invoked - -5. Dispatch to asyncSupported=false servlet - - servlet1 does a startAsync() - - servlet1 dispatches to dispatch(/servlet2) - - the container calls complete() after servlet2 is complete - - TODO - -6. Chained dispatch - - servlet1 does a startAsync - - servlet1 does a dispatch to servlet2 (asyncsupported=true) - - servlet2 does a dispatch to servlet3 (asyncsupported=true) - - servlet3 does a dispatch to servlet4 (asyncsupported=false) - - -7. Stock ticker - <a href="<%=response.encodeURL("/examples/async/stockticker")%>"> StockTicker </a> -</pre> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/cal/Entries.java.html b/tomcat/webapps/examples/jsp/cal/Entries.java.html deleted file mode 100644 index 03f9a0c16dc0f8bc940a2283f34cadf58ca18e38..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/Entries.java.html +++ /dev/null @@ -1,61 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cal; - -import java.util.Hashtable; - -import javax.servlet.http.HttpServletRequest; - -public class Entries { - - private final Hashtable<String, Entry> entries; - private static final String[] time = { "8am", "9am", "10am", "11am", - "12pm", "1pm", "2pm", "3pm", "4pm", "5pm", "6pm", "7pm", "8pm" }; - public static final int rows = 12; - - public Entries() { - entries = new Hashtable<>(rows); - for (int i = 0; i < rows; i++) { - entries.put(time[i], new Entry(time[i])); - } - } - - public int getRows() { - return rows; - } - - public Entry getEntry(int index) { - return this.entries.get(time[index]); - } - - public int getIndex(String tm) { - for (int i = 0; i < rows; i++) - if (tm.equals(time[i])) - return i; - return -1; - } - - public void processRequest(HttpServletRequest request, String tm) { - int index = getIndex(tm); - if (index >= 0) { - String descr = request.getParameter("description"); - entries.get(time[index]).setDescription(descr); - } - } - -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/cal/Entry.java.html b/tomcat/webapps/examples/jsp/cal/Entry.java.html deleted file mode 100644 index 7183a0ac26a5ca868126805a26f1c45ea1cf39a8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/Entry.java.html +++ /dev/null @@ -1,54 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package cal; - -public class Entry { - - final String hour; - String description; - - public Entry(String hour) { - this.hour = hour; - this.description = ""; - - } - - public String getHour() { - return this.hour; - } - - public String getColor() { - if (description.equals("")) { - return "lightblue"; - } - return "red"; - } - - public String getDescription() { - if (description.equals("")) { - return "None"; - } - return this.description; - } - - public void setDescription(String descr) { - description = descr; - } - -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/cal/JspCalendar.java.html b/tomcat/webapps/examples/jsp/cal/JspCalendar.java.html deleted file mode 100644 index 118996ee4f9278c2b89c84918728d5f0eefcfda0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/JspCalendar.java.html +++ /dev/null @@ -1,152 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -package cal; - -import java.util.Calendar; -import java.util.Date; - -public class JspCalendar { - final Calendar calendar; - - public JspCalendar() { - calendar = Calendar.getInstance(); - Date trialTime = new Date(); - calendar.setTime(trialTime); - } - - - public int getYear() { - return calendar.get(Calendar.YEAR); - } - - public String getMonth() { - int m = getMonthInt(); - String[] months = new String [] { "January", "February", "March", - "April", "May", "June", - "July", "August", "September", - "October", "November", "December" }; - if (m > 12) - return "Unknown to Man"; - - return months[m - 1]; - - } - - public String getDay() { - int x = getDayOfWeek(); - String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", - "Thursday", "Friday", "Saturday"}; - - if (x > 7) - return "Unknown to Man"; - - return days[x - 1]; - - } - - public int getMonthInt() { - return 1 + calendar.get(Calendar.MONTH); - } - - public String getDate() { - return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear(); - } - - public String getCurrentDate() { - Date dt = new Date (); - calendar.setTime (dt); - return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear(); - - } - - public String getNextDate() { - calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1); - return getDate (); - } - - public String getPrevDate() { - calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1); - return getDate (); - } - - public String getTime() { - return getHour() + ":" + getMinute() + ":" + getSecond(); - } - - public int getDayOfMonth() { - return calendar.get(Calendar.DAY_OF_MONTH); - } - - public int getDayOfYear() { - return calendar.get(Calendar.DAY_OF_YEAR); - } - - public int getWeekOfYear() { - return calendar.get(Calendar.WEEK_OF_YEAR); - } - - public int getWeekOfMonth() { - return calendar.get(Calendar.WEEK_OF_MONTH); - } - - public int getDayOfWeek() { - return calendar.get(Calendar.DAY_OF_WEEK); - } - - public int getHour() { - return calendar.get(Calendar.HOUR_OF_DAY); - } - - public int getMinute() { - return calendar.get(Calendar.MINUTE); - } - - - public int getSecond() { - return calendar.get(Calendar.SECOND); - } - - - public int getEra() { - return calendar.get(Calendar.ERA); - } - - public String getUSTimeZone() { - String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific", - "Mountain", "Central", "Eastern"}; - - return zones[10 + getZoneOffset()]; - } - - public int getZoneOffset() { - return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000); - } - - - public int getDSTOffset() { - return calendar.get(Calendar.DST_OFFSET)/(60*60*1000); - } - - - public int getAMPM() { - return calendar.get(Calendar.AM_PM); - } -} - - -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/cal/TableBean.java.html b/tomcat/webapps/examples/jsp/cal/TableBean.java.html deleted file mode 100644 index 00a8a04a184e4a4f6d85ec316ce0ec455a1ca19f..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/TableBean.java.html +++ /dev/null @@ -1,102 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cal; - -import java.util.Hashtable; - -import javax.servlet.http.HttpServletRequest; - -public class TableBean { - - final Hashtable<String, Entries> table; - final JspCalendar JspCal; - Entries entries; - String date; - String name = null; - String email = null; - boolean processError = false; - - public TableBean() { - this.table = new Hashtable<>(10); - this.JspCal = new JspCalendar(); - this.date = JspCal.getCurrentDate(); - } - - public void setName(String nm) { - this.name = nm; - } - - public String getName() { - return this.name; - } - - public void setEmail(String mail) { - this.email = mail; - } - - public String getEmail() { - return this.email; - } - - public String getDate() { - return this.date; - } - - public Entries getEntries() { - return this.entries; - } - - public void processRequest(HttpServletRequest request) { - - // Get the name and e-mail. - this.processError = false; - if (name == null || name.equals("")) - setName(request.getParameter("name")); - if (email == null || email.equals("")) - setEmail(request.getParameter("email")); - if (name == null || email == null || name.equals("") - || email.equals("")) { - this.processError = true; - return; - } - - // Get the date. - String dateR = request.getParameter("date"); - if (dateR == null) - date = JspCal.getCurrentDate(); - else if (dateR.equalsIgnoreCase("next")) - date = JspCal.getNextDate(); - else if (dateR.equalsIgnoreCase("prev")) - date = JspCal.getPrevDate(); - - entries = table.get(date); - if (entries == null) { - entries = new Entries(); - table.put(date, entries); - } - - // If time is provided add the event. - String time = request.getParameter("time"); - if (time != null) - entries.processRequest(request, time); - } - - public boolean getProcessError() { - return this.processError; - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/cal/cal1.jsp b/tomcat/webapps/examples/jsp/cal/cal1.jsp deleted file mode 100644 index e6b8a49d0c9eb169f8a46735f87d7680b6da9140..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/cal1.jsp +++ /dev/null @@ -1,94 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<HTML> -<HEAD><TITLE> - Calendar: A JSP APPLICATION -</TITLE></HEAD> - - -<BODY BGCOLOR="white"> - -<%@ page language="java" import="cal.*" %> -<jsp:useBean id="table" scope="session" class="cal.TableBean" /> - -<% - table.processRequest(request); - if (table.getProcessError() == false) { -%> - -<!-- html table goes here --> -<CENTER> -<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15> -<TR> -<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=prev> prev </A> -<TD ALIGN=CENTER> Calendar:<%= table.getDate() %></TD> -<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=next> next </A> -</TR> -</TABLE> - -<!-- the main table --> -<TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10> -<TR> -<TH> Time </TH> -<TH> Appointment </TH> -</TR> -<FORM METHOD=POST ACTION=cal1.jsp> -<% - for(int i=0; i<table.getEntries().getRows(); i++) { - cal.Entry entr = table.getEntries().getEntry(i); -%> - <TR> - <TD> - <A HREF=cal2.jsp?time=<%= entr.getHour() %>> - <%= entr.getHour() %> </A> - </TD> - <TD BGCOLOR=<%= entr.getColor() %>> - <% out.print(util.HTMLFilter.filter(entr.getDescription())); %> - </TD> - </TR> -<% - } -%> -</FORM> -</TABLE> -<BR> - -<!-- footer --> -<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15> -<TR> -<TD ALIGN=CENTER> <% out.print(util.HTMLFilter.filter(table.getName())); %> : - <% out.print(util.HTMLFilter.filter(table.getEmail())); %> </TD> -</TR> -</TABLE> -</CENTER> - -<% - } else { -%> -<font size=5> - You must enter your name and email address correctly. -</font> -<% - } -%> - - -</BODY> -</HTML> - - diff --git a/tomcat/webapps/examples/jsp/cal/cal1.jsp.html b/tomcat/webapps/examples/jsp/cal/cal1.jsp.html deleted file mode 100644 index 7daddf010de3652aca82e2e7888ae5dcd17283b3..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/cal1.jsp.html +++ /dev/null @@ -1,95 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<HTML> -<HEAD><TITLE> - Calendar: A JSP APPLICATION -</TITLE></HEAD> - - -<BODY BGCOLOR="white"> - -<%@ page language="java" import="cal.*" %> -<jsp:useBean id="table" scope="session" class="cal.TableBean" /> - -<% - table.processRequest(request); - if (table.getProcessError() == false) { -%> - -<!-- html table goes here --> -<CENTER> -<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15> -<TR> -<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=prev> prev </A> -<TD ALIGN=CENTER> Calendar:<%= table.getDate() %></TD> -<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=next> next </A> -</TR> -</TABLE> - -<!-- the main table --> -<TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10> -<TR> -<TH> Time </TH> -<TH> Appointment </TH> -</TR> -<FORM METHOD=POST ACTION=cal1.jsp> -<% - for(int i=0; i<table.getEntries().getRows(); i++) { - cal.Entry entr = table.getEntries().getEntry(i); -%> - <TR> - <TD> - <A HREF=cal2.jsp?time=<%= entr.getHour() %>> - <%= entr.getHour() %> </A> - </TD> - <TD BGCOLOR=<%= entr.getColor() %>> - <% out.print(util.HTMLFilter.filter(entr.getDescription())); %> - </TD> - </TR> -<% - } -%> -</FORM> -</TABLE> -<BR> - -<!-- footer --> -<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15> -<TR> -<TD ALIGN=CENTER> <% out.print(util.HTMLFilter.filter(table.getName())); %> : - <% out.print(util.HTMLFilter.filter(table.getEmail())); %> </TD> -</TR> -</TABLE> -</CENTER> - -<% - } else { -%> -<font size=5> - You must enter your name and email address correctly. -</font> -<% - } -%> - - -</BODY> -</HTML> - - -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/cal/cal2.jsp b/tomcat/webapps/examples/jsp/cal/cal2.jsp deleted file mode 100644 index e7e14d8e0468825cc23b95a8c332c8990acfd873..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/cal2.jsp +++ /dev/null @@ -1,45 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<HTML> -<HEAD><TITLE> - Calendar: A JSP APPLICATION -</TITLE></HEAD> - - -<BODY BGCOLOR="white"> -<jsp:useBean id="table" scope="session" class="cal.TableBean" /> - -<% - String time = request.getParameter ("time"); -%> - -<FONT SIZE=5> Please add the following event: -<BR> <h3> Date <%= table.getDate() %> -<BR> Time <%= util.HTMLFilter.filter(time) %> </h3> -</FONT> -<FORM METHOD=POST ACTION=cal1.jsp> -<BR> -<BR> <INPUT NAME="date" TYPE=HIDDEN VALUE="current"> -<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE="<%= util.HTMLFilter.filter(time) %>"> -<BR> <h2> Description of the event <INPUT NAME="description" TYPE=TEXT SIZE=20> </h2> -<BR> <INPUT TYPE=SUBMIT VALUE="submit"> -</FORM> - -</BODY> -</HTML> - diff --git a/tomcat/webapps/examples/jsp/cal/cal2.jsp.html b/tomcat/webapps/examples/jsp/cal/cal2.jsp.html deleted file mode 100644 index 2cc191bc35ba4f09dcbfa770e25cc50bd8191a8f..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/cal2.jsp.html +++ /dev/null @@ -1,46 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<HTML> -<HEAD><TITLE> - Calendar: A JSP APPLICATION -</TITLE></HEAD> - - -<BODY BGCOLOR="white"> -<jsp:useBean id="table" scope="session" class="cal.TableBean" /> - -<% - String time = request.getParameter ("time"); -%> - -<FONT SIZE=5> Please add the following event: -<BR> <h3> Date <%= table.getDate() %> -<BR> Time <%= util.HTMLFilter.filter(time) %> </h3> -</FONT> -<FORM METHOD=POST ACTION=cal1.jsp> -<BR> -<BR> <INPUT NAME="date" TYPE=HIDDEN VALUE="current"> -<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE="<%= util.HTMLFilter.filter(time) %>"> -<BR> <h2> Description of the event <INPUT NAME="description" TYPE=TEXT SIZE=20> </h2> -<BR> <INPUT TYPE=SUBMIT VALUE="submit"> -</FORM> - -</BODY> -</HTML> - -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/cal/calendar.html b/tomcat/webapps/examples/jsp/cal/calendar.html deleted file mode 100644 index a0a3ea1841341fbd612d633dc5bed3f0171b1c36..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/calendar.html +++ /dev/null @@ -1,43 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="login.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h2> Source Code for Calendar Example. <br> -<h3><a href="cal1.jsp.html">cal1.jsp<font color="#0000FF"></a> - </font> </h3> -<h3><a href="cal2.jsp.html">cal2.jsp<font color="#0000FF"></a> - </font> </h3> - -<br> -<h2> Beans. -<h3><a href="TableBean.java.html">TableBean<font color="#0000FF"></a> - </font> </h3> -<h3><a href="Entries.java.html">Entries<font color="#0000FF"></a> - </font> </h3> -<h3><a href="Entry.java.html">Entry<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/cal/login.html b/tomcat/webapps/examples/jsp/cal/login.html deleted file mode 100644 index 2c4aa55e0f7c4db170cf4586cc107a523cdc2942..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/cal/login.html +++ /dev/null @@ -1,47 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> - <title> Login page for the calendar. </title> -</head> - -<body bgcolor="white"> -<center> - - <font size=7 color="red"> Please Enter the following information: </font> - -<br> - <form method=GET action=cal1.jsp> - - <font size=5> Name <input type=text name="name" size=20> - </font> - <br> - <font size=5> Email <input type=text name="email" size=20> - </font> - <br> - <input type=submit name=action value="Submit"> - - </form> -<hr> -<font size=3 color="red"> Note: This application does not implement the complete -functionality of a typical calendar application. It demonstrates a way JSP can -be used with html tables and forms.</font> - -</center> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/checkbox/CheckTest.html b/tomcat/webapps/examples/jsp/checkbox/CheckTest.html deleted file mode 100644 index 284d9ec3bce21f36e67d6eb2691c73eb22aa55e6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/checkbox/CheckTest.html +++ /dev/null @@ -1,56 +0,0 @@ -<HTML> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<HEAD> -<title> -checkbox.CheckTest Bean Properties -</title> -<BODY BGCOLOR="white"> -<H2> -checkbox.CheckTest Bean Properties -</H2> -<HR> -<DL> -<DT>public class <B>CheckTest</B><DT>extends Object</DL> - -<P> -<HR> - -<P> - -<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0"> -<TR BGCOLOR="#EEEEFF"> -<TD COLSPAN=3><FONT SIZE="+2"> -<B>Properties Summary</B></FONT></TD> -</TR> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -String -</FONT></TD> -<TD><B>CheckTest:fruit</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Multi -</FONT></TD> -</TABLE> -<HR> -</BODY> -</HTML> diff --git a/tomcat/webapps/examples/jsp/checkbox/check.html b/tomcat/webapps/examples/jsp/checkbox/check.html deleted file mode 100644 index b6d6b3bc1b3c09d8db7c8474c24861eb6fdd8cf7..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/checkbox/check.html +++ /dev/null @@ -1,38 +0,0 @@ -<HTML> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<BODY bgcolor="white"> - - -<FORM TYPE=POST ACTION=checkresult.jsp> -<BR> -<font size=5 color="red"> -Check all Favorite fruits: <br> - -<input TYPE=checkbox name=fruit VALUE=apples> Apples <BR> -<input TYPE=checkbox name=fruit VALUE=grapes> Grapes <BR> -<input TYPE=checkbox name=fruit VALUE=oranges> Oranges <BR> -<input TYPE=checkbox name=fruit VALUE=melons> Melons <BR> - - -<br> <INPUT TYPE=submit name=submit Value="Submit"> - -</font> -</FORM> -</BODY> -</HTML> diff --git a/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp b/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp deleted file mode 100644 index a8400e9944032f870559a81ae01f9c05262b4269..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp +++ /dev/null @@ -1,63 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> -<font size=5 color="red"> -<%! String[] fruits; %> -<jsp:useBean id="foo" scope="page" class="checkbox.CheckTest" /> - -<jsp:setProperty name="foo" property="fruit" param="fruit" /> -<hr> -The checked fruits (got using request) are: <br> -<% - fruits = request.getParameterValues("fruit"); -%> -<ul> -<% - if (fruits != null) { - for (int i = 0; i < fruits.length; i++) { -%> -<li> -<% - out.println (util.HTMLFilter.filter(fruits[i])); - } - } else out.println ("none selected"); -%> -</ul> -<br> -<hr> - -The checked fruits (got using beans) are <br> - -<% - fruits = foo.getFruit(); -%> -<ul> -<% - if (!fruits[0].equals("1")) { - for (int i = 0; i < fruits.length; i++) { -%> -<li> -<% - out.println (util.HTMLFilter.filter(fruits[i])); - } - } else out.println ("none selected"); -%> -</ul> -</font> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp.html b/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp.html deleted file mode 100644 index 4dd0d9ba0e9b4b372823b7e4f8b4fa5fd2ce11aa..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/checkbox/checkresult.jsp.html +++ /dev/null @@ -1,64 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> -<font size=5 color="red"> -<%! String[] fruits; %> -<jsp:useBean id="foo" scope="page" class="checkbox.CheckTest" /> - -<jsp:setProperty name="foo" property="fruit" param="fruit" /> -<hr> -The checked fruits (got using request) are: <br> -<% - fruits = request.getParameterValues("fruit"); -%> -<ul> -<% - if (fruits != null) { - for (int i = 0; i < fruits.length; i++) { -%> -<li> -<% - out.println (util.HTMLFilter.filter(fruits[i])); - } - } else out.println ("none selected"); -%> -</ul> -<br> -<hr> - -The checked fruits (got using beans) are <br> - -<% - fruits = foo.getFruit(); -%> -<ul> -<% - if (!fruits[0].equals("1")) { - for (int i = 0; i < fruits.length; i++) { -%> -<li> -<% - out.println (util.HTMLFilter.filter(fruits[i])); - } - } else out.println ("none selected"); -%> -</ul> -</font> -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/checkbox/cresult.html b/tomcat/webapps/examples/jsp/checkbox/cresult.html deleted file mode 100644 index b6a28d6645fcbaedc7666e9e88d068fbd1fdaa09..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/checkbox/cresult.html +++ /dev/null @@ -1,34 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="check.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="checkresult.jsp.html">Source Code for Checkbox Example<font color="#0000FF"></a> - </font> </h3> - -<h3><a href="CheckTest.html">Property Sheet for CheckTest -<font color="#0000FF"></a> </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/colors/ColorGameBean.html b/tomcat/webapps/examples/jsp/colors/ColorGameBean.html deleted file mode 100644 index 172bc6646b2664e88fdce6c17607d4acede0a6ca..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/colors/ColorGameBean.html +++ /dev/null @@ -1,116 +0,0 @@ -<HTML> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<HEAD> -<title> -colors.ColorGameBean Bean Properties -</title> -<BODY BGCOLOR="white"> -<H2> -colors.ColorGameBean Bean Properties -</H2> -<HR> -<DL> -<DT>public class <B>ColorGameBean</B><DT>extends Object</DL> - -<P> -<HR> - -<P> - -<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0"> -<TR BGCOLOR="#EEEEFF"> -<TD COLSPAN=3><FONT SIZE="+2"> -<B>Properties Summary</B></FONT></TD> -</TR> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -String -</FONT></TD> -<TD><B>ColorGameBean:color2</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Single -</FONT></TD> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -String -</FONT></TD> -<TD><B>ColorGameBean:color1</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Single -</FONT></TD> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -int -</FONT></TD> -<TD><B>ColorGameBean:attempts</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Single -</FONT></TD> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -boolean -</FONT></TD> -<TD><B>ColorGameBean:hint</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Single -</FONT></TD> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -boolean -</FONT></TD> -<TD><B>ColorGameBean:success</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Single -</FONT></TD> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -boolean -</FONT></TD> -<TD><B>ColorGameBean:hintTaken</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Single -</FONT></TD> -</TABLE> -<HR> -</BODY> -</HTML> diff --git a/tomcat/webapps/examples/jsp/colors/clr.html b/tomcat/webapps/examples/jsp/colors/clr.html deleted file mode 100644 index e411f597d22d86c6d9919ab19ebddef30da7cbee..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/colors/clr.html +++ /dev/null @@ -1,34 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="colors.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="colrs.jsp.html">Source Code for Color Example<font color="#0000FF"></a> - </font> </h3> - -<h3><a href="ColorGameBean.html">Property Sheet for ColorGameBean -<font color="#0000FF"></a> </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/colors/colors.html b/tomcat/webapps/examples/jsp/colors/colors.html deleted file mode 100644 index 900651e2c6db1a40892cad4562404b37f60167c1..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/colors/colors.html +++ /dev/null @@ -1,47 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<body bgcolor= white> -<font size=6 color=red> - -<hr> -This web page is an example using JSP and BEANs. -<p> -Guess my favorite two colors - -<p> If you fail to guess both of them - you get yellow on red. - -<p> If you guess one of them right, either your foreground or - your background will change to the color that was guessed right. - -<p> Guess them both right and your browser foreground/background - will change to my two favorite colors to display this page. - -<hr> -<form method=GET action=colrs.jsp> -Color #1: <input type=text name= color1 size=16> -<br> -Color #2: <input type=text name= color2 size=16> -<p> -<input type=submit name=action value="Submit"> -<input type=submit name=action value="Hint"> -</form> - -</font> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/colors/colrs.jsp b/tomcat/webapps/examples/jsp/colors/colrs.jsp deleted file mode 100644 index ec3af887c4fd3f744c6c99f48caf250621855b5d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/colors/colrs.jsp +++ /dev/null @@ -1,70 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<jsp:useBean id="cb" scope="session" class="colors.ColorGameBean" /> -<jsp:setProperty name="cb" property="*" /> - -<% - cb.processRequest(); -%> - -<body bgcolor=<%= cb.getColor1() %>> -<font size=6 color=<%= cb.getColor2() %>> -<p> - -<% if (cb.getHint()==true) { %> - - <p> Hint #1: Vampires prey at night! - <p> <p> Hint #2: Nancy without the n. - -<% } %> - -<% if (cb.getSuccess()==true) { %> - - <p> CONGRATULATIONS!! - <% if (cb.getHintTaken()==true) { %> - - <p> ( although I know you cheated and peeked into the hints) - - <% } %> - -<% } %> - -<p> Total attempts so far: <%= cb.getAttempts() %> -<p> - -<p> - -<form method=POST action=colrs.jsp> - -Color #1: <input type=text name= color1 size=16> - -<br> - -Color #2: <input type=text name= color2 size=16> - -<p> - -<input type=submit name=action value="Submit"> -<input type=submit name=action value="Hint"> - -</form> - -</font> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/colors/colrs.jsp.html b/tomcat/webapps/examples/jsp/colors/colrs.jsp.html deleted file mode 100644 index 7ef38aecfd57850129d9e469d2943ab001e0424b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/colors/colrs.jsp.html +++ /dev/null @@ -1,71 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<jsp:useBean id="cb" scope="session" class="colors.ColorGameBean" /> -<jsp:setProperty name="cb" property="*" /> - -<% - cb.processRequest(); -%> - -<body bgcolor=<%= cb.getColor1() %>> -<font size=6 color=<%= cb.getColor2() %>> -<p> - -<% if (cb.getHint()==true) { %> - - <p> Hint #1: Vampires prey at night! - <p> <p> Hint #2: Nancy without the n. - -<% } %> - -<% if (cb.getSuccess()==true) { %> - - <p> CONGRATULATIONS!! - <% if (cb.getHintTaken()==true) { %> - - <p> ( although I know you cheated and peeked into the hints) - - <% } %> - -<% } %> - -<p> Total attempts so far: <%= cb.getAttempts() %> -<p> - -<p> - -<form method=POST action=colrs.jsp> - -Color #1: <input type=text name= color1 size=16> - -<br> - -Color #2: <input type=text name= color2 size=16> - -<p> - -<input type=submit name=action value="Submit"> -<input type=submit name=action value="Hint"> - -</form> - -</font> -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/dates/date.html b/tomcat/webapps/examples/jsp/dates/date.html deleted file mode 100644 index 683ab4d2a06a2f57a0b7e04d5b664bda562e4116..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/dates/date.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="date.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="date.jsp.html">Source Code for Date Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/dates/date.jsp b/tomcat/webapps/examples/jsp/dates/date.jsp deleted file mode 100644 index d6c6b8664ce35671e5e9ad0867b5a0b2e34b065f..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/dates/date.jsp +++ /dev/null @@ -1,41 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<%@ page session="false"%> - -<body bgcolor="white"> -<jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" /> - -<font size=4> -<ul> -<li> Day of month: is <jsp:getProperty name="clock" property="dayOfMonth"/> -<li> Year: is <jsp:getProperty name="clock" property="year"/> -<li> Month: is <jsp:getProperty name="clock" property="month"/> -<li> Time: is <jsp:getProperty name="clock" property="time"/> -<li> Date: is <jsp:getProperty name="clock" property="date"/> -<li> Day: is <jsp:getProperty name="clock" property="day"/> -<li> Day Of Year: is <jsp:getProperty name="clock" property="dayOfYear"/> -<li> Week Of Year: is <jsp:getProperty name="clock" property="weekOfYear"/> -<li> era: is <jsp:getProperty name="clock" property="era"/> -<li> DST Offset: is <jsp:getProperty name="clock" property="DSTOffset"/> -<li> Zone Offset: is <jsp:getProperty name="clock" property="zoneOffset"/> -</ul> -</font> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/dates/date.jsp.html b/tomcat/webapps/examples/jsp/dates/date.jsp.html deleted file mode 100644 index 3f2abfc4c7596d8d5484e43b22127420473896af..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/dates/date.jsp.html +++ /dev/null @@ -1,42 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<%@ page session="false"%> - -<body bgcolor="white"> -<jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" /> - -<font size=4> -<ul> -<li> Day of month: is <jsp:getProperty name="clock" property="dayOfMonth"/> -<li> Year: is <jsp:getProperty name="clock" property="year"/> -<li> Month: is <jsp:getProperty name="clock" property="month"/> -<li> Time: is <jsp:getProperty name="clock" property="time"/> -<li> Date: is <jsp:getProperty name="clock" property="date"/> -<li> Day: is <jsp:getProperty name="clock" property="day"/> -<li> Day Of Year: is <jsp:getProperty name="clock" property="dayOfYear"/> -<li> Week Of Year: is <jsp:getProperty name="clock" property="weekOfYear"/> -<li> era: is <jsp:getProperty name="clock" property="era"/> -<li> DST Offset: is <jsp:getProperty name="clock" property="DSTOffset"/> -<li> Zone Offset: is <jsp:getProperty name="clock" property="zoneOffset"/> -</ul> -</font> - -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/error/er.html b/tomcat/webapps/examples/jsp/error/er.html deleted file mode 100644 index af78159dda604e48e62fc803f324ca8b787fd7d9..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/error/er.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="error.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="err.jsp.html">Source Code for Error Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/error/err.jsp b/tomcat/webapps/examples/jsp/error/err.jsp deleted file mode 100644 index d188456b30403024e670b3e125d4446afdfda22e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/error/err.jsp +++ /dev/null @@ -1,44 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="lightblue"> - - <%@ page errorPage="errorpge.jsp" %> - <jsp:useBean id="foo" scope="request" class="error.Smart" /> - <% - String name = null; - - if (request.getParameter("name") == null) { - %> - <%@ include file="error.html" %> - <% - } else { - foo.setName(request.getParameter("name")); - if (foo.getName().equalsIgnoreCase("integra")) - name = "acura"; - if (name.equalsIgnoreCase("acura")) { - %> - - <H1> Yes!!! <a href="http://www.acura.com">Acura</a> is my favorite car. - - <% - } - } - %> -</body> -</html> - diff --git a/tomcat/webapps/examples/jsp/error/err.jsp.html b/tomcat/webapps/examples/jsp/error/err.jsp.html deleted file mode 100644 index 3d607a5c90131afc389176e59a0071aab68fdf5c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/error/err.jsp.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="lightblue"> - - <%@ page errorPage="errorpge.jsp" %> - <jsp:useBean id="foo" scope="request" class="error.Smart" /> - <% - String name = null; - - if (request.getParameter("name") == null) { - %> - <%@ include file="error.html" %> - <% - } else { - foo.setName(request.getParameter("name")); - if (foo.getName().equalsIgnoreCase("integra")) - name = "acura"; - if (name.equalsIgnoreCase("acura")) { - %> - - <H1> Yes!!! <a href="http://www.acura.com">Acura</a> is my favorite car. - - <% - } - } - %> -</body> -</html> - -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/error/error.html b/tomcat/webapps/examples/jsp/error/error.html deleted file mode 100644 index b1b029c90a8ac8fdeb4d4353a02012b052f727ae..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/error/error.html +++ /dev/null @@ -1,37 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<body bgcolor="white"> - -<h1> This example uses <b>errorpage</b> directive </h1> -<br> -<h3> Select my favourite car.</h3> -<form method=get action=err.jsp> -<!-- <br> Make a guess: --> -<SELECT NAME="name" SIZE=5> -<OPTION VALUE="integra"> Acura Integra <BR> -<OPTION VALUE="bmw328i"> BMW 328I <BR> -<OPTION VALUE="z3"> BMW Z3 <BR> -<OPTION VALUE="infiniti"> InfinitiQ3 <BR> -<OPTION VALUE="audi"> Audi A8 <BR> -</SELECT> -<br> <INPUT TYPE=submit name=submit Value="Submit"> -</form> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/error/errorpge.jsp b/tomcat/webapps/examples/jsp/error/errorpge.jsp deleted file mode 100644 index 5c6eb0a38718b7eb4e2b359fbc0e19d4f1cb069a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/error/errorpge.jsp +++ /dev/null @@ -1,25 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<body bgcolor="red"> - - <%@ page isErrorPage="true" %> - <h1> The exception <%= exception.getMessage() %> tells me you - made a wrong choice. -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/error/errorpge.jsp.html b/tomcat/webapps/examples/jsp/error/errorpge.jsp.html deleted file mode 100644 index 3d690dc96df6098eeebfd05878d0f736822fee59..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/error/errorpge.jsp.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<body bgcolor="red"> - - <%@ page isErrorPage="true" %> - <h1> The exception <%= exception.getMessage() %> tells me you - made a wrong choice. -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/forward/forward.jsp b/tomcat/webapps/examples/jsp/forward/forward.jsp deleted file mode 100644 index 092d9b4c73a29de06f023d5c66fff343862494cd..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/forward/forward.jsp +++ /dev/null @@ -1,33 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<% - double freeMem = Runtime.getRuntime().freeMemory(); - double totlMem = Runtime.getRuntime().totalMemory(); - double percent = freeMem/totlMem; - if (percent < 0.5) { -%> - -<jsp:forward page="one.jsp"/> - -<% } else { %> - -<jsp:forward page="two.html"/> - -<% } %> - -</html> diff --git a/tomcat/webapps/examples/jsp/forward/forward.jsp.html b/tomcat/webapps/examples/jsp/forward/forward.jsp.html deleted file mode 100644 index 32f8bf72903c9a6657eeda670da4d93f5d03bbdc..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/forward/forward.jsp.html +++ /dev/null @@ -1,34 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<% - double freeMem = Runtime.getRuntime().freeMemory(); - double totlMem = Runtime.getRuntime().totalMemory(); - double percent = freeMem/totlMem; - if (percent < 0.5) { -%> - -<jsp:forward page="one.jsp"/> - -<% } else { %> - -<jsp:forward page="two.html"/> - -<% } %> - -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/forward/fwd.html b/tomcat/webapps/examples/jsp/forward/fwd.html deleted file mode 100644 index b3b0219fc903c6fc9423b5c32bc89b38cdf92b26..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/forward/fwd.html +++ /dev/null @@ -1,30 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="forward.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="forward.jsp.html">Source Code for Forward Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/forward/one.jsp b/tomcat/webapps/examples/jsp/forward/one.jsp deleted file mode 100644 index c7f0004aa6f9164429ee276cbaf7892705a59777..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/forward/one.jsp +++ /dev/null @@ -1,23 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<body bgcolor="white"> -<font color="red"> - -VM Memory usage < 50%. -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/forward/one.jsp.html b/tomcat/webapps/examples/jsp/forward/one.jsp.html deleted file mode 100644 index af185012c332fdfa180b218ddfa3db08eea22b4a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/forward/one.jsp.html +++ /dev/null @@ -1,24 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<body bgcolor="white"> -<font color="red"> - -VM Memory usage &lt; 50%. -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/forward/two.html b/tomcat/webapps/examples/jsp/forward/two.html deleted file mode 100644 index 24f4c08f041e57b6b94fff0603edb7e32b0c3581..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/forward/two.html +++ /dev/null @@ -1,23 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<body bgcolor="white"> -<font color="red"> - -VM Memory usage > 50%. -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/images/code.gif b/tomcat/webapps/examples/jsp/images/code.gif deleted file mode 100644 index 93af2cd130aa61cb2f235cdd6f0e75ab444819ef..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/jsp/images/code.gif and /dev/null differ diff --git a/tomcat/webapps/examples/jsp/images/execute.gif b/tomcat/webapps/examples/jsp/images/execute.gif deleted file mode 100644 index f64d70fd233d6fb3fcbdeedc02061871984f8fb5..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/jsp/images/execute.gif and /dev/null differ diff --git a/tomcat/webapps/examples/jsp/images/return.gif b/tomcat/webapps/examples/jsp/images/return.gif deleted file mode 100644 index af4f68f4a3a13e0ef1dc0045b04c2c93354cdf40..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/jsp/images/return.gif and /dev/null differ diff --git a/tomcat/webapps/examples/jsp/include/foo.html b/tomcat/webapps/examples/jsp/include/foo.html deleted file mode 100644 index 168c8c852f19cb367ec37e05a41c34dfee6ae293..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/include/foo.html +++ /dev/null @@ -1,17 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -To get the current time in ms diff --git a/tomcat/webapps/examples/jsp/include/foo.jsp b/tomcat/webapps/examples/jsp/include/foo.jsp deleted file mode 100644 index bb476c78e9341fa292c27b00157d93ae6a1092b0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/include/foo.jsp +++ /dev/null @@ -1,17 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---%><%= System.currentTimeMillis() %> diff --git a/tomcat/webapps/examples/jsp/include/foo.jsp.html b/tomcat/webapps/examples/jsp/include/foo.jsp.html deleted file mode 100644 index 2a1ac7b04ba8b20b7f9b6f345244b959572db9cb..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/include/foo.jsp.html +++ /dev/null @@ -1,18 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---%><%= System.currentTimeMillis() %> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/include/inc.html b/tomcat/webapps/examples/jsp/include/inc.html deleted file mode 100644 index fedaed0918e41fecca0b2b69823cf31bf7d8bcbe..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/include/inc.html +++ /dev/null @@ -1,30 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="include.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="include.jsp.html">Source Code for Include Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/include/include.jsp b/tomcat/webapps/examples/jsp/include/include.jsp deleted file mode 100644 index 62a8c2247177c00b63c9beadee74d39db38fadbb..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/include/include.jsp +++ /dev/null @@ -1,30 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<body bgcolor="white"> - -<font color="red"> - -<%@ page buffer="5kb" autoFlush="false" %> - -<p>In place evaluation of another JSP which gives you the current time: <%@ include file="foo.jsp" %> - -<p> <jsp:include page="foo.html" flush="true"/> by including the output of another JSP: <jsp:include page="foo.jsp" flush="true"/> -:-) - -</html> diff --git a/tomcat/webapps/examples/jsp/include/include.jsp.html b/tomcat/webapps/examples/jsp/include/include.jsp.html deleted file mode 100644 index 4f529c16d8f0bb4cca3cb20e6b39c6505891d677..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/include/include.jsp.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - -<body bgcolor="white"> - -<font color="red"> - -<%@ page buffer="5kb" autoFlush="false" %> - -<p>In place evaluation of another JSP which gives you the current time: <%@ include file="foo.jsp" %> - -<p> <jsp:include page="foo.html" flush="true"/> by including the output of another JSP: <jsp:include page="foo.jsp" flush="true"/> -:-) - -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/index.html b/tomcat/webapps/examples/jsp/index.html deleted file mode 100644 index 27d53a197e13cc5264f4f4c2b76350578c6ff406..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/index.html +++ /dev/null @@ -1,369 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<!DOCTYPE html><html lang="en"> -<head> - <meta charset="UTF-8"/> - <meta name="Author" content="Anil K. Vijendran" /> - <title>JSP Examples</title> - <style type="text/css"> - img { border: 0; } - th { text-align: left; } - tr { vertical-align: top; } - </style> -</head> -<body> -<h1>JSP -Samples</h1> -<p>This is a collection of samples demonstrating the usage of different -parts of the Java Server Pages (JSP) specification. Both JSP 2.0 and -JSP 1.2 examples are presented below. -<p>These examples will only work when these pages are being served by a -servlet engine; of course, we recommend -<a href="http://tomcat.apache.org/">Tomcat</a>. -They will not work if you are viewing these pages via a -"file://..." URL. -<p>To navigate your way through the examples, the following icons will -help:</p> -<ul style="list-style-type: none; padding-left: 0;"> -<li><img src="images/execute.gif" alt=""> Execute the example</li> -<li><img src="images/code.gif" alt=""> Look at the source code for the example</li> -<li><img src="images/return.gif" alt=""> Return to this screen</li> -</ul> - -<p>Tip: For session scoped beans to work, the cookies must be enabled. -This can be done using browser options.</p> -<h2>JSP 2.0 Examples</h2> - -<table style="width: 85%;"> -<tr> -<th colspan="3">Expression Language</th> -</tr> - -<tr> -<td>Basic Arithmetic</td> -<td style="width: 30%;"><a href="jsp2/el/basic-arithmetic.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/el/basic-arithmetic.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/el/basic-arithmetic.html"><img src="images/code.gif" alt=""></a><a href="jsp2/el/basic-arithmetic.html">Source</a></td> -</tr> - -<tr> -<td>Basic Comparisons</td> -<td style="width: 30%;"><a href="jsp2/el/basic-comparisons.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/el/basic-comparisons.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/el/basic-comparisons.html"><img src="images/code.gif" alt=""></a><a href="jsp2/el/basic-comparisons.html">Source</a></td> -</tr> - -<tr> -<td>Implicit Objects</td> -<td style="width: 30%;"><a href="jsp2/el/implicit-objects.jsp?foo=bar"><img src="images/execute.gif" alt=""></a><a href="jsp2/el/implicit-objects.jsp?foo=bar">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/el/implicit-objects.html"><img src="images/code.gif" alt=""></a><a href="jsp2/el/implicit-objects.html">Source</a></td> -</tr> -<tr> - -<td>Functions</td> -<td style="width: 30%;"><a href="jsp2/el/functions.jsp?foo=JSP+2.0"><img src="images/execute.gif" alt=""></a><a href="jsp2/el/functions.jsp?foo=JSP+2.0">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/el/functions.html"><img src="images/code.gif" alt=""></a><a href="jsp2/el/functions.html">Source</a></td> -</tr> - -<tr> -<td>Composite Expressions</td> -<td style="width: 30%;"><a href="jsp2/el/composite.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/el/composite.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/el/composite.html"><img src="images/code.gif" alt=""></a><a href="jsp2/el/composite.html">Source</a></td> -</tr> - - -<tr> -<th colspan="3"><br />SimpleTag Handlers and JSP Fragments</th> -</tr> - -<tr> -<td>Hello World Tag</td> -<td style="width: 30%;"><a href="jsp2/simpletag/hello.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/simpletag/hello.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/simpletag/hello.html"><img src="images/code.gif" alt=""></a><a href="jsp2/simpletag/hello.html">Source</a></td> -</tr> - -<tr> -<td>Repeat Tag</td> -<td style="width: 30%;"><a href="jsp2/simpletag/repeat.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/simpletag/repeat.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/simpletag/repeat.html"><img src="images/code.gif" alt=""></a><a href="jsp2/simpletag/repeat.html">Source</a></td> -</tr> - -<tr> -<td>Book Example</td> -<td style="width: 30%;"><a href="jsp2/simpletag/book.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/simpletag/book.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/simpletag/book.html"><img src="images/code.gif" alt=""></a><a href="jsp2/simpletag/book.html">Source</a></td> -</tr> - -<tr> -<th colspan="3"><br />Tag Files</th> -</tr> - -<tr> -<td>Hello World Tag File</td> -<td style="width: 30%;"><a href="jsp2/tagfiles/hello.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/tagfiles/hello.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/tagfiles/hello.html"><img src="images/code.gif" alt=""></a><a href="jsp2/tagfiles/hello.html">Source</a></td> -</tr> - -<tr> -<td>Panel Tag File</td> -<td style="width: 30%;"><a href="jsp2/tagfiles/panel.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/tagfiles/panel.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/tagfiles/panel.html"><img src="images/code.gif" alt=""></a><a href="jsp2/tagfiles/panel.html">Source</a></td> -</tr> - -<tr> -<td>Display Products Example</td> -<td style="width: 30%;"><a href="jsp2/tagfiles/products.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/tagfiles/products.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/tagfiles/products.html"><img src="images/code.gif" alt=""></a><a href="jsp2/tagfiles/products.html">Source</a></td> -</tr> - -<tr> -<th colspan="3"><br />New JSP XML Syntax (.jspx)</th> -</tr> - -<tr> -<td>XHTML Basic Example</td> -<td style="width: 30%;"><a href="jsp2/jspx/basic.jspx"><img src="images/execute.gif" alt=""></a><a href="jsp2/jspx/basic.jspx">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/jspx/basic.html"><img src="images/code.gif" alt=""></a><a href="jsp2/jspx/basic.html">Source</a></td> -</tr> - -<tr> -<td>SVG (Scalable Vector Graphics)</td> -<td style="width: 30%;"><a href="jsp2/jspx/svgexample.html"><img src="images/execute.gif" alt=""></a><a href="jsp2/jspx/svgexample.html">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/jspx/textRotate.html"><img src="images/code.gif" alt=""></a><a href="jsp2/jspx/textRotate.html">Source</a></td> -</tr> - -<tr> -<th colspan="3"><br />Other JSP 2.0 Features</th> -</tr> - -<tr> -<td><jsp:attribute> and <jsp:body></td> -<td style="width: 30%;"><a href="jsp2/jspattribute/jspattribute.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/jspattribute/jspattribute.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/jspattribute/jspattribute.html"><img src="images/code.gif" alt=""></a><a href="jsp2/jspattribute/jspattribute.html">Source</a></td> -</tr> - -<tr> -<td>Shuffle Example</td> -<td style="width: 30%;"><a href="jsp2/jspattribute/shuffle.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/jspattribute/shuffle.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/jspattribute/shuffle.html"><img src="images/code.gif" alt=""></a><a href="jsp2/jspattribute/shuffle.html">Source</a></td> -</tr> - -<tr> -<td>Attributes With Dynamic Names</td> -<td style="width: 30%;"><a href="jsp2/misc/dynamicattrs.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/misc/dynamicattrs.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/misc/dynamicattrs.html"><img src="images/code.gif" alt=""></a><a href="jsp2/misc/dynamicattrs.html">Source</a></td> -</tr> - -<tr> -<td>JSP Configuration</td> -<td style="width: 30%;"><a href="jsp2/misc/config.jsp"><img src="images/execute.gif" alt=""></a><a href="jsp2/misc/config.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsp2/misc/config.html"><img src="images/code.gif" alt=""></a><a href="jsp2/misc/config.html">Source</a></td> -</tr> - -</table> - -<h2>JSP 1.2 Examples</h2> -<table style="width: 85%;"> -<tr> -<td>Numberguess</td> - -<td style="width: 30%;"><a href="num/numguess.jsp"><img src="images/execute.gif" alt=""></a><a href="num/numguess.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="num/numguess.html"><img src="images/code.gif" alt=""></a><a href="num/numguess.html">Source</a></td> -</tr> - -<tr> -<td>Date</td> - -<td style="width: 30%;"><a href="dates/date.jsp"><img src="images/execute.gif" alt=""></a><a href="dates/date.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="dates/date.html"><img src="images/code.gif" alt=""></a><a href="dates/date.html">Source</a></td> -</tr> - -<tr> -<td>Snoop</td> - -<td style="width: 30%;"><a href="snp/snoop.jsp"><img src="images/execute.gif" alt=""></a><a href="snp/snoop.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="snp/snoop.html"><img src="images/code.gif" alt=""></a><a href="snp/snoop.html">Source</a></td> -</tr> - -<tr> -<td>ErrorPage</td> - -<td style="width: 30%;"><a href="error/error.html"><img src="images/execute.gif" alt=""></a><a href="error/error.html">Execute</a></td> - -<td style="width: 30%;"><a href="error/er.html"><img src="images/code.gif" alt=""></a><a href="error/er.html">Source</a></td> -</tr> - -<tr> -<td>Carts</td> - -<td style="width: 30%;"><a href="sessions/carts.html"><img src="images/execute.gif" alt=""></a><a href="sessions/carts.html">Execute</a></td> - -<td style="width: 30%;"><a href="sessions/crt.html"><img src="images/code.gif" alt=""></a><a href="sessions/crt.html">Source</a></td> -</tr> - -<tr> -<td>Checkbox</td> - -<td style="width: 30%;"><a href="checkbox/check.html"><img src="images/execute.gif" alt=""></a><a href="checkbox/check.html">Execute</a></td> - -<td style="width: 30%;"><a href="checkbox/cresult.html"><img src="images/code.gif" alt=""></a><a href="checkbox/cresult.html">Source</a></td> -</tr> - -<tr> -<td>Color</td> - -<td style="width: 30%;"><a href="colors/colors.html"><img src="images/execute.gif" alt=""></a><a href="colors/colors.html">Execute</a></td> - -<td style="width: 30%;"><a href="colors/clr.html"><img src="images/code.gif" alt=""></a><a href="colors/clr.html">Source</a></td> -</tr> - -<tr> -<td>Calendar</td> - -<td style="width: 30%;"><a href="cal/login.html"><img src="images/execute.gif" alt=""></a><a href="cal/login.html">Execute</a></td> - -<td style="width: 30%;"><a href="cal/calendar.html"><img src="images/code.gif" alt=""></a><a href="cal/calendar.html">Source</a></td> -</tr> - -<tr> -<td>Include</td> - -<td style="width: 30%;"><a href="include/include.jsp"><img src="images/execute.gif" alt=""></a><a href="include/include.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="include/inc.html"><img src="images/code.gif" alt=""></a><a href="include/inc.html">Source</a></td> -</tr> - -<tr> -<td>Forward</td> - -<td style="width: 30%;"><a href="forward/forward.jsp"><img src="images/execute.gif" alt=""></a><a href="forward/forward.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="forward/fwd.html"><img src="images/code.gif" alt=""></a><a href="forward/fwd.html">Source</a></td> -</tr> - -<tr> -<td>Plugin</td> - -<td style="width: 30%;"><a href="plugin/plugin.jsp"><img src="images/execute.gif" alt=""></a><a href="plugin/plugin.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="plugin/plugin.html"><img src="images/code.gif" alt=""></a><a href="plugin/plugin.html">Source</a></td> -</tr> - -<tr> -<td>JSP-Servlet-JSP</td> - -<td style="width: 30%;"><a href="jsptoserv/jsptoservlet.jsp"><img src="images/execute.gif" alt=""></a><a href="jsptoserv/jsptoservlet.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="jsptoserv/jts.html"><img src="images/code.gif" alt=""></a><a href="jsptoserv/jts.html">Source</a></td> -</tr> - -<tr> -<td>Custom tag example</td> - -<td style="width: 30%;"><a href="simpletag/foo.jsp"><img src="images/execute.gif" alt=""></a><a href="simpletag/foo.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="simpletag/foo.html"><img src="images/code.gif" alt=""></a><a href="simpletag/foo.html">Source</a></td> -</tr> - -<tr> -<td>XML syntax example</td> -<td style="width: 30%;"><a href="xml/xml.jsp"><img src="images/execute.gif" alt=""></a><a href="xml/xml.jsp">Execute</a></td> - -<td style="width: 30%;"><a href="xml/xml.html"><img src="images/code.gif" alt=""></a><a href="xml/xml.html">Source</a></td> -</tr> - -</table> - -<h2>Tag Plugins</h2> -<table style="width: 85%;"> - -<tr> - <td>If</td> - <td style="width: 30%;"> - <a href="tagplugin/if.jsp"><img src="images/execute.gif" alt=""></a> - <a href="tagplugin/if.jsp">Execute</a> - </td> - <td style="width: 30%;"> - <a href="tagplugin/if.html"><img src="images/code.gif" alt=""></a> - <a href="tagplugin/if.html">Source</a> - </td> -</tr> - -<tr> - <td>ForEach</td> - <td style="width: 30%;"> - <a href="tagplugin/foreach.jsp"><img src="images/execute.gif" alt=""></a> - <a href="tagplugin/foreach.jsp">Execute</a> - </td> - <td style="width: 30%;"> - <a href="tagplugin/foreach.html"><img src="images/code.gif" alt=""></a> - <a href="tagplugin/foreach.html">Source</a> - </td> -</tr> - -<tr> - <td>Choose</td> - <td style="width: 30%;"> - <a href="tagplugin/choose.jsp"><img src="images/execute.gif" alt=""></a> - <a href="tagplugin/choose.jsp">Execute</a> - </td> - <td style="width: 30%;"> - <a href="tagplugin/choose.html"><img src="images/code.gif" alt=""></a> - <a href="tagplugin/choose.html">Source</a> - </td> -</tr> - -</table> - -<h2>Other Examples</h2> -<table style="width: 85%;"> - -<tr> - <td>FORM Authentication</td> - <td style="width: 30%;"> - <a href="security/protected/index.jsp"><img src="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> -<tr> - <td colspan="3">Example that demonstrates protecting a resource and - using Form-Based authentication. To access the page the user must - have role of either "tomcat" or "role1". By default no user - is configured to have these roles.</td> -</tr> - -</table> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/Functions.java.html b/tomcat/webapps/examples/jsp/jsp2/el/Functions.java.html deleted file mode 100644 index aa84cccc46dd097cad8b43b9f1e8e1b2398e847c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/Functions.java.html +++ /dev/null @@ -1,46 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package jsp2.examples.el; - -import java.util.Locale; - -/** - * Defines the functions for the jsp2 example tag library. - * - * <p>Each function is defined as a static method.</p> - */ -public class Functions { - public static String reverse( String text ) { - return new StringBuilder( text ).reverse().toString(); - } - - public static int numVowels( String text ) { - String vowels = "aeiouAEIOU"; - int result = 0; - for( int i = 0; i < text.length(); i++ ) { - if( vowels.indexOf( text.charAt( i ) ) != -1 ) { - result++; - } - } - return result; - } - - public static String caps( String text ) { - return text.toUpperCase(Locale.ENGLISH); - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/el/ValuesBean.java.html b/tomcat/webapps/examples/jsp/jsp2/el/ValuesBean.java.html deleted file mode 100644 index 3744236491f837aaaa856d7282ce51257cb0b02d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/ValuesBean.java.html +++ /dev/null @@ -1,53 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples; - -/** - * Accept and display a value. - */ -public class ValuesBean { - private String string; - private double doubleValue; - private long longValue; - - public String getStringValue() { - return this.string; - } - - public void setStringValue(String string) { - this.string = string; - } - - public double getDoubleValue() { - return doubleValue; - } - - public void setDoubleValue(double doubleValue) { - this.doubleValue = doubleValue; - } - - public long getLongValue() { - return longValue; - } - - public void setLongValue(long longValue) { - this.longValue = longValue; - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/el/ValuesTag.java.html b/tomcat/webapps/examples/jsp/jsp2/el/ValuesTag.java.html deleted file mode 100644 index 490d2123be7995778694fab07fe51352fb114ad4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/ValuesTag.java.html +++ /dev/null @@ -1,80 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package examples; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspTagException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.TagSupport; - -/** - * Accept and display a value. - */ -public class ValuesTag extends TagSupport { - - private static final long serialVersionUID = 1L; - - // Using "-1" as the default value, - // in the assumption that it won't be used as the value. - // Cannot use null here, because null is an important case - // that should be present in the tests. - private Object objectValue = "-1"; - private String stringValue = "-1"; - private long longValue = -1; - private double doubleValue = -1; - - public void setObject(Object objectValue) { - this.objectValue = objectValue; - } - - public void setString(String stringValue) { - this.stringValue = stringValue; - } - - public void setLong(long longValue) { - this.longValue = longValue; - } - - public void setDouble(double doubleValue) { - this.doubleValue = doubleValue; - } - - @Override - public int doEndTag() throws JspException { - JspWriter out = pageContext.getOut(); - - try { - if (!"-1".equals(objectValue)) { - out.print(objectValue); - } else if (!"-1".equals(stringValue)) { - out.print(stringValue); - } else if (longValue != -1) { - out.print(longValue); - } else if (doubleValue != -1) { - out.print(doubleValue); - } else { - out.print("-1"); - } - } catch (IOException ex) { - throw new JspTagException("IOException: " + ex.toString(), ex); - } - return super.doEndTag(); - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.html b/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.html deleted file mode 100644 index 8a2f0a61dbb02b070dd63d7a3df501cd980f2432..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.html +++ /dev/null @@ -1,30 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="basic-arithmetic.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="basic-arithmetic.jsp.html">Source Code for Basic Arithmetic Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp b/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp deleted file mode 100644 index 757e809f15a3d0a8d030f94632ae221474560e7d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp +++ /dev/null @@ -1,88 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>JSP 2.0 Expression Language - Basic Arithmetic</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Basic Arithmetic</h1> - <hr> - This example illustrates basic Expression Language arithmetic. - Addition (+), subtraction (-), multiplication (*), division (/ or div), - and modulus (% or mod) are all supported. Error conditions, like - division by zero, are handled gracefully. - <br> - <blockquote> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${1}</td> - <td>${1}</td> - </tr> - <tr> - <td>\${1 + 2}</td> - <td>${1 + 2}</td> - </tr> - <tr> - <td>\${1.2 + 2.3}</td> - <td>${1.2 + 2.3}</td> - </tr> - <tr> - <td>\${1.2E4 + 1.4}</td> - <td>${1.2E4 + 1.4}</td> - </tr> - <tr> - <td>\${-4 - 2}</td> - <td>${-4 - 2}</td> - </tr> - <tr> - <td>\${21 * 2}</td> - <td>${21 * 2}</td> - </tr> - <tr> - <td>\${3/4}</td> - <td>${3/4}</td> - </tr> - <tr> - <td>\${3 div 4}</td> - <td>${3 div 4}</td> - </tr> - <tr> - <td>\${3/0}</td> - <td>${3/0}</td> - </tr> - <tr> - <td>\${10%4}</td> - <td>${10%4}</td> - </tr> - <tr> - <td>\${10 mod 4}</td> - <td>${10 mod 4}</td> - </tr> - <tr> - <td>\${(1==2) ? 3 : 4}</td> - <td>${(1==2) ? 3 : 4}</td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html b/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html deleted file mode 100644 index b8e1a69635856731752a70dde2f4570dd9c00a9c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html +++ /dev/null @@ -1,89 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>JSP 2.0 Expression Language - Basic Arithmetic</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Basic Arithmetic</h1> - <hr> - This example illustrates basic Expression Language arithmetic. - Addition (+), subtraction (-), multiplication (*), division (/ or div), - and modulus (% or mod) are all supported. Error conditions, like - division by zero, are handled gracefully. - <br> - <blockquote> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${1}</td> - <td>${1}</td> - </tr> - <tr> - <td>\${1 + 2}</td> - <td>${1 + 2}</td> - </tr> - <tr> - <td>\${1.2 + 2.3}</td> - <td>${1.2 + 2.3}</td> - </tr> - <tr> - <td>\${1.2E4 + 1.4}</td> - <td>${1.2E4 + 1.4}</td> - </tr> - <tr> - <td>\${-4 - 2}</td> - <td>${-4 - 2}</td> - </tr> - <tr> - <td>\${21 * 2}</td> - <td>${21 * 2}</td> - </tr> - <tr> - <td>\${3/4}</td> - <td>${3/4}</td> - </tr> - <tr> - <td>\${3 div 4}</td> - <td>${3 div 4}</td> - </tr> - <tr> - <td>\${3/0}</td> - <td>${3/0}</td> - </tr> - <tr> - <td>\${10%4}</td> - <td>${10%4}</td> - </tr> - <tr> - <td>\${10 mod 4}</td> - <td>${10 mod 4}</td> - </tr> - <tr> - <td>\${(1==2) ? 3 : 4}</td> - <td>${(1==2) ? 3 : 4}</td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.html b/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.html deleted file mode 100644 index 60fb40a3bbf90ab293d065a36ebe01dec9a34849..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.html +++ /dev/null @@ -1,30 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="basic-comparisons.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="basic-comparisons.jsp.html">Source Code for Basic Comparisons Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp b/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp deleted file mode 100644 index d72f7245f8cd2fe21be00024f78d6fe5deed5ca0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp +++ /dev/null @@ -1,116 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>JSP 2.0 Expression Language - Basic Comparisons</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Basic Comparisons</h1> - <hr> - This example illustrates basic Expression Language comparisons. - The following comparison operators are supported: - <ul> - <li>Less-than (< or lt)</li> - <li>Greater-than (> or gt)</li> - <li>Less-than-or-equal (<= or le)</li> - <li>Greater-than-or-equal (>= or ge)</li> - <li>Equal (== or eq)</li> - <li>Not Equal (!= or ne)</li> - </ul> - <blockquote> - <u><b>Numeric</b></u> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${1 < 2}</td> - <td>${1 < 2}</td> - </tr> - <tr> - <td>\${1 lt 2}</td> - <td>${1 lt 2}</td> - </tr> - <tr> - <td>\${1 > (4/2)}</td> - <td>${1 > (4/2)}</td> - </tr> - <tr> - <td>\${1 gt (4/2)}</td> - <td>${1 gt (4/2)}</td> - </tr> - <tr> - <td>\${4.0 >= 3}</td> - <td>${4.0 >= 3}</td> - </tr> - <tr> - <td>\${4.0 ge 3}</td> - <td>${4.0 ge 3}</td> - </tr> - <tr> - <td>\${4 <= 3}</td> - <td>${4 <= 3}</td> - </tr> - <tr> - <td>\${4 le 3}</td> - <td>${4 le 3}</td> - </tr> - <tr> - <td>\${100.0 == 100}</td> - <td>${100.0 == 100}</td> - </tr> - <tr> - <td>\${100.0 eq 100}</td> - <td>${100.0 eq 100}</td> - </tr> - <tr> - <td>\${(10*10) != 100}</td> - <td>${(10*10) != 100}</td> - </tr> - <tr> - <td>\${(10*10) ne 100}</td> - <td>${(10*10) ne 100}</td> - </tr> - </table> - </code> - <br> - <u><b>Alphabetic</b></u> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${'a' < 'b'}</td> - <td>${'a' < 'b'}</td> - </tr> - <tr> - <td>\${'hip' > 'hit'}</td> - <td>${'hip' > 'hit'}</td> - </tr> - <tr> - <td>\${'4' > 3}</td> - <td>${'4' > 3}</td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html b/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html deleted file mode 100644 index d20471e2070488597d0bf7c7d10e0e21c06a144e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html +++ /dev/null @@ -1,117 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>JSP 2.0 Expression Language - Basic Comparisons</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Basic Comparisons</h1> - <hr> - This example illustrates basic Expression Language comparisons. - The following comparison operators are supported: - <ul> - <li>Less-than (&lt; or lt)</li> - <li>Greater-than (&gt; or gt)</li> - <li>Less-than-or-equal (&lt;= or le)</li> - <li>Greater-than-or-equal (&gt;= or ge)</li> - <li>Equal (== or eq)</li> - <li>Not Equal (!= or ne)</li> - </ul> - <blockquote> - <u><b>Numeric</b></u> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${1 &lt; 2}</td> - <td>${1 < 2}</td> - </tr> - <tr> - <td>\${1 lt 2}</td> - <td>${1 lt 2}</td> - </tr> - <tr> - <td>\${1 &gt; (4/2)}</td> - <td>${1 > (4/2)}</td> - </tr> - <tr> - <td>\${1 gt (4/2)}</td> - <td>${1 gt (4/2)}</td> - </tr> - <tr> - <td>\${4.0 &gt;= 3}</td> - <td>${4.0 >= 3}</td> - </tr> - <tr> - <td>\${4.0 ge 3}</td> - <td>${4.0 ge 3}</td> - </tr> - <tr> - <td>\${4 &lt;= 3}</td> - <td>${4 <= 3}</td> - </tr> - <tr> - <td>\${4 le 3}</td> - <td>${4 le 3}</td> - </tr> - <tr> - <td>\${100.0 == 100}</td> - <td>${100.0 == 100}</td> - </tr> - <tr> - <td>\${100.0 eq 100}</td> - <td>${100.0 eq 100}</td> - </tr> - <tr> - <td>\${(10*10) != 100}</td> - <td>${(10*10) != 100}</td> - </tr> - <tr> - <td>\${(10*10) ne 100}</td> - <td>${(10*10) ne 100}</td> - </tr> - </table> - </code> - <br> - <u><b>Alphabetic</b></u> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${'a' &lt; 'b'}</td> - <td>${'a' < 'b'}</td> - </tr> - <tr> - <td>\${'hip' &gt; 'hit'}</td> - <td>${'hip' > 'hit'}</td> - </tr> - <tr> - <td>\${'4' &gt; 3}</td> - <td>${'4' > 3}</td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/el/composite.html b/tomcat/webapps/examples/jsp/jsp2/el/composite.html deleted file mode 100644 index 5900008e2dacc5cb0e8ae5917e53432a906492b6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/composite.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="composite.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="composite.jsp.html">Source Code for composite.jsp</a></h3> -<h3><a href="ValuesTag.java.html">Source Code for ValuesTag.java</a></h3> -<h3><a href="ValuesBean.java.html">Source Code for ValuesBean.java</a></h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp b/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp deleted file mode 100644 index ae671d48a78e1fde9e5b7dc584ab007d3b85553c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp +++ /dev/null @@ -1,110 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/example-taglib" %> - -<html> - <head> - <title>JSP 2.0 Expression Language - Composite Expressions</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Composite Expressions</h1> - <hr> - This example illustrates EL composite expressions. Composite expressions - are formed by grouping together multiple EL expressions. Each of them is - evaluated from left to right, coerced to String, all those strings are - concatenated, and the result is coerced to the expected type. - - <jsp:useBean id="values" class="jsp2.examples.ValuesBean" /> - - <blockquote> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Type</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${'hello'} wo\${'rld'}</td> - <td>String</td> - <td><jsp:setProperty name="values" property="stringValue" value="${'hello'} wo${'rld'}"/>${values.stringValue}</td> - </tr> - <tr> - <td>\${'hello'} wo\${'rld'}</td> - <td>String</td> - <td><my:values string="${'hello'} wo${'rld'}"/></td> - </tr> - <tr> - <td>\${1+2}.\${220}</td> - <td>Double</td> - <td><jsp:setProperty name="values" property="doubleValue" value="${1+2}.${220}"/>${values.doubleValue}</td> - </tr> - <tr> - <td>\${1+2}.\${220}</td> - <td>Double</td> - <td><my:values double="${1+2}.${220}"/></td> - </tr> - <tr> - <td>000\${1}\${7}</td> - <td>Long</td> - <td><jsp:setProperty name="values" property="longValue" value="000${1}${7}"/>${values.longValue}</td> - </tr> - <tr> - <td>000\${1}\${7}</td> - <td>Long</td> - <td><my:values long="000${1}${7}"/></td> - </tr> - <!-- - Undefined values are to be coerced to String, to be "", - https://bz.apache.org/bugzilla/show_bug.cgi?id=47413 - --> - <tr> - <td>\${undefinedFoo}hello world\${undefinedBar}</td> - <td>String</td> - <td><jsp:setProperty name="values" property="stringValue" value="${undefinedFoo}hello world${undefinedBar}"/>${values.stringValue}</td> - </tr> - <tr> - <td>\${undefinedFoo}hello world\${undefinedBar}</td> - <td>String</td> - <td><my:values string="${undefinedFoo}hello world${undefinedBar}"/></td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Double</td> - <td><jsp:setProperty name="values" property="doubleValue" value="${undefinedFoo}${undefinedBar}"/>${values.doubleValue}</td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Double</td> - <td><my:values double="${undefinedFoo}${undefinedBar}"/></td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Long</td> - <td><jsp:setProperty name="values" property="longValue" value="${undefinedFoo}${undefinedBar}"/>${values.longValue}</td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Long</td> - <td><my:values long="${undefinedFoo}${undefinedBar}"/></td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> - diff --git a/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp.html b/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp.html deleted file mode 100644 index 375555f8e6fdf9c32b9748b75ef3f8c9a20331db..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/composite.jsp.html +++ /dev/null @@ -1,111 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/example-taglib" %> - -<html> - <head> - <title>JSP 2.0 Expression Language - Composite Expressions</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Composite Expressions</h1> - <hr> - This example illustrates EL composite expressions. Composite expressions - are formed by grouping together multiple EL expressions. Each of them is - evaluated from left to right, coerced to String, all those strings are - concatenated, and the result is coerced to the expected type. - - <jsp:useBean id="values" class="jsp2.examples.ValuesBean" /> - - <blockquote> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Type</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${'hello'} wo\${'rld'}</td> - <td>String</td> - <td><jsp:setProperty name="values" property="stringValue" value="${'hello'} wo${'rld'}"/>${values.stringValue}</td> - </tr> - <tr> - <td>\${'hello'} wo\${'rld'}</td> - <td>String</td> - <td><my:values string="${'hello'} wo${'rld'}"/></td> - </tr> - <tr> - <td>\${1+2}.\${220}</td> - <td>Double</td> - <td><jsp:setProperty name="values" property="doubleValue" value="${1+2}.${220}"/>${values.doubleValue}</td> - </tr> - <tr> - <td>\${1+2}.\${220}</td> - <td>Double</td> - <td><my:values double="${1+2}.${220}"/></td> - </tr> - <tr> - <td>000\${1}\${7}</td> - <td>Long</td> - <td><jsp:setProperty name="values" property="longValue" value="000${1}${7}"/>${values.longValue}</td> - </tr> - <tr> - <td>000\${1}\${7}</td> - <td>Long</td> - <td><my:values long="000${1}${7}"/></td> - </tr> - <!-- - Undefined values are to be coerced to String, to be "", - https://bz.apache.org/bugzilla/show_bug.cgi?id=47413 - --> - <tr> - <td>\${undefinedFoo}hello world\${undefinedBar}</td> - <td>String</td> - <td><jsp:setProperty name="values" property="stringValue" value="${undefinedFoo}hello world${undefinedBar}"/>${values.stringValue}</td> - </tr> - <tr> - <td>\${undefinedFoo}hello world\${undefinedBar}</td> - <td>String</td> - <td><my:values string="${undefinedFoo}hello world${undefinedBar}"/></td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Double</td> - <td><jsp:setProperty name="values" property="doubleValue" value="${undefinedFoo}${undefinedBar}"/>${values.doubleValue}</td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Double</td> - <td><my:values double="${undefinedFoo}${undefinedBar}"/></td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Long</td> - <td><jsp:setProperty name="values" property="longValue" value="${undefinedFoo}${undefinedBar}"/>${values.longValue}</td> - </tr> - <tr> - <td>\${undefinedFoo}\${undefinedBar}</td> - <td>Long</td> - <td><my:values long="${undefinedFoo}${undefinedBar}"/></td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> - -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/el/functions.html b/tomcat/webapps/examples/jsp/jsp2/el/functions.html deleted file mode 100644 index 726dda3661cccb3d543c67598742c5b4ee667c72..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/functions.html +++ /dev/null @@ -1,32 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="functions.jsp?foo=JSP+2.0"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="functions.jsp.html">Source Code for functions.jsp<font color="#0000FF"></a> - </font> </h3> -<h3><a href="Functions.java.html">Source Code for Functions.java<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp b/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp deleted file mode 100644 index 12b3fa97d7c5c6256fd42e25a799864a7e3fa6dc..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp +++ /dev/null @@ -1,67 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - -<html> - <head> - <title>JSP 2.0 Expression Language - Functions</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Functions</h1> - <hr> - An upgrade from the JSTL expression language, the JSP 2.0 EL also - allows for simple function invocation. Functions are defined - by tag libraries and are implemented by a Java programmer as - static methods. - - <blockquote> - <u><b>Change Parameter</b></u> - <form action="functions.jsp" method="GET"> - foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}"> - <input type="submit"> - </form> - <br> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${param["foo"]}</td> - <td>${fn:escapeXml(param["foo"])} </td> - </tr> - <tr> - <td>\${my:reverse(param["foo"])}</td> - <td>${my:reverse(fn:escapeXml(param["foo"]))} </td> - </tr> - <tr> - <td>\${my:reverse(my:reverse(param["foo"]))}</td> - <td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))} </td> - </tr> - <tr> - <td>\${my:countVowels(param["foo"])}</td> - <td>${my:countVowels(fn:escapeXml(param["foo"]))} </td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> - diff --git a/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp.html b/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp.html deleted file mode 100644 index 1a3cdb4043c44a172967ea4b454cefb0cd217398..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/functions.jsp.html +++ /dev/null @@ -1,68 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - -<html> - <head> - <title>JSP 2.0 Expression Language - Functions</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Functions</h1> - <hr> - An upgrade from the JSTL expression language, the JSP 2.0 EL also - allows for simple function invocation. Functions are defined - by tag libraries and are implemented by a Java programmer as - static methods. - - <blockquote> - <u><b>Change Parameter</b></u> - <form action="functions.jsp" method="GET"> - foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}"> - <input type="submit"> - </form> - <br> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${param["foo"]}</td> - <td>${fn:escapeXml(param["foo"])}&nbsp;</td> - </tr> - <tr> - <td>\${my:reverse(param["foo"])}</td> - <td>${my:reverse(fn:escapeXml(param["foo"]))}&nbsp;</td> - </tr> - <tr> - <td>\${my:reverse(my:reverse(param["foo"]))}</td> - <td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&nbsp;</td> - </tr> - <tr> - <td>\${my:countVowels(param["foo"])}</td> - <td>${my:countVowels(fn:escapeXml(param["foo"]))}&nbsp;</td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> - -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.html b/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.html deleted file mode 100644 index 15268db59abc8a756e678c50d68368a71137d128..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="implicit-objects.jsp?foo=bar"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"> -<img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="implicit-objects.jsp.html">Source Code for Implicit Objects Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp b/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp deleted file mode 100644 index b5577142189aec9be3b8d09ce9a4372a3dcc0210..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp +++ /dev/null @@ -1,90 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> - -<html> - <head> - <title>JSP 2.0 Expression Language - Implicit Objects</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Implicit Objects</h1> - <hr> - This example illustrates some of the implicit objects available - in the Expression Language. The following implicit objects are - available (not all illustrated here): - <ul> - <li>pageContext - the PageContext object</li> - <li>pageScope - a Map that maps page-scoped attribute names to - their values</li> - <li>requestScope - a Map that maps request-scoped attribute names - to their values</li> - <li>sessionScope - a Map that maps session-scoped attribute names - to their values</li> - <li>applicationScope - a Map that maps application-scoped attribute - names to their values</li> - <li>param - a Map that maps parameter names to a single String - parameter value</li> - <li>paramValues - a Map that maps parameter names to a String[] of - all values for that parameter</li> - <li>header - a Map that maps header names to a single String - header value</li> - <li>headerValues - a Map that maps header names to a String[] of - all values for that header</li> - <li>initParam - a Map that maps context initialization parameter - names to their String parameter value</li> - <li>cookie - a Map that maps cookie names to a single Cookie object.</li> - </ul> - - <blockquote> - <u><b>Change Parameter</b></u> - <form action="implicit-objects.jsp" method="GET"> - foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}"> - <input type="submit"> - </form> - <br> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${param.foo}</td> - <td>${fn:escapeXml(param["foo"])} </td> - </tr> - <tr> - <td>\${param["foo"]}</td> - <td>${fn:escapeXml(param["foo"])} </td> - </tr> - <tr> - <td>\${header["host"]}</td> - <td>${fn:escapeXml(header["host"])} </td> - </tr> - <tr> - <td>\${header["accept"]}</td> - <td>${fn:escapeXml(header["accept"])} </td> - </tr> - <tr> - <td>\${header["user-agent"]}</td> - <td>${fn:escapeXml(header["user-agent"])} </td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html b/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html deleted file mode 100644 index db967e7a91e32752152b38d0dadbe783eb7fe736..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html +++ /dev/null @@ -1,91 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@page contentType="text/html; charset=UTF-8" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> - -<html> - <head> - <title>JSP 2.0 Expression Language - Implicit Objects</title> - </head> - <body> - <h1>JSP 2.0 Expression Language - Implicit Objects</h1> - <hr> - This example illustrates some of the implicit objects available - in the Expression Language. The following implicit objects are - available (not all illustrated here): - <ul> - <li>pageContext - the PageContext object</li> - <li>pageScope - a Map that maps page-scoped attribute names to - their values</li> - <li>requestScope - a Map that maps request-scoped attribute names - to their values</li> - <li>sessionScope - a Map that maps session-scoped attribute names - to their values</li> - <li>applicationScope - a Map that maps application-scoped attribute - names to their values</li> - <li>param - a Map that maps parameter names to a single String - parameter value</li> - <li>paramValues - a Map that maps parameter names to a String[] of - all values for that parameter</li> - <li>header - a Map that maps header names to a single String - header value</li> - <li>headerValues - a Map that maps header names to a String[] of - all values for that header</li> - <li>initParam - a Map that maps context initialization parameter - names to their String parameter value</li> - <li>cookie - a Map that maps cookie names to a single Cookie object.</li> - </ul> - - <blockquote> - <u><b>Change Parameter</b></u> - <form action="implicit-objects.jsp" method="GET"> - foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}"> - <input type="submit"> - </form> - <br> - <code> - <table border="1"> - <thead> - <td><b>EL Expression</b></td> - <td><b>Result</b></td> - </thead> - <tr> - <td>\${param.foo}</td> - <td>${fn:escapeXml(param["foo"])}&nbsp;</td> - </tr> - <tr> - <td>\${param["foo"]}</td> - <td>${fn:escapeXml(param["foo"])}&nbsp;</td> - </tr> - <tr> - <td>\${header["host"]}</td> - <td>${fn:escapeXml(header["host"])}&nbsp;</td> - </tr> - <tr> - <td>\${header["accept"]}</td> - <td>${fn:escapeXml(header["accept"])}&nbsp;</td> - </tr> - <tr> - <td>\${header["user-agent"]}</td> - <td>${fn:escapeXml(header["user-agent"])}&nbsp;</td> - </tr> - </table> - </code> - </blockquote> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html deleted file mode 100644 index a5ddf411b8060f6b495e120efdb6f8a2a33f5000..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html +++ /dev/null @@ -1,37 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples; - -public class FooBean { - private String bar; - - public FooBean() { - bar = "Initial value"; - } - - public String getBar() { - return this.bar; - } - - public void setBar(String bar) { - this.bar = bar; - } - -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html deleted file mode 100644 index 8c0bd4dc49c18e67a7a750bd46312cb633d3ca72..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html +++ /dev/null @@ -1,35 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that prints "Hello, world!" - */ -public class HelloWorldSimpleTag extends SimpleTagSupport { - @Override - public void doTag() throws JspException, IOException { - getJspContext().getOut().write( "Hello, world!" ); - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html deleted file mode 100644 index 8d360841325be70cb735a4ba8b36319d401c0a68..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html +++ /dev/null @@ -1,88 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; -import java.util.Random; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.JspFragment; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that accepts takes three attributes of type - * JspFragment and invokes then in a random order. - */ -public class ShuffleSimpleTag extends SimpleTagSupport { - // No need for this to use SecureRandom - private static final Random random = new Random(); - - private JspFragment fragment1; - private JspFragment fragment2; - private JspFragment fragment3; - - @Override - public void doTag() throws JspException, IOException { - switch(random.nextInt(6)) { - case 0: - fragment1.invoke( null ); - fragment2.invoke( null ); - fragment3.invoke( null ); - break; - case 1: - fragment1.invoke( null ); - fragment3.invoke( null ); - fragment2.invoke( null ); - break; - case 2: - fragment2.invoke( null ); - fragment1.invoke( null ); - fragment3.invoke( null ); - break; - case 3: - fragment2.invoke( null ); - fragment3.invoke( null ); - fragment1.invoke( null ); - break; - case 4: - fragment3.invoke( null ); - fragment1.invoke( null ); - fragment2.invoke( null ); - break; - case 5: - fragment3.invoke( null ); - fragment2.invoke( null ); - fragment1.invoke( null ); - break; - } - } - - public void setFragment1( JspFragment fragment1 ) { - this.fragment1 = fragment1; - } - - public void setFragment2( JspFragment fragment2 ) { - this.fragment2 = fragment2; - } - - public void setFragment3( JspFragment fragment3 ) { - this.fragment3 = fragment3; - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html deleted file mode 100644 index 75d6daf8d4a3bf0360eb024a042f1eab3c2230a9..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html +++ /dev/null @@ -1,49 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * Displays a tile as a single cell in a table. - */ -public class TileSimpleTag extends SimpleTagSupport { - private String color; - private String label; - - @Override - public void doTag() throws JspException, IOException { - getJspContext().getOut().write( - "<td width=\"32\" height=\"32\" bgcolor=\"" + this.color + - "\"><font color=\"#ffffff\"><center>" + this.label + - "</center></font></td>" ); - } - - public void setColor( String color ) { - this.color = color; - } - - public void setLabel( String label ) { - this.label = label; - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html deleted file mode 100644 index df1b6e68c6dd88c1e9e883a46abd9c5227059a06..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.html +++ /dev/null @@ -1,37 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="jspattribute.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="jspattribute.jsp.html">Source Code for jspattribute.jsp<font color="#0000FF"></a> - </font> </h3> - -<h3><a href="HelloWorldSimpleTag.java.html">Source Code for HelloWorldSimpleTag.java<font color="#0000FF"></a> - </font> </h3> - -<h3><a href="FooBean.java.html">Source Code for FooBean.java<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp b/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp deleted file mode 100644 index 8050b3420b028404499211be42d88dc637fea819..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp +++ /dev/null @@ -1,46 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - -<html> - <head> - <title>JSP 2.0 Examples - jsp:attribute and jsp:body</title> - </head> - <body> - <h1>JSP 2.0 Examples - jsp:attribute and jsp:body</h1> - <hr> - <p>The new <jsp:attribute> and <jsp:body> - standard actions can be used to specify the value of any standard - action or custom action attribute.</p> - <p>This example uses the <jsp:attribute> - standard action to use the output of a custom action invocation - (one that simply outputs "Hello, World!") to set the value of a - bean property. This would normally require an intermediary - step, such as using JSTL's <c:set> action.</p> - <br> - <jsp:useBean id="foo" class="jsp2.examples.FooBean"> - Bean created! Setting foo.bar...<br> - <jsp:setProperty name="foo" property="bar"> - <jsp:attribute name="value"> - <my:helloWorld/> - </jsp:attribute> - </jsp:setProperty> - </jsp:useBean> - <br> - Result: ${foo.bar} - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html deleted file mode 100644 index 959699792169d7e4f758fad04d3dbc4879b0afa8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - -<html> - <head> - <title>JSP 2.0 Examples - jsp:attribute and jsp:body</title> - </head> - <body> - <h1>JSP 2.0 Examples - jsp:attribute and jsp:body</h1> - <hr> - <p>The new &lt;jsp:attribute&gt; and &lt;jsp:body&gt; - standard actions can be used to specify the value of any standard - action or custom action attribute.</p> - <p>This example uses the &lt;jsp:attribute&gt; - standard action to use the output of a custom action invocation - (one that simply outputs "Hello, World!") to set the value of a - bean property. This would normally require an intermediary - step, such as using JSTL's &lt;c:set&gt; action.</p> - <br> - <jsp:useBean id="foo" class="jsp2.examples.FooBean"> - Bean created! Setting foo.bar...<br> - <jsp:setProperty name="foo" property="bar"> - <jsp:attribute name="value"> - <my:helloWorld/> - </jsp:attribute> - </jsp:setProperty> - </jsp:useBean> - <br> - Result: ${foo.bar} - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.html deleted file mode 100644 index 5711860afe55facdaddfaab9e212855cbb5f48b6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.html +++ /dev/null @@ -1,37 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="shuffle.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="shuffle.jsp.html">Source Code for shuffle.jsp<font color="#0000FF"></a> - </font> </h3> - -<h3><a href="ShuffleSimpleTag.java.html">Source Code for ShuffleSimpleTag.java<font color="#0000FF"></a> - </font> </h3> - -<h3><a href="TileSimpleTag.java.html">Source Code for TileSimpleTag.java<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp b/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp deleted file mode 100644 index 737ff657aff04f5cf13c3692d5051a22d6ed0060..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp +++ /dev/null @@ -1,90 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - -<html> - <head> - <title>JSP 2.0 Examples - Shuffle Example</title> - </head> - <body> - <h1>JSP 2.0 Examples - Shuffle Example</h1> - <hr> - <p>Try reloading the page a few times. Both the rows and the columns - are shuffled and appear different each time.</p> - <p>Here's how the code works. The SimpleTag handler called - <my:shuffle> accepts three attributes. Each attribute is a - JSP Fragment, meaning it is a fragment of JSP code that can be - dynamically executed by the shuffle tag handler on demand. The - shuffle tag handler executes the three fragments in a random order. - To shuffle both the rows and the columns, the shuffle tag is used - with itself as a parameter.</p> - <hr> - <blockquote> - <font color="#ffffff"> - <table> - <my:shuffle> - <jsp:attribute name="fragment1"> - <tr> - <my:shuffle> - <jsp:attribute name="fragment1"> - <my:tile color="#ff0000" label="A"/> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <my:tile color="#00ff00" label="B"/> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <my:tile color="#0000ff" label="C"/> - </jsp:attribute> - </my:shuffle> - </tr> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <tr> - <my:shuffle> - <jsp:attribute name="fragment1"> - <my:tile color="#ff0000" label="1"/> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <my:tile color="#00ff00" label="2"/> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <my:tile color="#0000ff" label="3"/> - </jsp:attribute> - </my:shuffle> - </tr> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <tr> - <my:shuffle> - <jsp:attribute name="fragment1"> - <my:tile color="#ff0000" label="!"/> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <my:tile color="#00ff00" label="@"/> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <my:tile color="#0000ff" label="#"/> - </jsp:attribute> - </my:shuffle> - </tr> - </jsp:attribute> - </my:shuffle> - </table> - </font> - </blockquote> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html b/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html deleted file mode 100644 index dcb137d22625d69503633357217fa776fe4fae9d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html +++ /dev/null @@ -1,91 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - -<html> - <head> - <title>JSP 2.0 Examples - Shuffle Example</title> - </head> - <body> - <h1>JSP 2.0 Examples - Shuffle Example</h1> - <hr> - <p>Try reloading the page a few times. Both the rows and the columns - are shuffled and appear different each time.</p> - <p>Here's how the code works. The SimpleTag handler called - &lt;my:shuffle&gt; accepts three attributes. Each attribute is a - JSP Fragment, meaning it is a fragment of JSP code that can be - dynamically executed by the shuffle tag handler on demand. The - shuffle tag handler executes the three fragments in a random order. - To shuffle both the rows and the columns, the shuffle tag is used - with itself as a parameter.</p> - <hr> - <blockquote> - <font color="#ffffff"> - <table> - <my:shuffle> - <jsp:attribute name="fragment1"> - <tr> - <my:shuffle> - <jsp:attribute name="fragment1"> - <my:tile color="#ff0000" label="A"/> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <my:tile color="#00ff00" label="B"/> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <my:tile color="#0000ff" label="C"/> - </jsp:attribute> - </my:shuffle> - </tr> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <tr> - <my:shuffle> - <jsp:attribute name="fragment1"> - <my:tile color="#ff0000" label="1"/> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <my:tile color="#00ff00" label="2"/> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <my:tile color="#0000ff" label="3"/> - </jsp:attribute> - </my:shuffle> - </tr> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <tr> - <my:shuffle> - <jsp:attribute name="fragment1"> - <my:tile color="#ff0000" label="!"/> - </jsp:attribute> - <jsp:attribute name="fragment2"> - <my:tile color="#00ff00" label="@"/> - </jsp:attribute> - <jsp:attribute name="fragment3"> - <my:tile color="#0000ff" label="#"/> - </jsp:attribute> - </my:shuffle> - </tr> - </jsp:attribute> - </my:shuffle> - </table> - </font> - </blockquote> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/basic.html b/tomcat/webapps/examples/jsp/jsp2/jspx/basic.html deleted file mode 100644 index f9df6a4a2015cb5eede40fe3e6ddae9d78a683be..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspx/basic.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html lang="en"> -<head> -<meta charset="UTF-8"> -<title>View Source Code</title> -</head> - -<body> -<p><a href="basic.jspx"><img src="../../images/execute.gif" alt="Execute" style="border: 0;"></a><a -href="../../index.html"><img src="../../images/return.gif" alt="Return" style="border: 0;"></a></p> - -<h3><a href="basic.jspx.html">Source Code for XHTML Basic Example</a></h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx b/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx deleted file mode 100644 index fc1e45f923b48fce4ec05c0030877d800d1d24f0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html xmlns:jsp="http://java.sun.com/JSP/Page" - xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" - xmlns="http://www.w3.org/1999/xhtml"> - <jsp:output doctype-root-element="html" - doctype-public="-//W3C//DTD XHTML Basic 1.0//EN" - doctype-system="http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"/> - <jsp:directive.page contentType="application/xhtml+xml" /> - <head> - <title>JSPX - XHTML Basic Example</title> - </head> - <body> - <h1>JSPX - XHTML Basic Example</h1> - This example illustrates how to use JSPX to produce an XHTML basic - document suitable for use with mobile phones, televisions, - PDAs, vending machines, pagers, car navigation systems, - mobile game machines, digital book readers, smart watches, etc. - <p/> - JSPX lets you create dynamic documents in a pure XML syntax compatible - with existing XML tools. The XML syntax in JSP 1.2 was awkward and - required &lt;jsp:root&gt; to be the root element of the document. - This is no longer the case in JSP 2.0. - <p/> - This particular example uses - namespace declarations to make the output of this page a valid XHTML - document. - <p/> - Just to prove this is live, here's some dynamic content: - <jsp:useBean id="now" class="java.util.Date" /> - <fmt:formatDate value="${now}" pattern="MMMM d, yyyy, H:mm:ss"/> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx.html b/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx.html deleted file mode 100644 index 6b38336ba3c485251916c20cc813898132922543..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspx/basic.jspx.html +++ /dev/null @@ -1,49 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html xmlns:jsp="http://java.sun.com/JSP/Page" - xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" - xmlns="http://www.w3.org/1999/xhtml"> - <jsp:output doctype-root-element="html" - doctype-public="-//W3C//DTD XHTML Basic 1.0//EN" - doctype-system="http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"/> - <jsp:directive.page contentType="application/xhtml+xml" /> - <head> - <title>JSPX - XHTML Basic Example</title> - </head> - <body> - <h1>JSPX - XHTML Basic Example</h1> - This example illustrates how to use JSPX to produce an XHTML basic - document suitable for use with mobile phones, televisions, - PDAs, vending machines, pagers, car navigation systems, - mobile game machines, digital book readers, smart watches, etc. - <p/> - JSPX lets you create dynamic documents in a pure XML syntax compatible - with existing XML tools. The XML syntax in JSP 1.2 was awkward and - required &amp;lt;jsp:root&amp;gt; to be the root element of the document. - This is no longer the case in JSP 2.0. - <p/> - This particular example uses - namespace declarations to make the output of this page a valid XHTML - document. - <p/> - Just to prove this is live, here's some dynamic content: - <jsp:useBean id="now" class="java.util.Date" /> - <fmt:formatDate value="${now}" pattern="MMMM d, yyyy, H:mm:ss"/> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/svgexample.html b/tomcat/webapps/examples/jsp/jsp2/jspx/svgexample.html deleted file mode 100644 index f7d591a58370bc4a2002132444db94373c8e6ef1..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspx/svgexample.html +++ /dev/null @@ -1,46 +0,0 @@ -<!DOCTYPE html><!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> - <head> - <meta charset="UTF-8"> - <title>JSP 2.0 SVG Example</title> - </head> - <body> - <h1>JSP 2.0 SVG Example</h1> - This example uses JSP 2.0's new, simplified JSPX syntax to render a - Scalable Vector Graphics (SVG) document. When you view the source, - notice the lack of a <jsp:root> element! The text to be rendered - can be modified by changing the value of the name parameter. - <p> - SVG has many potential uses, such as searchable images, or images - customized with the name of your site's visitor (e.g. a "Susan's Store" - tab image). JSPX is a natural fit for generating dynamic XML content - such as SVG. - <p> - To execute this example you will need a browser with basic SVG support. Any - remotely recent browser should have this. - <ol> - <li>Use this URL: - <a href="textRotate.jspx?name=JSPX">textRotate.jspx?name=JSPX</a></li> - <li>Customize by changing the name=JSPX parameter</li> - </ol> - <p style="margin-top: 2em;"> - The following is a screenshot of the resulting image, for those using a - browser without SVG support:<br> - <img src="textRotate.jpg" alt="[Screenshot image]" style="border: 1px solid #000;"> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.html b/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.html deleted file mode 100644 index 5b3befe2e048a379085e2f381a3a23b35a7ab2ea..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.html +++ /dev/null @@ -1,32 +0,0 @@ -<!DOCTYPE html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html lang="en"> -<head> -<meta charset="UTF-8"> -<title>View Source Code</title> -</head> - -<body> -<p><a href="textRotate.jspx"><img src="../../images/execute.gif" alt="Execute" style="border: 0;"></a> <a -href="../../index.html"><img src="../../images/return.gif" alt="Return" style="border: 0;"></a></p> - -<h3><a href="textRotate.jspx.html">Source Code for SVG (Scalable Vector Graphics) -Example</a></h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jpg b/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jpg deleted file mode 100644 index 9e987367bc83c25aedf1c7afd76f34de4a229f82..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jpg and /dev/null differ diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx b/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx deleted file mode 100644 index c543887e6688f863e1382a588d8aa996ed1cef16..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<!-- - - This example is based off the textRotate.svg example that comes - - with Apache Batik. The original example was written by Bill Haneman. - - This version by Mark Roth. - --> -<svg xmlns="http://www.w3.org/2000/svg" - width="450" height="500" viewBox="0 0 450 500" - xmlns:c="http://java.sun.com/jsp/jstl/core" - xmlns:fn="http://java.sun.com/jsp/jstl/functions" - xmlns:jsp="http://java.sun.com/JSP/Page"> - <jsp:directive.page contentType="image/svg+xml" /> - <title>JSP 2.0 JSPX</title> - <!-- select name parameter, or default to JSPX --> - <c:set var="name" value='${empty fn:escapeXml(param["name"]) ? "JSPX" : fn:escapeXml(param["name"])}'/> - <g id="testContent"> - <text class="title" x="50%" y="10%" font-size="15" text-anchor="middle" > - JSP 2.0 XML Syntax (.jspx) Demo</text> - <text class="title" x="50%" y="15%" font-size="15" text-anchor="middle" > - Try changing the name parameter!</text> - <g opacity="1.0" transform="translate(225, 250)" id="rotatedText"> - <c:forEach var="i" begin="1" end="24"> - <jsp:text> - <![CDATA[<g opacity="0.95" transform="scale(1.05) rotate(15)">]]> - </jsp:text> - <text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" - text-anchor="middle" font-size="40" font-family="Serif" - id="words">${name}</text> - </c:forEach> - <c:forEach var="i" begin="1" end="24"> - <jsp:text><![CDATA[</g>]]></jsp:text> - </c:forEach> - <text style="font-size:75;font-family:Serif;fill:white" - text-anchor="middle">${name}</text> - </g> - </g> -</svg> diff --git a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html b/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html deleted file mode 100644 index 0e6c8208f7189c088af0325e5e8bf527b72ee9a9..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html +++ /dev/null @@ -1,54 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<!-- - - This example is based off the textRotate.svg example that comes - - with Apache Batik. The original example was written by Bill Haneman. - - This version by Mark Roth. - --> -<svg xmlns="http://www.w3.org/2000/svg" - width="450" height="500" viewBox="0 0 450 500" - xmlns:c="http://java.sun.com/jsp/jstl/core" - xmlns:fn="http://java.sun.com/jsp/jstl/functions" - xmlns:jsp="http://java.sun.com/JSP/Page"> - <jsp:directive.page contentType="image/svg+xml" /> - <title>JSP 2.0 JSPX</title> - <!-- select name parameter, or default to JSPX --> - <c:set var="name" value='${empty fn:escapeXml(param["name"]) ? "JSPX" : fn:escapeXml(param["name"])}'/> - <g id="testContent"> - <text class="title" x="50%" y="10%" font-size="15" text-anchor="middle" > - JSP 2.0 XML Syntax (.jspx) Demo</text> - <text class="title" x="50%" y="15%" font-size="15" text-anchor="middle" > - Try changing the name parameter!</text> - <g opacity="1.0" transform="translate(225, 250)" id="rotatedText"> - <c:forEach var="i" begin="1" end="24"> - <jsp:text> - <![CDATA[<g opacity="0.95" transform="scale(1.05) rotate(15)">]]> - </jsp:text> - <text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" - text-anchor="middle" font-size="40" font-family="Serif" - id="words">${name}</text> - </c:forEach> - <c:forEach var="i" begin="1" end="24"> - <jsp:text><![CDATA[</g>]]></jsp:text> - </c:forEach> - <text style="font-size:75;font-family:Serif;fill:white" - text-anchor="middle">${name}</text> - </g> - </g> -</svg> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html b/tomcat/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html deleted file mode 100644 index cab826dc686bb77d274caf1292f49f3433e818ee..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html +++ /dev/null @@ -1,59 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.tagext.DynamicAttributes; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that echoes all its attributes - */ -public class EchoAttributesTag - extends SimpleTagSupport - implements DynamicAttributes -{ - private final List<String> keys = new ArrayList<>(); - private final List<Object> values = new ArrayList<>(); - - @Override - public void doTag() throws JspException, IOException { - JspWriter out = getJspContext().getOut(); - for( int i = 0; i < keys.size(); i++ ) { - String key = keys.get( i ); - Object value = values.get( i ); - out.println( "<li>" + key + " = " + value + "</li>" ); - } - } - - @Override - public void setDynamicAttribute( String uri, String localName, - Object value ) - throws JspException - { - keys.add( localName ); - values.add( value ); - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf b/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf deleted file mode 100644 index d767de506b8de5aa838bbeb9727c936acc66abd6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf +++ /dev/null @@ -1,21 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<hr> -<center> -This banner included with <include-coda> -</center> -<hr> diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf.html b/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf.html deleted file mode 100644 index 3a82576c0e6371c1b64f74ab03e21e7d31c0acb4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/coda.jspf.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<hr> -<center> -This banner included with &lt;include-coda&gt; -</center> -<hr> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/config.html b/tomcat/webapps/examples/jsp/jsp2/misc/config.html deleted file mode 100644 index 707d68faf1c71fe57b54d858438da3a2d8531bef..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/config.html +++ /dev/null @@ -1,35 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="config.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="config.jsp.html">Source Code for config.jsp<font color="#0000FF"></a> - </font> </h3> -<h3><a href="prelude.jspf.html">Source Code for prelude.jspf<font color="#0000FF"></a> - </font> </h3> -<h3><a href="coda.jspf.html">Source Code for coda.jspf<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp b/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp deleted file mode 100644 index 0372889615a9f3fe0ca93918d1df16b6c2cab8a2..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp +++ /dev/null @@ -1,32 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - <h1>JSP 2.0 Examples - JSP Configuration</h1> - <hr> - <p>Using a <jsp-property-group> element in the web.xml - deployment descriptor, this JSP page has been configured in the - following ways:</p> - <ul> - <li>Uses <include-prelude> to include the top banner.</li> - <li>Uses <include-coda> to include the bottom banner.</li> - <li>Uses <scripting-invalid> true to disable - <% scripting %> elements</li> - <li>Uses <el-ignored> true to disable ${EL} elements</li> - <li>Uses <page-encoding> ISO-8859-1 to set the page encoding (though this is the default anyway)</li> - </ul> - There are various other configuration options that can be used. - diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp.html b/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp.html deleted file mode 100644 index 6ce33ff5e32b0869758daed41b97501d0457b87e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/config.jsp.html +++ /dev/null @@ -1,33 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> - <h1>JSP 2.0 Examples - JSP Configuration</h1> - <hr> - <p>Using a &lt;jsp-property-group&gt; element in the web.xml - deployment descriptor, this JSP page has been configured in the - following ways:</p> - <ul> - <li>Uses &lt;include-prelude&gt; to include the top banner.</li> - <li>Uses &lt;include-coda&gt; to include the bottom banner.</li> - <li>Uses &lt;scripting-invalid&gt; true to disable - &lt;% scripting %&gt; elements</li> - <li>Uses &lt;el-ignored&gt; true to disable ${EL} elements</li> - <li>Uses &lt;page-encoding&gt; ISO-8859-1 to set the page encoding (though this is the default anyway)</li> - </ul> - There are various other configuration options that can be used. - -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.html b/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.html deleted file mode 100644 index 4fa1bf14e6f834a350d07253b6f7d74f01238fe8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.html +++ /dev/null @@ -1,33 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="dynamicattrs.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="dynamicattrs.jsp.html">Source Code for dynamicattrs.jsp<font color="#0000FF"></a> - </font> </h3> -<h3><a href="EchoAttributesTag.java.html">Source Code for EchoAttributesTag.java<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp b/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp deleted file mode 100644 index 251c49dbc8e89c6e4b1d45957b3ddbeda1cedb78..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp +++ /dev/null @@ -1,44 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> -<html> - <head> - <title>JSP 2.0 Examples - Dynamic Attributes</title> - </head> - <body> - <h1>JSP 2.0 Examples - Dynamic Attributes</h1> - <hr> - <p>This JSP page invokes a custom tag that accepts a dynamic set - of attributes. The tag echoes the name and value of all attributes - passed to it.</p> - <hr> - <h2>Invocation 1 (six attributes)</h2> - <ul> - <my:echoAttributes x="1" y="2" z="3" r="red" g="green" b="blue"/> - </ul> - <h2>Invocation 2 (zero attributes)</h2> - <ul> - <my:echoAttributes/> - </ul> - <h2>Invocation 3 (three attributes)</h2> - <ul> - <my:echoAttributes dogName="Scruffy" - catName="Fluffy" - blowfishName="Puffy"/> - </ul> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html b/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html deleted file mode 100644 index 8f5ee18e7c30e018f1373175c0c9c683a403699f..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%> -<html> - <head> - <title>JSP 2.0 Examples - Dynamic Attributes</title> - </head> - <body> - <h1>JSP 2.0 Examples - Dynamic Attributes</h1> - <hr> - <p>This JSP page invokes a custom tag that accepts a dynamic set - of attributes. The tag echoes the name and value of all attributes - passed to it.</p> - <hr> - <h2>Invocation 1 (six attributes)</h2> - <ul> - <my:echoAttributes x="1" y="2" z="3" r="red" g="green" b="blue"/> - </ul> - <h2>Invocation 2 (zero attributes)</h2> - <ul> - <my:echoAttributes/> - </ul> - <h2>Invocation 3 (three attributes)</h2> - <ul> - <my:echoAttributes dogName="Scruffy" - catName="Fluffy" - blowfishName="Puffy"/> - </ul> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf b/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf deleted file mode 100644 index 05f7c845a1084ee0c9eeb98fad625509bdf87477..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf +++ /dev/null @@ -1,21 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<hr> -<center> -This banner included with <include-prelude> -</center> -<hr> diff --git a/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf.html b/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf.html deleted file mode 100644 index 8b2bcd056eb3338a80d1549bebc6c1900fd0254e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/misc/prelude.jspf.html +++ /dev/null @@ -1,22 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<hr> -<center> -This banner included with &lt;include-prelude&gt; -</center> -<hr> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html deleted file mode 100644 index 5c99dad403f3655d956e59452ba87462aa5f1adf..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples; - -public class BookBean { - private final String title; - private final String author; - private final String isbn; - - public BookBean( String title, String author, String isbn ) { - this.title = title; - this.author = author; - this.isbn = isbn; - } - - public String getTitle() { - return this.title; - } - - public String getAuthor() { - return this.author; - } - - public String getIsbn() { - return this.isbn; - } - -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html deleted file mode 100644 index 4deafca9fd79dbff589b71ee95a69cd1262a10d2..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -import jsp2.examples.BookBean; - -/** - * SimpleTag handler that pretends to search for a book, and stores - * the result in a scoped variable. - */ -public class FindBookSimpleTag extends SimpleTagSupport { - private String var; - - private static final String BOOK_TITLE = "The Lord of the Rings"; - private static final String BOOK_AUTHOR = "J. R. R. Tolkein"; - private static final String BOOK_ISBN = "0618002251"; - - @Override - public void doTag() throws JspException { - BookBean book = new BookBean( BOOK_TITLE, BOOK_AUTHOR, BOOK_ISBN ); - getJspContext().setAttribute( this.var, book ); - } - - public void setVar( String var ) { - this.var = var; - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/Functions.java.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/Functions.java.html deleted file mode 100644 index aa84cccc46dd097cad8b43b9f1e8e1b2398e847c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/Functions.java.html +++ /dev/null @@ -1,46 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package jsp2.examples.el; - -import java.util.Locale; - -/** - * Defines the functions for the jsp2 example tag library. - * - * <p>Each function is defined as a static method.</p> - */ -public class Functions { - public static String reverse( String text ) { - return new StringBuilder( text ).reverse().toString(); - } - - public static int numVowels( String text ) { - String vowels = "aeiouAEIOU"; - int result = 0; - for( int i = 0; i < text.length(); i++ ) { - if( vowels.indexOf( text.charAt( i ) ) != -1 ) { - result++; - } - } - return result; - } - - public static String caps( String text ) { - return text.toUpperCase(Locale.ENGLISH); - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html deleted file mode 100644 index 8c0bd4dc49c18e67a7a750bd46312cb633d3ca72..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html +++ /dev/null @@ -1,35 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that prints "Hello, world!" - */ -public class HelloWorldSimpleTag extends SimpleTagSupport { - @Override - public void doTag() throws JspException, IOException { - getJspContext().getOut().write( "Hello, world!" ); - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html deleted file mode 100644 index 12913fcdae1d4d38aac6d976b7b47e4cbf5bef27..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html +++ /dev/null @@ -1,45 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -package jsp2.examples.simpletag; - -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.SimpleTagSupport; - -/** - * SimpleTag handler that accepts a num attribute and - * invokes its body 'num' times. - */ -public class RepeatSimpleTag extends SimpleTagSupport { - private int num; - - @Override - public void doTag() throws JspException, IOException { - for (int i=0; i<num; i++) { - getJspContext().setAttribute("count", String.valueOf( i + 1 ) ); - getJspBody().invoke(null); - } - } - - public void setNum(int num) { - this.num = num; - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/book.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/book.html deleted file mode 100644 index 2841acf17f8b06afaaa12b1848eb99b71f34b5c8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/book.html +++ /dev/null @@ -1,37 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="book.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="book.jsp.html">Source Code for the Book Example JSP<font color="#0000FF"></a> - </font> </h3> -<h3><a href="FindBookSimpleTag.java.html">Source Code for the FindBook SimpleTag Handler<font color="#0000FF"></a> - </font> </h3> -<h3><a href="BookBean.java.html">Source Code for BookBean<font color="#0000FF"></a> - </font> </h3> -<h3><a href="Functions.java.html">Source Code for the EL Functions<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp b/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp deleted file mode 100644 index ba07cfb64ace92524a587ea9336320e3f1c3b0d0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp +++ /dev/null @@ -1,55 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> -<html> - <head> - <title>JSP 2.0 Examples - Book SimpleTag Handler</title> - </head> - <body> - <h1>JSP 2.0 Examples - Book SimpleTag Handler</h1> - <hr> - <p>Illustrates a semi-realistic use of SimpleTag and the Expression - Language. First, a <my:findBook> tag is invoked to populate - the page context with a BookBean. Then, the books fields are printed - in all caps.</p> - <br> - <b><u>Result:</u></b><br> - <my:findBook var="book"/> - <table border="1"> - <thead> - <td><b>Field</b></td> - <td><b>Value</b></td> - <td><b>Capitalized</b></td> - </thead> - <tr> - <td>Title</td> - <td>${book.title}</td> - <td>${my:caps(book.title)}</td> - </tr> - <tr> - <td>Author</td> - <td>${book.author}</td> - <td>${my:caps(book.author)}</td> - </tr> - <tr> - <td>ISBN</td> - <td>${book.isbn}</td> - <td>${my:caps(book.isbn)}</td> - </tr> - </table> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp.html deleted file mode 100644 index 51c27a0bd3c357fc3a7fb91549058c58f47bebf0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/book.jsp.html +++ /dev/null @@ -1,56 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> -<html> - <head> - <title>JSP 2.0 Examples - Book SimpleTag Handler</title> - </head> - <body> - <h1>JSP 2.0 Examples - Book SimpleTag Handler</h1> - <hr> - <p>Illustrates a semi-realistic use of SimpleTag and the Expression - Language. First, a &lt;my:findBook&gt; tag is invoked to populate - the page context with a BookBean. Then, the books fields are printed - in all caps.</p> - <br> - <b><u>Result:</u></b><br> - <my:findBook var="book"/> - <table border="1"> - <thead> - <td><b>Field</b></td> - <td><b>Value</b></td> - <td><b>Capitalized</b></td> - </thead> - <tr> - <td>Title</td> - <td>${book.title}</td> - <td>${my:caps(book.title)}</td> - </tr> - <tr> - <td>Author</td> - <td>${book.author}</td> - <td>${my:caps(book.author)}</td> - </tr> - <tr> - <td>ISBN</td> - <td>${book.isbn}</td> - <td>${my:caps(book.isbn)}</td> - </tr> - </table> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.html deleted file mode 100644 index 20cadf877c32f2466e53a31fd9d839db7c99d37f..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.html +++ /dev/null @@ -1,33 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="hello.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="hello.jsp.html">Source Code for the Hello World Tag Example JSP<font color="#0000FF"></a> - </font> </h3> -<h3><a href="HelloWorldSimpleTag.java.html">Source Code for the Hello World SimpleTag Handler<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp b/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp deleted file mode 100644 index d9f22a281a431ee4e00ec4f8fbf0c2cad03aa234..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp +++ /dev/null @@ -1,31 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> -<html> - <head> - <title>JSP 2.0 Examples - Hello World SimpleTag Handler</title> - </head> - <body> - <h1>JSP 2.0 Examples - Hello World SimpleTag Handler</h1> - <hr> - <p>This tag handler simply echos "Hello, World!" It's an example of - a very basic SimpleTag handler with no body.</p> - <br> - <b><u>Result:</u></b> - <mytag:helloWorld/> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html deleted file mode 100644 index 76f39739560d521670628c991a7e7b2445be562d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html +++ /dev/null @@ -1,32 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> -<html> - <head> - <title>JSP 2.0 Examples - Hello World SimpleTag Handler</title> - </head> - <body> - <h1>JSP 2.0 Examples - Hello World SimpleTag Handler</h1> - <hr> - <p>This tag handler simply echos "Hello, World!" It's an example of - a very basic SimpleTag handler with no body.</p> - <br> - <b><u>Result:</u></b> - <mytag:helloWorld/> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.html deleted file mode 100644 index a56bfcd2e70013cbca35d9b4413fc8033c7160a7..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.html +++ /dev/null @@ -1,33 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="repeat.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="repeat.jsp.html">Source Code for the Repeat Tag Example JSP<font color="#0000FF"></a> - </font> </h3> -<h3><a href="RepeatSimpleTag.java.html">Source Code for the Repeat SimpleTag Handler<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp b/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp deleted file mode 100644 index b12d0a91d75c51d98a7f04b4d85adb49e628d079..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp +++ /dev/null @@ -1,39 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> -<html> - <head> - <title>JSP 2.0 Examples - Repeat SimpleTag Handler</title> - </head> - <body> - <h1>JSP 2.0 Examples - Repeat SimpleTag Handler</h1> - <hr> - <p>This tag handler accepts a "num" parameter and repeats the body of the - tag "num" times. It's a simple example, but the implementation of - such a tag in JSP 2.0 is substantially simpler than the equivalent - JSP 1.2-style classic tag handler.</p> - <p>The body of the tag is encapsulated in a "JSP Fragment" and passed - to the tag handler, which then executes it five times, inside a - for loop. The tag handler passes in the current invocation in a - scoped variable called count, which can be accessed using the EL.</p> - <br> - <b><u>Result:</u></b><br> - <mytag:repeat num="5"> - Invocation ${count} of 5<br> - </mytag:repeat> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html b/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html deleted file mode 100644 index bd40cab6af4fc043de4105c6e30ee9fb45b2ce98..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html +++ /dev/null @@ -1,40 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %> -<html> - <head> - <title>JSP 2.0 Examples - Repeat SimpleTag Handler</title> - </head> - <body> - <h1>JSP 2.0 Examples - Repeat SimpleTag Handler</h1> - <hr> - <p>This tag handler accepts a "num" parameter and repeats the body of the - tag "num" times. It's a simple example, but the implementation of - such a tag in JSP 2.0 is substantially simpler than the equivalent - JSP 1.2-style classic tag handler.</p> - <p>The body of the tag is encapsulated in a "JSP Fragment" and passed - to the tag handler, which then executes it five times, inside a - for loop. The tag handler passes in the current invocation in a - scoped variable called count, which can be accessed using the EL.</p> - <br> - <b><u>Result:</u></b><br> - <mytag:repeat num="5"> - Invocation ${count} of 5<br> - </mytag:repeat> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html deleted file mode 100644 index dd488f22ca62f1986516bb604ad727e7d99dd6d4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html +++ /dev/null @@ -1,56 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ attribute name="normalPrice" fragment="true" %> -<%@ attribute name="onSale" fragment="true" %> -<%@ variable name-given="name" %> -<%@ variable name-given="price" %> -<%@ variable name-given="origPrice" %> -<%@ variable name-given="salePrice" %> - -<table border="1"> - <tr> - <td> - <c:set var="name" value="Hand-held Color PDA"/> - <c:set var="price" value="$298.86"/> - <jsp:invoke fragment="normalPrice"/> - </td> - <td> - <c:set var="name" value="4-Pack 150 Watt Light Bulbs"/> - <c:set var="origPrice" value="$2.98"/> - <c:set var="salePrice" value="$2.32"/> - <jsp:invoke fragment="onSale"/> - </td> - <td> - <c:set var="name" value="Digital Cellular Phone"/> - <c:set var="price" value="$68.74"/> - <jsp:invoke fragment="normalPrice"/> - </td> - <td> - <c:set var="name" value="Baby Grand Piano"/> - <c:set var="price" value="$10,800.00"/> - <jsp:invoke fragment="normalPrice"/> - </td> - <td> - <c:set var="name" value="Luxury Car w/ Leather Seats"/> - <c:set var="origPrice" value="$23,980.00"/> - <c:set var="salePrice" value="$21,070.00"/> - <jsp:invoke fragment="onSale"/> - </td> - </tr> -</table> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.html deleted file mode 100644 index f29a37969b2e4368b1e536d543447a56792f22d4..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.html +++ /dev/null @@ -1,33 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="hello.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="hello.jsp.html">Source Code for hello.jsp<font color="#0000FF"></a> - </font> </h3> -<h3><a href="helloWorld.tag.html">Source Code for helloWorld.tag<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp b/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp deleted file mode 100644 index 9b260f5f2d1bb9e78cb4e9c9e537ac8a66736de8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp +++ /dev/null @@ -1,35 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> -<html> - <head> - <title>JSP 2.0 Examples - Hello World Using a Tag File</title> - </head> - <body> - <h1>JSP 2.0 Examples - Hello World Using a Tag File</h1> - <hr> - <p>This JSP page invokes a custom tag that simply echos "Hello, World!" - The custom tag is generated from a tag file in the /WEB-INF/tags - directory.</p> - <p>Notice that we did not need to write a TLD for this tag. We just - created /WEB-INF/tags/helloWorld.tag, imported it using the taglib - directive, and used it!</p> - <br> - <b><u>Result:</u></b> - <tags:helloWorld/> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html deleted file mode 100644 index b431f30245ead6ddd153df3a2e7cdad68b80e355..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html +++ /dev/null @@ -1,36 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> -<html> - <head> - <title>JSP 2.0 Examples - Hello World Using a Tag File</title> - </head> - <body> - <h1>JSP 2.0 Examples - Hello World Using a Tag File</h1> - <hr> - <p>This JSP page invokes a custom tag that simply echos "Hello, World!" - The custom tag is generated from a tag file in the /WEB-INF/tags - directory.</p> - <p>Notice that we did not need to write a TLD for this tag. We just - created /WEB-INF/tags/helloWorld.tag, imported it using the taglib - directive, and used it!</p> - <br> - <b><u>Result:</u></b> - <tags:helloWorld/> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/helloWorld.tag.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/helloWorld.tag.html deleted file mode 100644 index f29726f43fcd7a40a87fc4d168308c92dfec9fd8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/helloWorld.tag.html +++ /dev/null @@ -1,18 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -Hello, world! -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.html deleted file mode 100644 index 1f03b9cab7b29b8faef3aed2cafc1476cc82cb8a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.html +++ /dev/null @@ -1,33 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="panel.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="panel.jsp.html">Source Code for panel.jsp<font color="#0000FF"></a> - </font> </h3> -<h3><a href="panel.tag.html">Source Code for panel.tag<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp b/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp deleted file mode 100644 index d96387789ce1b38ab8397dd628761a2f46b2ceeb..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp +++ /dev/null @@ -1,58 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> -<html> - <head> - <title>JSP 2.0 Examples - Panels using Tag Files</title> - </head> - <body> - <h1>JSP 2.0 Examples - Panels using Tag Files</h1> - <hr> - <p>This JSP page invokes a custom tag that draws a - panel around the contents of the tag body. Normally, such a tag - implementation would require a Java class with many println() statements, - outputting HTML. Instead, we can use a .tag file as a template, - and we don't need to write a single line of Java or even a TLD!</p> - <hr> - <table border="0"> - <tr valign="top"> - <td> - <tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1"> - First panel.<br/> - </tags:panel> - </td> - <td> - <tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2"> - Second panel.<br/> - Second panel.<br/> - Second panel.<br/> - Second panel.<br/> - </tags:panel> - </td> - <td> - <tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3"> - Third panel.<br/> - <tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner"> - A panel in a panel. - </tags:panel> - Third panel.<br/> - </tags:panel> - </td> - </tr> - </table> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html deleted file mode 100644 index 584393de2c99d26e0fc10676ff9f6354d350521d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html +++ /dev/null @@ -1,59 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> -<html> - <head> - <title>JSP 2.0 Examples - Panels using Tag Files</title> - </head> - <body> - <h1>JSP 2.0 Examples - Panels using Tag Files</h1> - <hr> - <p>This JSP page invokes a custom tag that draws a - panel around the contents of the tag body. Normally, such a tag - implementation would require a Java class with many println() statements, - outputting HTML. Instead, we can use a .tag file as a template, - and we don't need to write a single line of Java or even a TLD!</p> - <hr> - <table border="0"> - <tr valign="top"> - <td> - <tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1"> - First panel.<br/> - </tags:panel> - </td> - <td> - <tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2"> - Second panel.<br/> - Second panel.<br/> - Second panel.<br/> - Second panel.<br/> - </tags:panel> - </td> - <td> - <tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3"> - Third panel.<br/> - <tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner"> - A panel in a panel. - </tags:panel> - Third panel.<br/> - </tags:panel> - </td> - </tr> - </table> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.tag.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.tag.html deleted file mode 100644 index aec91c306f06e10f89a2eafee0e6bdaa1606d2aa..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/panel.tag.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<%@ attribute name="color" %> -<%@ attribute name="bgcolor" %> -<%@ attribute name="title" %> -<table border="1" bgcolor="${color}"> - <tr> - <td><b>${title}</b></td> - </tr> - <tr> - <td bgcolor="${bgcolor}"> - <jsp:doBody/> - </td> - </tr> -</table> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.html deleted file mode 100644 index 72ae49ff2c63139391393119047cfacd2a0b4934..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.html +++ /dev/null @@ -1,33 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>View Source Code</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="products.jsp"><img src="../../images/execute.gif" align="right" border="0"></a> -<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="products.jsp.html">Source Code for products.jsp<font color="#0000FF"></a> - </font> </h3> -<h3><a href="displayProducts.tag.html">Source Code for displayProducts.tag<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp b/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp deleted file mode 100644 index 7f32ffb4d6b53c40edfd81f1e7ce485e5afba755..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp +++ /dev/null @@ -1,54 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> -<html> - <head> - <title>JSP 2.0 Examples - Display Products Tag File</title> - </head> - <body> - <h1>JSP 2.0 Examples - Display Products Tag File</h1> - <hr> - <p>This JSP page invokes a tag file that displays a listing of - products. The custom tag accepts two fragments that enable - customization of appearance. One for when the product is on sale - and one for normal price.</p> - <p>The tag is invoked twice, using different styles</p> - <hr> - <h2>Products</h2> - <tags:displayProducts> - <jsp:attribute name="normalPrice"> - Item: ${name}<br/> - Price: ${price} - </jsp:attribute> - <jsp:attribute name="onSale"> - Item: ${name}<br/> - <font color="red"><strike>Was: ${origPrice}</strike></font><br/> - <b>Now: ${salePrice}</b> - </jsp:attribute> - </tags:displayProducts> - <hr> - <h2>Products (Same tag, alternate style)</h2> - <tags:displayProducts> - <jsp:attribute name="normalPrice"> - <b>${name}</b> @ ${price} ea. - </jsp:attribute> - <jsp:attribute name="onSale"> - <b>${name}</b> @ ${salePrice} ea. (was: ${origPrice}) - </jsp:attribute> - </tags:displayProducts> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html b/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html deleted file mode 100644 index 6d6fc10389d954111c43ca7783198b2edac1cd5c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html +++ /dev/null @@ -1,55 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> -<html> - <head> - <title>JSP 2.0 Examples - Display Products Tag File</title> - </head> - <body> - <h1>JSP 2.0 Examples - Display Products Tag File</h1> - <hr> - <p>This JSP page invokes a tag file that displays a listing of - products. The custom tag accepts two fragments that enable - customization of appearance. One for when the product is on sale - and one for normal price.</p> - <p>The tag is invoked twice, using different styles</p> - <hr> - <h2>Products</h2> - <tags:displayProducts> - <jsp:attribute name="normalPrice"> - Item: ${name}<br/> - Price: ${price} - </jsp:attribute> - <jsp:attribute name="onSale"> - Item: ${name}<br/> - <font color="red"><strike>Was: ${origPrice}</strike></font><br/> - <b>Now: ${salePrice}</b> - </jsp:attribute> - </tags:displayProducts> - <hr> - <h2>Products (Same tag, alternate style)</h2> - <tags:displayProducts> - <jsp:attribute name="normalPrice"> - <b>${name}</b> @ ${price} ea. - </jsp:attribute> - <jsp:attribute name="onSale"> - <b>${name}</b> @ ${salePrice} ea. (was: ${origPrice}) - </jsp:attribute> - </tags:displayProducts> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsptoserv/ServletToJsp.java.html b/tomcat/webapps/examples/jsp/jsptoserv/ServletToJsp.java.html deleted file mode 100644 index 0a3803705e880323c791ae3b806988c0cf4b7bc0..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsptoserv/ServletToJsp.java.html +++ /dev/null @@ -1,40 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre>/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -public class ServletToJsp extends HttpServlet { - - private static final long serialVersionUID = 1L; - - @Override - public void doGet (HttpServletRequest request, - HttpServletResponse response) { - - try { - // Set the attribute and Forward to hello.jsp - request.setAttribute ("servletName", "servletToJsp"); - getServletConfig().getServletContext().getRequestDispatcher( - "/jsp/jsptoserv/hello.jsp").forward(request, response); - } catch (Exception ex) { - ex.printStackTrace (); - } - } -} -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp b/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp deleted file mode 100644 index 8b2a43f555eef356cefeda6074fd810077aa0197..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp +++ /dev/null @@ -1,26 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> - -<h1> -I have been invoked by -<% out.print (request.getAttribute("servletName").toString()); %> -Servlet. -</h1> - -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp.html b/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp.html deleted file mode 100644 index 6ed71761689ffdbff96bb3b6d3e8d8f509fb07fa..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsptoserv/hello.jsp.html +++ /dev/null @@ -1,27 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> - -<h1> -I have been invoked by -<% out.print (request.getAttribute("servletName").toString()); %> -Servlet. -</h1> - -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp b/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp deleted file mode 100644 index db68a6ff07b33c57e7a7ae67325d06dfcbb4f393..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp +++ /dev/null @@ -1,23 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> - -<!-- Forward to a servlet --> -<jsp:forward page="/servletToJsp" /> - -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp.html b/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp.html deleted file mode 100644 index a5dc22cca5217808b55342b1208dc2fe28c3b0f8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsptoserv/jsptoservlet.jsp.html +++ /dev/null @@ -1,24 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> - -<!-- Forward to a servlet --> -<jsp:forward page="/servletToJsp" /> - -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/jsptoserv/jts.html b/tomcat/webapps/examples/jsp/jsptoserv/jts.html deleted file mode 100644 index a4e16794a3af66037a69bbfce717d7efec891800..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/jsptoserv/jts.html +++ /dev/null @@ -1,36 +0,0 @@ -<!DOCTYPE html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<meta charset="UTF-8" /> -<title>Untitled Document</title> -<style type="text/css"> -img { border: 0; } -</style> -</head> - -<body> -<p><a href="jsptoservlet.jsp"><img src="../images/execute.gif" alt=""> Execute</a><br /> -<a href="../index.html"><img src="../images/return.gif" alt=""> Return</a></p> - -<p style="font-size: 1.4em;"><a href="jsptoservlet.jsp.html">Source Code for JSP calling servlet</a></p> - -<p style="font-size: 1.4em;"><a href="ServletToJsp.java.html">Source Code for Servlet calling JSP</a></p> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/num/numguess.html b/tomcat/webapps/examples/jsp/num/numguess.html deleted file mode 100644 index 1c5a4844aa17f4019c1e12d4e427bbe51c54626c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/num/numguess.html +++ /dev/null @@ -1,34 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - Number Guess Game - Written by Jason Hunter, CTO, K&A Software - http://www.servlets.com ---> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="numguess.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="numguess.jsp.html">Source Code for Numguess Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/num/numguess.jsp b/tomcat/webapps/examples/jsp/num/numguess.jsp deleted file mode 100644 index d9c61b912db5e251c9c467bb065b9dc6612e830c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/num/numguess.jsp +++ /dev/null @@ -1,69 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - Number Guess Game - Written by Jason Hunter, CTO, K&A Software - http://www.servlets.com ---%> - -<%@ page import = "num.NumberGuessBean" %> - -<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/> -<jsp:setProperty name="numguess" property="*"/> - -<html> -<head><title>Number Guess</title></head> -<body bgcolor="white"> -<font size=4> - -<% if (numguess.getSuccess()) { %> - - Congratulations! You got it. - And after just <%= numguess.getNumGuesses() %> tries.<p> - - <% numguess.reset(); %> - - Care to <a href="numguess.jsp">try again</a>? - -<% } else if (numguess.getNumGuesses() == 0) { %> - - Welcome to the Number Guess game.<p> - - I'm thinking of a number between 1 and 100.<p> - - <form method=get> - What's your guess? <input type=text name=guess> - <input type=submit value="Submit"> - </form> - -<% } else { %> - - Good guess, but nope. Try <b><%= numguess.getHint() %></b>. - - You have made <%= numguess.getNumGuesses() %> guesses.<p> - - I'm thinking of a number between 1 and 100.<p> - - <form method=get> - What's your guess? <input type=text name=guess> - <input type=submit value="Submit"> - </form> - -<% } %> - -</font> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/num/numguess.jsp.html b/tomcat/webapps/examples/jsp/num/numguess.jsp.html deleted file mode 100644 index e7640419ae74ab90aab4d4ccff996265f8772f5e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/num/numguess.jsp.html +++ /dev/null @@ -1,70 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - Number Guess Game - Written by Jason Hunter, CTO, K&A Software - http://www.servlets.com ---%> - -<%@ page import = "num.NumberGuessBean" %> - -<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/> -<jsp:setProperty name="numguess" property="*"/> - -<html> -<head><title>Number Guess</title></head> -<body bgcolor="white"> -<font size=4> - -<% if (numguess.getSuccess()) { %> - - Congratulations! You got it. - And after just <%= numguess.getNumGuesses() %> tries.<p> - - <% numguess.reset(); %> - - Care to <a href="numguess.jsp">try again</a>? - -<% } else if (numguess.getNumGuesses() == 0) { %> - - Welcome to the Number Guess game.<p> - - I'm thinking of a number between 1 and 100.<p> - - <form method=get> - What's your guess? <input type=text name=guess> - <input type=submit value="Submit"> - </form> - -<% } else { %> - - Good guess, but nope. Try <b><%= numguess.getHint() %></b>. - - You have made <%= numguess.getNumGuesses() %> guesses.<p> - - I'm thinking of a number between 1 and 100.<p> - - <form method=get> - What's your guess? <input type=text name=guess> - <input type=submit value="Submit"> - </form> - -<% } %> - -</font> -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/plugin/applet/Clock2.java b/tomcat/webapps/examples/jsp/plugin/applet/Clock2.java deleted file mode 100644 index 4ea737a735275e5efb94519ed09477ea7c87987a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/plugin/applet/Clock2.java +++ /dev/null @@ -1,230 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import java.applet.Applet; -import java.awt.Color; -import java.awt.Font; -import java.awt.Graphics; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Locale; - -/** - * Time! - * - * @author Rachel Gollub - */ - -public class Clock2 extends Applet implements Runnable { - private static final long serialVersionUID = 1L; - Thread timer; // The thread that displays clock - int lastxs, lastys, lastxm, - lastym, lastxh, lastyh; // Dimensions used to draw hands - SimpleDateFormat formatter; // Formats the date displayed - String lastdate; // String to hold date displayed - Font clockFaceFont; // Font for number display on clock - Date currentDate; // Used to get date to display - Color handColor; // Color of main hands and dial - Color numberColor; // Color of second hand and numbers - - @Override - public void init() { - lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0; - formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault()); - currentDate = new Date(); - lastdate = formatter.format(currentDate); - clockFaceFont = new Font("Serif", Font.PLAIN, 14); - handColor = Color.blue; - numberColor = Color.darkGray; - - try { - setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16))); - } catch (Exception e) { - // Ignored - } - try { - handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16)); - } catch (Exception e) { - // Ignored - } - try { - numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16)); - } catch (Exception e) { - // Ignored - } - resize(300,300); // Set clock window size - } - - // Plotpoints allows calculation to only cover 45 degrees of the circle, - // and then mirror - public void plotpoints(int x0, int y0, int x, int y, Graphics g) { - g.drawLine(x0+x,y0+y,x0+x,y0+y); - g.drawLine(x0+y,y0+x,x0+y,y0+x); - g.drawLine(x0+y,y0-x,x0+y,y0-x); - g.drawLine(x0+x,y0-y,x0+x,y0-y); - g.drawLine(x0-x,y0-y,x0-x,y0-y); - g.drawLine(x0-y,y0-x,x0-y,y0-x); - g.drawLine(x0-y,y0+x,x0-y,y0+x); - g.drawLine(x0-x,y0+y,x0-x,y0+y); - } - - // Circle is just Bresenham's algorithm for a scan converted circle - public void circle(int x0, int y0, int r, Graphics g) { - int x,y; - float d; - x=0; - y=r; - d=5/4-r; - plotpoints(x0,y0,x,y,g); - - while (y>x){ - if (d<0) { - d=d+2*x+3; - x++; - } - else { - d=d+2*(x-y)+5; - x++; - y--; - } - plotpoints(x0,y0,x,y,g); - } - } - - // Paint is the main part of the program - @Override - public void paint(Graphics g) { - int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter; - String today; - - currentDate = new Date(); - SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault()); - try { - s = Integer.parseInt(formatter.format(currentDate)); - } catch (NumberFormatException n) { - s = 0; - } - formatter.applyPattern("m"); - try { - m = Integer.parseInt(formatter.format(currentDate)); - } catch (NumberFormatException n) { - m = 10; - } - formatter.applyPattern("h"); - try { - h = Integer.parseInt(formatter.format(currentDate)); - } catch (NumberFormatException n) { - h = 10; - } - formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy"); - today = formatter.format(currentDate); - xcenter=80; - ycenter=55; - - // a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00) - // x = r(cos a) + xcenter, y = r(sin a) + ycenter - - xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter); - ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter); - xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter); - ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter); - xh = (int)(Math.cos((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + xcenter); - yh = (int)(Math.sin((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + ycenter); - - // Draw the circle and numbers - - g.setFont(clockFaceFont); - g.setColor(handColor); - circle(xcenter,ycenter,50,g); - g.setColor(numberColor); - g.drawString("9",xcenter-45,ycenter+3); - g.drawString("3",xcenter+40,ycenter+3); - g.drawString("12",xcenter-5,ycenter-37); - g.drawString("6",xcenter-3,ycenter+45); - - // Erase if necessary, and redraw - - g.setColor(getBackground()); - if (xs != lastxs || ys != lastys) { - g.drawLine(xcenter, ycenter, lastxs, lastys); - g.drawString(lastdate, 5, 125); - } - if (xm != lastxm || ym != lastym) { - g.drawLine(xcenter, ycenter-1, lastxm, lastym); - g.drawLine(xcenter-1, ycenter, lastxm, lastym); } - if (xh != lastxh || yh != lastyh) { - g.drawLine(xcenter, ycenter-1, lastxh, lastyh); - g.drawLine(xcenter-1, ycenter, lastxh, lastyh); } - g.setColor(numberColor); - g.drawString("", 5, 125); - g.drawString(today, 5, 125); - g.drawLine(xcenter, ycenter, xs, ys); - g.setColor(handColor); - g.drawLine(xcenter, ycenter-1, xm, ym); - g.drawLine(xcenter-1, ycenter, xm, ym); - g.drawLine(xcenter, ycenter-1, xh, yh); - g.drawLine(xcenter-1, ycenter, xh, yh); - lastxs=xs; lastys=ys; - lastxm=xm; lastym=ym; - lastxh=xh; lastyh=yh; - lastdate = today; - currentDate=null; - } - - @Override - public void start() { - timer = new Thread(this); - timer.start(); - } - - @Override - public void stop() { - timer = null; - } - - @Override - public void run() { - Thread me = Thread.currentThread(); - while (timer == me) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - } - repaint(); - } - } - - @Override - public void update(Graphics g) { - paint(g); - } - - @Override - public String getAppletInfo() { - return "Title: A Clock \nAuthor: Rachel Gollub, 1995 \nAn analog clock."; - } - - @Override - public String[][] getParameterInfo() { - String[][] info = { - {"bgcolor", "hexadecimal RGB number", "The background color. Default is the color of your browser."}, - {"fgcolor1", "hexadecimal RGB number", "The color of the hands and dial. Default is blue."}, - {"fgcolor2", "hexadecimal RGB number", "The color of the seconds hand and numbers. Default is dark gray."} - }; - return info; - } -} diff --git a/tomcat/webapps/examples/jsp/plugin/plugin.html b/tomcat/webapps/examples/jsp/plugin/plugin.html deleted file mode 100644 index 27bc51b131ff9de2f0503557803b7c5488af1f7b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/plugin/plugin.html +++ /dev/null @@ -1,30 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="plugin.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="plugin.jsp.html">Source Code for Plugin Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/plugin/plugin.jsp b/tomcat/webapps/examples/jsp/plugin/plugin.jsp deleted file mode 100644 index a07dda3af5815125dfd50303a838fe015dec310b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/plugin/plugin.jsp +++ /dev/null @@ -1,34 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<title> Plugin example </title> -<body bgcolor="white"> -<h3> Current time is : </h3> -<jsp:plugin type="applet" code="Clock2.class" codebase="applet" jreversion="1.2" width="160" height="150" > - <jsp:fallback> - Plugin tag OBJECT or EMBED not supported by browser. - </jsp:fallback> -</jsp:plugin> -<p> -<h4> -<font color=red> -The above applet is loaded using the Java Plugin from a jsp page using the -plugin tag. -</font> -</h4> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/plugin/plugin.jsp.html b/tomcat/webapps/examples/jsp/plugin/plugin.jsp.html deleted file mode 100644 index 710bda762841580b802b8cc55d84bf444d4f25fa..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/plugin/plugin.jsp.html +++ /dev/null @@ -1,35 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<title> Plugin example </title> -<body bgcolor="white"> -<h3> Current time is : </h3> -<jsp:plugin type="applet" code="Clock2.class" codebase="applet" jreversion="1.2" width="160" height="150" > - <jsp:fallback> - Plugin tag OBJECT or EMBED not supported by browser. - </jsp:fallback> -</jsp:plugin> -<p> -<h4> -<font color=red> -The above applet is loaded using the Java Plugin from a jsp page using the -plugin tag. -</font> -</h4> -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/security/protected/error.jsp b/tomcat/webapps/examples/jsp/security/protected/error.jsp deleted file mode 100644 index 3ef57434161a94bc32eb8408308832b85adcf787..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/security/protected/error.jsp +++ /dev/null @@ -1,25 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<head> -<title>Error Page For Examples</title> -</head> -<body bgcolor="white"> -Invalid username and/or password, please try -<a href='<%= response.encodeURL("index.jsp") %>'>again</a>. -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/security/protected/error.jsp.html b/tomcat/webapps/examples/jsp/security/protected/error.jsp.html deleted file mode 100644 index 50ec895acf1fb73aef22b0a01c317b08ea0e9f6a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/security/protected/error.jsp.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<head> -<title>Error Page For Examples</title> -</head> -<body bgcolor="white"> -Invalid username and/or password, please try -<a href='<%= response.encodeURL("index.jsp") %>'>again</a>. -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/security/protected/index.jsp b/tomcat/webapps/examples/jsp/security/protected/index.jsp deleted file mode 100644 index eacf27acbc33a46d538609817fe1ca941e51e873..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/security/protected/index.jsp +++ /dev/null @@ -1,82 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<% - if (request.getParameter("logoff") != null) { - session.invalidate(); - response.sendRedirect("index.jsp"); - return; - } -%> -<html> -<head> -<title>Protected Page for Examples</title> -</head> -<body bgcolor="white"> - -You are logged in as remote user -<b><%= util.HTMLFilter.filter(request.getRemoteUser()) %></b> -in session <b><%= session.getId() %></b><br><br> - -<% - if (request.getUserPrincipal() != null) { -%> - Your user principal name is - <b><%= util.HTMLFilter.filter(request.getUserPrincipal().getName()) %></b> - <br><br> -<% - } else { -%> - No user principal could be identified.<br><br> -<% - } -%> - -<% - String role = request.getParameter("role"); - if (role == null) - role = ""; - if (role.length() > 0) { - if (request.isUserInRole(role)) { -%> - You have been granted role - <b><%= util.HTMLFilter.filter(role) %></b><br><br> -<% - } else { -%> - You have <i>not</i> been granted role - <b><%= util.HTMLFilter.filter(role) %></b><br><br> -<% - } - } -%> - -To check whether your user name has been granted a particular role, -enter it here: -<form method="GET" action='<%= response.encodeURL("index.jsp") %>'> -<input type="text" name="role" value="<%= util.HTMLFilter.filter(role) %>"> -<input type="submit" > -</form> -<br><br> - -If you have configured this application for form-based authentication, you can -log off by clicking -<a href='<%= response.encodeURL("index.jsp?logoff=true") %>'>here</a>. -This should cause you to be returned to the login page after the redirect -that is performed. - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/security/protected/index.jsp.html b/tomcat/webapps/examples/jsp/security/protected/index.jsp.html deleted file mode 100644 index cadf810cf888cb4b0b38eb06b0455dfca89a1a44..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/security/protected/index.jsp.html +++ /dev/null @@ -1,83 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<% - if (request.getParameter("logoff") != null) { - session.invalidate(); - response.sendRedirect("index.jsp"); - return; - } -%> -<html> -<head> -<title>Protected Page for Examples</title> -</head> -<body bgcolor="white"> - -You are logged in as remote user -<b><%= util.HTMLFilter.filter(request.getRemoteUser()) %></b> -in session <b><%= session.getId() %></b><br><br> - -<% - if (request.getUserPrincipal() != null) { -%> - Your user principal name is - <b><%= util.HTMLFilter.filter(request.getUserPrincipal().getName()) %></b> - <br><br> -<% - } else { -%> - No user principal could be identified.<br><br> -<% - } -%> - -<% - String role = request.getParameter("role"); - if (role == null) - role = ""; - if (role.length() > 0) { - if (request.isUserInRole(role)) { -%> - You have been granted role - <b><%= util.HTMLFilter.filter(role) %></b><br><br> -<% - } else { -%> - You have <i>not</i> been granted role - <b><%= util.HTMLFilter.filter(role) %></b><br><br> -<% - } - } -%> - -To check whether your user name has been granted a particular role, -enter it here: -<form method="GET" action='<%= response.encodeURL("index.jsp") %>'> -<input type="text" name="role" value="<%= util.HTMLFilter.filter(role) %>"> -<input type="submit" > -</form> -<br><br> - -If you have configured this application for form-based authentication, you can -log off by clicking -<a href='<%= response.encodeURL("index.jsp?logoff=true") %>'>here</a>. -This should cause you to be returned to the login page after the redirect -that is performed. - -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/security/protected/login.jsp b/tomcat/webapps/examples/jsp/security/protected/login.jsp deleted file mode 100644 index e11a898c7dbfa8ca8ce4551a786fccf3ec08374c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/security/protected/login.jsp +++ /dev/null @@ -1,38 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<head> -<title>Login Page for Examples</title> -<body bgcolor="white"> -<form method="POST" action='<%= response.encodeURL("j_security_check") %>' > - <table border="0" cellspacing="5"> - <tr> - <th align="right">Username:</th> - <td align="left"><input type="text" name="j_username"></td> - </tr> - <tr> - <th align="right">Password:</th> - <td align="left"><input type="password" name="j_password"></td> - </tr> - <tr> - <td align="right"><input type="submit" value="Log In"></td> - <td align="left"><input type="reset"></td> - </tr> - </table> -</form> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/security/protected/login.jsp.html b/tomcat/webapps/examples/jsp/security/protected/login.jsp.html deleted file mode 100644 index 5726e3207fb217202658a8eb2efa5aa2df431217..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/security/protected/login.jsp.html +++ /dev/null @@ -1,39 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<head> -<title>Login Page for Examples</title> -<body bgcolor="white"> -<form method="POST" action='<%= response.encodeURL("j_security_check") %>' > - <table border="0" cellspacing="5"> - <tr> - <th align="right">Username:</th> - <td align="left"><input type="text" name="j_username"></td> - </tr> - <tr> - <th align="right">Password:</th> - <td align="left"><input type="password" name="j_password"></td> - </tr> - <tr> - <td align="right"><input type="submit" value="Log In"></td> - <td align="left"><input type="reset"></td> - </tr> - </table> -</form> -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/sessions/DummyCart.html b/tomcat/webapps/examples/jsp/sessions/DummyCart.html deleted file mode 100644 index d953fa9209762862c415d10d53337384ec0bb61b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/sessions/DummyCart.html +++ /dev/null @@ -1,56 +0,0 @@ -<HTML> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<HEAD> -<title> -sessions.DummyCart Bean Properties -</title> -<BODY BGCOLOR="white"> -<H2> -sessions.DummyCart Bean Properties -</H2> -<HR> -<DL> -<DT>public class <B>DummyCart</B><DT>extends Object</DL> - -<P> -<HR> - -<P> - -<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0"> -<TR BGCOLOR="#EEEEFF"> -<TD COLSPAN=3><FONT SIZE="+2"> -<B>Properties Summary</B></FONT></TD> -</TR> -<TR BGCOLOR="white"> -<td align="right" valign="top" width="1%"> -<FONT SIZE="-1"> -String -</FONT></TD> -<TD><B>DummyCart:items</B> -<BR> - </TD> -<td width="1%"> -<FONT SIZE="-1"> -Multi -</FONT></TD> -</TABLE> -<HR> -</BODY> -</HTML> diff --git a/tomcat/webapps/examples/jsp/sessions/carts.html b/tomcat/webapps/examples/jsp/sessions/carts.html deleted file mode 100644 index 834ee0a594fd5b2c623a8adc0c5e3af304772a52..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/sessions/carts.html +++ /dev/null @@ -1,53 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> - <title>carts</title> -</head> - - <body bgcolor="white"> -<font size = 5 color="#CC0000"> - -<form type=POST action=carts.jsp> -<BR> -Please enter item to add or remove: -<br> -Add Item: - -<SELECT NAME="item"> -<OPTION>Beavis & Butt-head Video collection -<OPTION>X-files movie -<OPTION>Twin peaks tapes -<OPTION>NIN CD -<OPTION>JSP Book -<OPTION>Concert tickets -<OPTION>Love life -<OPTION>Switch blade -<OPTION>Rex, Rugs & Rock n' Roll -</SELECT> - - -<br> <br> -<INPUT TYPE=submit name="submit" value="add"> -<INPUT TYPE=submit name="submit" value="remove"> - -</form> - -</FONT> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/sessions/carts.jsp b/tomcat/webapps/examples/jsp/sessions/carts.jsp deleted file mode 100644 index 6fba47d9fb50d61e20371136c7aefa8ad350e5af..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/sessions/carts.jsp +++ /dev/null @@ -1,43 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<jsp:useBean id="cart" scope="session" class="sessions.DummyCart" /> - -<jsp:setProperty name="cart" property="*" /> -<% - cart.processRequest(); -%> - - -<FONT size = 5 COLOR="#CC0000"> -<br> You have the following items in your cart: -<ol> -<% - String[] items = cart.getItems(); - for (int i=0; i<items.length; i++) { -%> -<li> <% out.print(util.HTMLFilter.filter(items[i])); %> -<% - } -%> -</ol> - -</FONT> - -<hr> -<%@ include file ="carts.html" %> -</html> diff --git a/tomcat/webapps/examples/jsp/sessions/carts.jsp.html b/tomcat/webapps/examples/jsp/sessions/carts.jsp.html deleted file mode 100644 index cb2325ffa4b90dbddb7738e4a7cf65cd24e713e6..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/sessions/carts.jsp.html +++ /dev/null @@ -1,44 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<jsp:useBean id="cart" scope="session" class="sessions.DummyCart" /> - -<jsp:setProperty name="cart" property="*" /> -<% - cart.processRequest(); -%> - - -<FONT size = 5 COLOR="#CC0000"> -<br> You have the following items in your cart: -<ol> -<% - String[] items = cart.getItems(); - for (int i=0; i<items.length; i++) { -%> -<li> <% out.print(util.HTMLFilter.filter(items[i])); %> -<% - } -%> -</ol> - -</FONT> - -<hr> -<%@ include file ="carts.html" %> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/sessions/crt.html b/tomcat/webapps/examples/jsp/sessions/crt.html deleted file mode 100644 index 11e6edafe0e9167a5f573763a888736cedb8310e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/sessions/crt.html +++ /dev/null @@ -1,34 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="carts.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="carts.jsp.html">Source Code for Cart Example<font color="#0000FF"></a> - </font> </h3> - -<h3><a href="DummyCart.html">Property Sheet for DummyCart -<font color="#0000FF"></a> </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/simpletag/foo.html b/tomcat/webapps/examples/jsp/simpletag/foo.html deleted file mode 100644 index e20f840b7b9786e64c52c8fcfa33be70b1fd0a4b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/simpletag/foo.html +++ /dev/null @@ -1,30 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="foo.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="foo.jsp.html">Source Code for the Simple Tag Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/simpletag/foo.jsp b/tomcat/webapps/examples/jsp/simpletag/foo.jsp deleted file mode 100644 index 2489146033af4be8d36a1c46f032a10da35783a2..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/simpletag/foo.jsp +++ /dev/null @@ -1,38 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body> -<%@ taglib uri="http://tomcat.apache.org/example-taglib" prefix="eg"%> - -Radio stations that rock: - -<ul> -<eg:foo att1="98.5" att2="92.3" att3="107.7"> -<li><%= member %></li> -</eg:foo> -</ul> - -<eg:log> -Did you see me on the stderr window? -</eg:log> - -<eg:log toBrowser="true"> -Did you see me on the browser window as well? -</eg:log> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/simpletag/foo.jsp.html b/tomcat/webapps/examples/jsp/simpletag/foo.jsp.html deleted file mode 100644 index 02693c89c20f3486fac8ec552954c4d6541f013b..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/simpletag/foo.jsp.html +++ /dev/null @@ -1,39 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body> -<%@ taglib uri="http://tomcat.apache.org/example-taglib" prefix="eg"%> - -Radio stations that rock: - -<ul> -<eg:foo att1="98.5" att2="92.3" att3="107.7"> -<li><%= member %></li> -</eg:foo> -</ul> - -<eg:log> -Did you see me on the stderr window? -</eg:log> - -<eg:log toBrowser="true"> -Did you see me on the browser window as well? -</eg:log> - -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/snp/snoop.html b/tomcat/webapps/examples/jsp/snp/snoop.html deleted file mode 100644 index e48355b4351d6064ce9e4d882653d8d299c197eb..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/snp/snoop.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="snoop.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="snoop.jsp.html">Source Code for Request Parameters Example<font color="#0000FF"> - </font></a></h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/snp/snoop.jsp b/tomcat/webapps/examples/jsp/snp/snoop.jsp deleted file mode 100644 index 9bb57a85f119ef20a77109f739470f9ccb5764ea..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/snp/snoop.jsp +++ /dev/null @@ -1,56 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> -<h1> Request Information </h1> -<font size="4"> -JSP Request Method: <%= util.HTMLFilter.filter(request.getMethod()) %> -<br> -Request URI: <%= util.HTMLFilter.filter(request.getRequestURI()) %> -<br> -Request Protocol: <%= util.HTMLFilter.filter(request.getProtocol()) %> -<br> -Servlet path: <%= util.HTMLFilter.filter(request.getServletPath()) %> -<br> -Path info: <%= util.HTMLFilter.filter(request.getPathInfo()) %> -<br> -Query string: <%= util.HTMLFilter.filter(request.getQueryString()) %> -<br> -Content length: <%= request.getContentLength() %> -<br> -Content type: <%= util.HTMLFilter.filter(request.getContentType()) %> -<br> -Server name: <%= util.HTMLFilter.filter(request.getServerName()) %> -<br> -Server port: <%= request.getServerPort() %> -<br> -Remote user: <%= util.HTMLFilter.filter(request.getRemoteUser()) %> -<br> -Remote address: <%= util.HTMLFilter.filter(request.getRemoteAddr()) %> -<br> -Remote host: <%= util.HTMLFilter.filter(request.getRemoteHost()) %> -<br> -Authorization scheme: <%= util.HTMLFilter.filter(request.getAuthType()) %> -<br> -Locale: <%= request.getLocale() %> -<hr> -The browser you are using is -<%= util.HTMLFilter.filter(request.getHeader("User-Agent")) %> -<hr> -</font> -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/snp/snoop.jsp.html b/tomcat/webapps/examples/jsp/snp/snoop.jsp.html deleted file mode 100644 index 00bf89b4954634dbc302e45634e872e21f035bdf..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/snp/snoop.jsp.html +++ /dev/null @@ -1,57 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> -<body bgcolor="white"> -<h1> Request Information </h1> -<font size="4"> -JSP Request Method: <%= util.HTMLFilter.filter(request.getMethod()) %> -<br> -Request URI: <%= util.HTMLFilter.filter(request.getRequestURI()) %> -<br> -Request Protocol: <%= util.HTMLFilter.filter(request.getProtocol()) %> -<br> -Servlet path: <%= util.HTMLFilter.filter(request.getServletPath()) %> -<br> -Path info: <%= util.HTMLFilter.filter(request.getPathInfo()) %> -<br> -Query string: <%= util.HTMLFilter.filter(request.getQueryString()) %> -<br> -Content length: <%= request.getContentLength() %> -<br> -Content type: <%= util.HTMLFilter.filter(request.getContentType()) %> -<br> -Server name: <%= util.HTMLFilter.filter(request.getServerName()) %> -<br> -Server port: <%= request.getServerPort() %> -<br> -Remote user: <%= util.HTMLFilter.filter(request.getRemoteUser()) %> -<br> -Remote address: <%= util.HTMLFilter.filter(request.getRemoteAddr()) %> -<br> -Remote host: <%= util.HTMLFilter.filter(request.getRemoteHost()) %> -<br> -Authorization scheme: <%= util.HTMLFilter.filter(request.getAuthType()) %> -<br> -Locale: <%= request.getLocale() %> -<hr> -The browser you are using is -<%= util.HTMLFilter.filter(request.getHeader("User-Agent")) %> -<hr> -</font> -</body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/source.jsp b/tomcat/webapps/examples/jsp/source.jsp deleted file mode 100644 index fb75b588eb196f06c8e13c05d544ebf8dd71db55..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/source.jsp +++ /dev/null @@ -1,20 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib uri="http://tomcat.apache.org/example-taglib" - prefix="eg" %> - -<eg:ShowSource jspFile="<%= util.HTMLFilter.filter(request.getQueryString()) %>"/> diff --git a/tomcat/webapps/examples/jsp/source.jsp.html b/tomcat/webapps/examples/jsp/source.jsp.html deleted file mode 100644 index 66d5a2024f01c9cf501af16762cd3d63d3cf772e..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/source.jsp.html +++ /dev/null @@ -1,21 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<%@ taglib uri="http://tomcat.apache.org/example-taglib" - prefix="eg" %> - -<eg:ShowSource jspFile="<%= util.HTMLFilter.filter(request.getQueryString()) %>"/> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/tagplugin/choose.html b/tomcat/webapps/examples/jsp/tagplugin/choose.html deleted file mode 100644 index afe90b2f42ef319e870f2c2600e3eed1a90a714d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/choose.html +++ /dev/null @@ -1,36 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>View Source Code</title> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"> - <a href="choose.jsp"> - <img src="../images/execute.gif" align="right" border="0"></a> - <a href="../index.html"> - <img src="../images/return.gif" width="24" height="24" align="right" border="0"> - </a></font> -</p> - -<h3> - <a href="choose.jsp.html">Source Code for choose.jsp<font color="#0000FF"/></a> -</h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/tagplugin/choose.jsp b/tomcat/webapps/examples/jsp/tagplugin/choose.jsp deleted file mode 100644 index 745e5f538d6cdb8b368f0a26cd297c239be78872..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/choose.jsp +++ /dev/null @@ -1,54 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>Tag Examples - choose</title> - </head> - <body> - <h1>Tag Plugin Examples - <c:choose></h1> - - <hr/> - <br/> - <a href="notes.html">Plugin Introductory Notes</a> - <br/> - <a href="howto.html">Brief Instructions for Writing Plugins</a> - <br/> <br/> - <hr/> - - <br/> - - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - <c:forEach var="index" begin="0" end="4"> - # ${index}: - <c:choose> - <c:when test="${index == 1}"> - One!<br/> - </c:when> - <c:when test="${index == 4}"> - Four!<br/> - </c:when> - <c:when test="${index == 3}"> - Three!<br/> - </c:when> - <c:otherwise> - Huh?<br/> - </c:otherwise> - </c:choose> - </c:forEach> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/tagplugin/choose.jsp.html b/tomcat/webapps/examples/jsp/tagplugin/choose.jsp.html deleted file mode 100644 index 3f3b7e43d4f2425b0afcefbef1f51247fcdd4c05..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/choose.jsp.html +++ /dev/null @@ -1,55 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>Tag Examples - choose</title> - </head> - <body> - <h1>Tag Plugin Examples - &lt;c:choose></h1> - - <hr/> - <br/> - <a href="notes.html">Plugin Introductory Notes</a> - <br/> - <a href="howto.html">Brief Instructions for Writing Plugins</a> - <br/> <br/> - <hr/> - - <br/> - - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - <c:forEach var="index" begin="0" end="4"> - # ${index}: - <c:choose> - <c:when test="${index == 1}"> - One!<br/> - </c:when> - <c:when test="${index == 4}"> - Four!<br/> - </c:when> - <c:when test="${index == 3}"> - Three!<br/> - </c:when> - <c:otherwise> - Huh?<br/> - </c:otherwise> - </c:choose> - </c:forEach> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/tagplugin/foreach.html b/tomcat/webapps/examples/jsp/tagplugin/foreach.html deleted file mode 100644 index 3d2e6082daa0a152f7985994728066b67c3a2a76..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/foreach.html +++ /dev/null @@ -1,36 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>View Source Code</title> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"> - <a href="foreach.jsp"> - <img src="../images/execute.gif" align="right" border="0"></a> - <a href="../index.html"> - <img src="../images/return.gif" width="24" height="24" align="right" border="0"> - </a></font> -</p> - -<h3> - <a href="foreach.jsp.html">Source Code for foreach.jsp<font color="#0000FF"/></a> -</h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp b/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp deleted file mode 100644 index 81621cc665e11f97a5a729cbde077b7e35f6d2e3..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp +++ /dev/null @@ -1,54 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>Tag Plugin Examples: forEach</title> - </head> - <body> - <h1>Tag Plugin Examples - <c:forEach></h1> - - <hr/> - <br/> - <a href="notes.html">Plugin Introductory Notes</a> - <br/> - <a href="howto.html">Brief Instructions for Writing Plugins</a> - <br/> <br/> - <hr/> - - <br/> - - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - <%@ page import="java.util.Vector" %> - - <h3>Iterating over a range</h3> - <c:forEach var="item" begin="1" end="10"> - ${item} - </c:forEach> - - <% Vector v = new Vector(); - v.add("One"); v.add("Two"); v.add("Three"); v.add("Four"); - - pageContext.setAttribute("vector", v); - %> - - <h3>Iterating over a Vector</h3> - - <c:forEach items="${vector}" var="item" > - ${item} - </c:forEach> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp.html b/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp.html deleted file mode 100644 index de4eca916e3e7379ded8a4a28f5cef60a2374225..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/foreach.jsp.html +++ /dev/null @@ -1,55 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>Tag Plugin Examples: forEach</title> - </head> - <body> - <h1>Tag Plugin Examples - &lt;c:forEach></h1> - - <hr/> - <br/> - <a href="notes.html">Plugin Introductory Notes</a> - <br/> - <a href="howto.html">Brief Instructions for Writing Plugins</a> - <br/> <br/> - <hr/> - - <br/> - - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - <%@ page import="java.util.Vector" %> - - <h3>Iterating over a range</h3> - <c:forEach var="item" begin="1" end="10"> - ${item} - </c:forEach> - - <% Vector v = new Vector(); - v.add("One"); v.add("Two"); v.add("Three"); v.add("Four"); - - pageContext.setAttribute("vector", v); - %> - - <h3>Iterating over a Vector</h3> - - <c:forEach items="${vector}" var="item" > - ${item} - </c:forEach> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/tagplugin/howto.html b/tomcat/webapps/examples/jsp/tagplugin/howto.html deleted file mode 100644 index 5f1d2234ab8e37f444f0bd04cd237e1da87a2c99..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/howto.html +++ /dev/null @@ -1,45 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> - <head> - <title>Tag Plugin Implementation</title> - </head> - <body> - <h2>How to write tag plugins</h2> - <p> - To write a plugin, you'll need to download the source for Tomcat. - There are two steps: - <ol> - <li> - Implement the plugin class.<p/> - This class, which implements - <tt>org.apache.jasper.compiler.tagplugin.TagPlugin</tt> - instructs Jasper what Java codes to generate in place of the tag - handler calls. - See Javadoc for <tt>org.apache.jasper.compiler.tagplugin.TagPlugin</tt> - for details. - </li> - - <li> - Create the plugin descriptor file <tt> WEB-INF/tagPlugins.xml</tt><p/> - This file - specifies the plugin classes and their corresponding tag handler - classes. - </li> - </ol> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/tagplugin/if.html b/tomcat/webapps/examples/jsp/tagplugin/if.html deleted file mode 100644 index b04ac592b9bc8b0a5acb8fdef1785514df053ab8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/if.html +++ /dev/null @@ -1,36 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>View Source Code</title> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"> - <a href="if.jsp"> - <img src="../images/execute.gif" align="right" border="0"></a> - <a href="../index.html"> - <img src="../images/return.gif" width="24" height="24" align="right" border="0"> - </a></font> -</p> - -<h3> - <a href="if.jsp.html">Source Code for if.jsp<font color="#0000FF"/></a> -</h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/tagplugin/if.jsp b/tomcat/webapps/examples/jsp/tagplugin/if.jsp deleted file mode 100644 index af627bf360340ed32f2ae861d0b437c81cff7366..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/if.jsp +++ /dev/null @@ -1,47 +0,0 @@ -<%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>Tag Plugin Examples: if</title> - </head> - <body> - <h1>Tag Plugin Examples - <c:if></h1> - - <hr/> - <br/> - <a href="notes.html">Plugin Introductory Notes</a> - <br/> - <a href="howto.html">Brief Instructions for Writing Plugins</a> - <br/> <br/> - <hr/> - - <br/> - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - <h3>Set the test result to a variable</h3> - <c:if test="${1==1}" var="theTruth" scope="page"/> - The result of testing for (1==1) is: ${theTruth} - - <h3>Conditionally execute the body</h3> - <c:if test="${2>0}"> - <p>It's true that (2>0)! Working.</p> - </c:if> - <c:if test="${0>2}"> - <p>It's not true that (0>2)! Failed.</p> - </c:if> - </body> -</html> diff --git a/tomcat/webapps/examples/jsp/tagplugin/if.jsp.html b/tomcat/webapps/examples/jsp/tagplugin/if.jsp.html deleted file mode 100644 index ee126c3eb398adf26f2feb5444a60f6bcad53e78..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/if.jsp.html +++ /dev/null @@ -1,48 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><%-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---%> -<html> - <head> - <title>Tag Plugin Examples: if</title> - </head> - <body> - <h1>Tag Plugin Examples - &lt;c:if></h1> - - <hr/> - <br/> - <a href="notes.html">Plugin Introductory Notes</a> - <br/> - <a href="howto.html">Brief Instructions for Writing Plugins</a> - <br/> <br/> - <hr/> - - <br/> - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - - <h3>Set the test result to a variable</h3> - <c:if test="${1==1}" var="theTruth" scope="page"/> - The result of testing for (1==1) is: ${theTruth} - - <h3>Conditionally execute the body</h3> - <c:if test="${2>0}"> - <p>It's true that (2>0)! Working.</p> - </c:if> - <c:if test="${0>2}"> - <p>It's not true that (0>2)! Failed.</p> - </c:if> - </body> -</html> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/jsp/tagplugin/notes.html b/tomcat/webapps/examples/jsp/tagplugin/notes.html deleted file mode 100644 index cd326fc2df9befece4d9c46d7cb447f4067bf922..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/tagplugin/notes.html +++ /dev/null @@ -1,41 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> - <head> - <title>Tag Plugin Introduction</title> - </head> - <body> - <h2>Tag Plugins: Introductory Notes</h2> - <p> - Tomcat provides a framework for implementing tag plugins. The - plugins instruct Jasper, at translation time, to replace tag handler - calls with Java scriptlets. - The framework allows tag library authors to implement plugins for - their tags. - </p> - <p> - Tomcat is released with plugins for several JSTL tags. Note - that these plugins work with JSTL 1.1 as well as JSTL 1.0, though - the examples uses JSTL 1.1 and JSP 2.0. - These plugins are not complete (for instance, some item types are not - handled in <c:if>). - They do serve as examples to show plugins in action (just - examine the generated Java files), and how they can be implemented. - </p> - </body> -</html> - diff --git a/tomcat/webapps/examples/jsp/xml/xml.html b/tomcat/webapps/examples/jsp/xml/xml.html deleted file mode 100644 index 00121424e98be10f00ae9ba8b6188057238607b8..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/xml/xml.html +++ /dev/null @@ -1,31 +0,0 @@ -<html> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="xml.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> - -<h3><a href="xml.jsp.html">Source Code for XML syntax Example<font color="#0000FF"></a> - </font> </h3> - -</body> -</html> diff --git a/tomcat/webapps/examples/jsp/xml/xml.jsp b/tomcat/webapps/examples/jsp/xml/xml.jsp deleted file mode 100644 index 840b21f3248ba3f7fe51a538b31e06cc0f07bcda..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/xml/xml.jsp +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" - version="1.2"> -<jsp:directive.page contentType="text/html"/> -<jsp:directive.page import="java.util.Date, java.util.Locale"/> -<jsp:directive.page import="java.text.*"/> - -<jsp:declaration> - String getDateTimeStr(Locale l) { - DateFormat df = SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, l); - return df.format(new Date()); - } -</jsp:declaration> - -<html> -<head> - <title>Example JSP in XML format</title> -</head> - -<body> -This is the output of a simple JSP using XML format. -<br /> - -<div>Use a jsp:scriptlet to loop from 1 to 10: </div> -<jsp:scriptlet> -// Note we need to declare CDATA because we don't escape the less than symbol -<![CDATA[ - for (int i = 1; i<=10; i++) { - out.println(i); - if (i < 10) { - out.println(", "); - } - } -]]> -</jsp:scriptlet> - -<!-- Because I omit br's end tag, declare it as CDATA --> -<![CDATA[ - <br><br> -]]> - -<div align="left"> - Use a jsp:expression to write the date and time in the browser's locale: - <jsp:expression>getDateTimeStr(request.getLocale())</jsp:expression> -</div> - - -<jsp:text> - <p>This sentence is enclosed in a jsp:text element.</p> -</jsp:text> - -</body> -</html> -</jsp:root> diff --git a/tomcat/webapps/examples/jsp/xml/xml.jsp.html b/tomcat/webapps/examples/jsp/xml/xml.jsp.html deleted file mode 100644 index b146a971021cdfb260f54d43dbe6cca8d9b1de1a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/jsp/xml/xml.jsp.html +++ /dev/null @@ -1,71 +0,0 @@ -<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Source Code</title></head><body><pre><?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" - version="1.2"> -<jsp:directive.page contentType="text/html"/> -<jsp:directive.page import="java.util.Date, java.util.Locale"/> -<jsp:directive.page import="java.text.*"/> - -<jsp:declaration> - String getDateTimeStr(Locale l) { - DateFormat df = SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, l); - return df.format(new Date()); - } -</jsp:declaration> - -<html> -<head> - <title>Example JSP in XML format</title> -</head> - -<body> -This is the output of a simple JSP using XML format. -<br /> - -<div>Use a jsp:scriptlet to loop from 1 to 10: </div> -<jsp:scriptlet> -// Note we need to declare CDATA because we don't escape the less than symbol -<![CDATA[ - for (int i = 1; i<=10; i++) { - out.println(i); - if (i < 10) { - out.println(", "); - } - } -]]> -</jsp:scriptlet> - -<!-- Because I omit br's end tag, declare it as CDATA --> -<![CDATA[ - <br><br> -]]> - -<div align="left"> - Use a jsp:expression to write the date and time in the browser's locale: - <jsp:expression>getDateTimeStr(request.getLocale())</jsp:expression> -</div> - - -<jsp:text> - &lt;p&gt;This sentence is enclosed in a jsp:text element.&lt;/p&gt; -</jsp:text> - -</body> -</html> -</jsp:root> -</pre></body></html> \ No newline at end of file diff --git a/tomcat/webapps/examples/servlets/cookies.html b/tomcat/webapps/examples/servlets/cookies.html deleted file mode 100644 index bacee44dbac72ad64e689eb26081a1f8946b86cf..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/cookies.html +++ /dev/null @@ -1,61 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="servlet/CookieExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> -<h3>Source Code for Cookie Example<font color="#0000FF"><br> - </font> </h3> -<font color="#0000FF"></font> -<pre><font color="#0000FF">import</font> java.io.*; -<font color="#0000FF">import</font> javax.servlet.*; -<font color="#0000FF">import</font> javax.servlet.http.*; - -<font color="#0000FF">public class</font> CookieExample <font color="#0000FF">extends</font> HttpServlet { - - <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response) - <font color="#0000FF">throws</font> IOException, ServletException - { - response.setContentType("<font color="#009900">text/html</font>"); - PrintWriter out = response.getWriter(); - - <font color="#CC0000">// print out cookies</font> - - Cookie[] cookies = request.getCookies(); - for (int i = 0; i < cookies.length; i++) { - Cookie c = cookies[i]; - String name = c.getName(); - String value = c.getValue(); - out.println(name + "<font color="#009900"> = </font>" + value); - } - - <font color="#CC0000">// set a cookie</font> - - String name = request.getParameter("<font color="#009900">cookieName</font>"); - if (name != null && name.length() > 0) { - String value = request.getParameter("<font color="#009900">cookieValue</font>"); - Cookie c = new Cookie(name, value); - response.addCookie(c); - } - } -}</pre> -</body> -</html> diff --git a/tomcat/webapps/examples/servlets/helloworld.html b/tomcat/webapps/examples/servlets/helloworld.html deleted file mode 100644 index c2234467b9f1796363b639b72cbe28664754523a..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/helloworld.html +++ /dev/null @@ -1,50 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="servlet/HelloWorldExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> -<h3>Source Code for HelloWorld Example<font color="#0000FF"><br> - </font> </h3> -<font color="#0000FF"></font> -<pre><font color="#0000FF">import</font> java.io.*; -<font color="#0000FF">import</font> javax.servlet.*; -<font color="#0000FF">import</font> javax.servlet.http.*; - -<font color="#0000FF">public class</font> HelloWorld <font color="#0000FF">extends</font> HttpServlet { - - <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response) - <font color="#0000FF">throws</font> IOException, ServletException - { - response.setContentType("<font color="#009900">text/html</font>"); - PrintWriter out = response.getWriter(); - out.println("<font color="#009900"><html></font>"); - out.println("<font color="#009900"><head></font>"); - out.println("<font color="#009900"><title>Hello World!</title></font>"); - out.println("<font color="#009900"></head></font>"); - out.println("<font color="#009900"><body></font>"); - out.println("<font color="#009900"><h1>Hello World!</h1></font>"); - out.println("<font color="#009900"></body></font>"); - out.println("<font color="#009900"></html></font>"); - } -}</pre> -</body> -</html> diff --git a/tomcat/webapps/examples/servlets/images/code.gif b/tomcat/webapps/examples/servlets/images/code.gif deleted file mode 100644 index 93af2cd130aa61cb2f235cdd6f0e75ab444819ef..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/servlets/images/code.gif and /dev/null differ diff --git a/tomcat/webapps/examples/servlets/images/execute.gif b/tomcat/webapps/examples/servlets/images/execute.gif deleted file mode 100644 index f64d70fd233d6fb3fcbdeedc02061871984f8fb5..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/servlets/images/execute.gif and /dev/null differ diff --git a/tomcat/webapps/examples/servlets/images/return.gif b/tomcat/webapps/examples/servlets/images/return.gif deleted file mode 100644 index af4f68f4a3a13e0ef1dc0045b04c2c93354cdf40..0000000000000000000000000000000000000000 Binary files a/tomcat/webapps/examples/servlets/images/return.gif and /dev/null differ diff --git a/tomcat/webapps/examples/servlets/index.html b/tomcat/webapps/examples/servlets/index.html deleted file mode 100644 index d07a277e9c85bf62d01fde644c04ce24bafab224..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/index.html +++ /dev/null @@ -1,193 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<!DOCTYPE html><html lang="en"> -<head> - <meta charset="UTF-8" /> - <meta name="Author" content="Anil K. Vijendran" /> - <title>Servlet Examples</title> - <style type="text/css"> - img { border: 0; } - th { text-align: left; } - tr { vertical-align: top; } - </style> -</head> -<body> -<h1>Servlet -Examples with Code</h1> -<p>This is a collection of examples which demonstrate some of the more -frequently used parts of the Servlet API. Familiarity with the Java(tm) -Programming Language is assumed. -<p>These examples will only work when viewed via an http URL. They will -not work if you are viewing these pages via a "file://..." URL. Please -refer to the <i>README</i> file provide with this Tomcat release regarding -how to configure and start the provided web server. -<p>Wherever you see a form, enter some data and see how the servlet reacts. -When playing with the Cookie and Session Examples, jump back to the Headers -Example to see exactly what your browser is sending the server. -<p>To navigate your way through the examples, the following icons will -help:</p> -<ul style="list-style-type: none; padding-left: 0;"> -<li><img src="images/execute.gif" alt=""> Execute the example</li> -<li><img src="images/code.gif" alt=""> Look at the source code for the example</li> -<li><img src="images/return.gif" alt=""> Return to this screen</li> -</ul> - -<p>Tip: To see the cookie interactions with your browser, try turning on -the "notify when setting a cookie" option in your browser preferences. -This will let you see when a session is created and give some feedback -when looking at the cookie demo.</p> -<table style="width: 85%;" > -<tr> -<td>Hello World</td> - -<td style="width: 30%;"><a href="servlet/HelloWorldExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/HelloWorldExample">Execute</a></td> - -<td style="width: 30%;"><a href="helloworld.html"><img SRC="images/code.gif" alt=""></a><a href="helloworld.html">Source</a></td> -</tr> - -<tr> -<td>Request Info</td> - -<td style="width: 30%;"><a href="servlet/RequestInfoExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/RequestInfoExample">Execute</a></td> - -<td style="width: 30%;"><a href="reqinfo.html"><img SRC="images/code.gif" alt=""></a><a href="reqinfo.html">Source</a></td> -</tr> - -<tr> -<td>Request Headers</td> - -<td style="width: 30%;"><a href="servlet/RequestHeaderExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/RequestHeaderExample">Execute</a></td> - -<td style="width: 30%;"><a href="reqheaders.html"><img SRC="images/code.gif" alt=""></a><a href="reqheaders.html">Source</a></td> -</tr> - -<tr> -<td>Request Parameters</td> - -<td style="width: 30%;"><a href="servlet/RequestParamExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/RequestParamExample">Execute</a></td> - -<td style="width: 30%;"><a href="reqparams.html"><img SRC="images/code.gif" alt=""></a><a href="reqparams.html">Source</a></td> -</tr> - -<tr> -<td>Cookies</td> - -<td style="width: 30%;"><a href="servlet/CookieExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/CookieExample">Execute</a></td> - -<td style="width: 30%;"><a href="cookies.html"><img SRC="images/code.gif" alt=""></a><a href="cookies.html">Source</a></td> -</tr> - -<tr> -<td>Sessions</td> - -<td style="width: 30%;"><a href="servlet/SessionExample"><img SRC="images/execute.gif" alt=""></a><a href="servlet/SessionExample">Execute</a></td> - -<td style="width: 30%;"><a href="sessions.html"><img SRC="images/code.gif" alt=""></a><a href="sessions.html">Source</a></td> -</tr> -</table> - -<p>Note: The source code for these examples does not contain all of the -source code that is actually in the example, only the important sections -of code. Code not important to understand the example has been removed -for clarity.</p> - -<h2>Other Examples</h2> -<table style="width: 85%;" > - -<tr> - <th colspan="3">Servlet 3.0 Asynchronous processing examples:</th> -</tr> -<tr> - <td>async0</td> - <td style="width: 30%;"> - <a href="../async/async0"><img SRC="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> -<tr> - <td>async1</td> - <td style="width: 30%;"> - <a href="../async/async1"><img SRC="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> -<tr> - <td>async2</td> - <td style="width: 30%;"> - <a href="../async/async2"><img SRC="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> -<tr> - <td>async3</td> - <td style="width: 30%;"> - <a href="../async/async3"><img SRC="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> -<tr> - <td>stockticker</td> - <td style="width: 30%;"> - <a href="../async/stockticker"><img SRC="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> - -<tr> - <th colspan="3">Servlet 3.1 Non-blocking IO examples</th> -</tr> -<tr> - <td>Byte counter</td> - <td style="width: 30%;"> - <a href="nonblocking/bytecounter.html"><img src="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> -<tr> - <td>Number Writer</td> - <td style="width: 30%;"> - <a href="nonblocking/numberwriter"><img src="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> - -<tr> - <th colspan="3">Servlet 4.0 Server Push examples</th> -</tr> -<tr> - <td>Simple image push</td> - <td style="width: 30%;"> - <a href="serverpush/simpleimage"><img src="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> - -<tr> - <th colspan="3">Servlet 4.0 Trailer Field examples</th> -</tr> -<tr> - <td>Response trailer fields</td> - <td style="width: 30%;"> - <a href="trailers/response"><img src="images/execute.gif" alt=""> Execute</a> - </td> - <td style="width: 30%;"></td> -</tr> - -</table> - -</body> -</html> diff --git a/tomcat/webapps/examples/servlets/nonblocking/bytecounter.html b/tomcat/webapps/examples/servlets/nonblocking/bytecounter.html deleted file mode 100644 index 55d31a21380e172f4a930206b82933fb95891514..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/nonblocking/bytecounter.html +++ /dev/null @@ -1,32 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> - <head> - <title>Servlet 3.1 non-blocking IO examples: Byte counter</title> - </head> - <body> - <h1>Byte counter</h1> - <p>Select a file and/or enter some data using the form below and then submit - it. The server will read the request body using non-blocking IO and then - respond with the total length of the request body in bytes.</p> - <form method="POST" enctype="multipart/form-data" action="bytecounter" > - <p><textarea name="data" rows="5" cols="60" ></textarea></p> - <p><input name="source" type="file" /></p> - <p><input type="submit" value="Submit" /></p> - </form> - </body> -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/servlets/reqheaders.html b/tomcat/webapps/examples/servlets/reqheaders.html deleted file mode 100644 index adda30cefa9460195d7e567c4cdfe0fc0e13fb9c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/reqheaders.html +++ /dev/null @@ -1,49 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="servlet/RequestHeaderExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> -<h3>Source Code for RequestHeader Example<font color="#0000FF"><br> - </font> </h3> -<font color="#0000FF"></font> -<pre><font color="#0000FF">import</font> java.io.*; -<font color="#0000FF">import</font> java.util.*; -<font color="#0000FF">import</font> javax.servlet.*; -<font color="#0000FF">import</font> javax.servlet.http.*; - -<font color="#0000FF">public class</font> RequestHeaderExample <font color="#0000FF">extends</font> HttpServlet { - - <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response) - <font color="#0000FF">throws</font> IOException, ServletException - { - response.setContentType("<font color="#009900">text/html</font>"); - PrintWriter out = response.getWriter(); - Enumeration e = request.getHeaderNames(); - while (e.hasMoreElements()) { - String name = (String)e.nextElement(); - String value = request.getHeader(name); - out.println(name + "<font color="#009900"> = </font>" + value); - } - } -}</pre> -</body> -</html> diff --git a/tomcat/webapps/examples/servlets/reqinfo.html b/tomcat/webapps/examples/servlets/reqinfo.html deleted file mode 100644 index daf239c181ef4d1fa7091f963536284148efea85..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/reqinfo.html +++ /dev/null @@ -1,68 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="servlet/RequestInfoExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> -<h3>Source Code for Request Info Example<font color="#0000FF"><br> - </font> </h3> -<font color="#0000FF"></font> -<pre><font color="#0000FF">import</font> java.io.*; -<font color="#0000FF">import</font> javax.servlet.*; -<font color="#0000FF">import</font> javax.servlet.http.*; - -<font color="#0000FF">public class</font> RequestInfo <font color="#0000FF">extends</font> HttpServlet { - - <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response) - <font color="#0000FF">throws</font> IOException, ServletException - { - response.setContentType("<font color="#009900">text/html</font>"); - PrintWriter out = response.getWriter(); - out.println("<font color="#009900"><html></font>"); - out.println("<font color="#009900"><body></font>"); - out.println("<font color="#009900"><head></font>"); - out.println("<font color="#009900"><title>Request Information Example</title></font>"); - out.println("<font color="#009900"></head></font>"); - out.println("<font color="#009900"><body></font>"); - out.println("<font color="#009900"><h3>Request Information Example</h3></font>"); - out.println("<font color="#009900">Method: </font>" + request.getMethod()); - out.println("<font color="#009900">Request URI: </font>" + request.getRequestURI()); - out.println("<font color="#009900">Protocol: </font>" + request.getProtocol()); - out.println("<font color="#009900">PathInfo: </font>" + request.getPathInfo()); - out.println("<font color="#009900">Remote Address: </font>" + request.getRemoteAddr()); - out.println("<font color="#009900"></body></font>"); - out.println("<font color="#009900"></html></font>"); - } - -<font color="#FF0000"> /** - * We are going to perform the same operations for POST requests - * as for GET methods, so this method just sends the request to - * the doGet method. - */</font> - - <font color="#0000FF">public void</font> doPost(HttpServletRequest request, HttpServletResponse response) - <font color="#0000FF">throws</font> IOException, ServletException - { - doGet(request, response); - } -}</pre> -</body> -</html> diff --git a/tomcat/webapps/examples/servlets/reqparams.html b/tomcat/webapps/examples/servlets/reqparams.html deleted file mode 100644 index 7128e39e4da7d0b1b3d03e4d8f79200fff3a9a3c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/reqparams.html +++ /dev/null @@ -1,78 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="servlet/RequestParamExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> -<h3>Source Code for Request Parameter Example<font color="#0000FF"><br> - </font> </h3> -<font color="#0000FF"></font> -<pre><font color="#0000FF">import</font> java.io.*; -<font color="#0000FF">import</font> java.util.*; -<font color="#0000FF">import</font> javax.servlet.*; -<font color="#0000FF">import</font> javax.servlet.http.*; - -<font color="#0000FF">public class</font> RequestParamExample <font color="#0000FF">extends</font> HttpServlet { - - <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response) - <font color="#0000FF">throws</font> IOException, ServletException - { - response.setContentType("<font color="#009900">text/html</font>"); - PrintWriter out = response.getWriter(); - out.println("<font color="#009900"><html></font>"); - out.println("<font color="#009900"><head></font>"); - out.println("<font color="#009900"><title>Request Parameters Example</title></font>"); - out.println("<font color="#009900"></head></font>"); - out.println("<font color="#009900"><body></font>"); - out.println("<font color="#009900"><h3>Request Parameters Example</h3></font>"); - out.println("<font color="#009900">Parameters in this request:<br></font>"); - if (firstName != null || lastName != null) { - out.println("<font color="#009900">First Name:</font>"); - out.println("<font color="#009900"> = </font>" + HTMLFilter.filter(firstName) + "<font color="#009900"><br></font>"); - out.println("<font color="#009900">Last Name:</font>"); - out.println("<font color="#009900"> = </font>" + HTMLFilter.filter(lastName)); - } else { - out.println("<font color="#009900">No Parameters, Please enter some</font>"); - } - out.println("<font color="#009900"><P></font>"); - out.print("<font color="#009900"><form action=\"</font>"); - out.print("<font color="#009900">RequestParamExample\" </font>"); - out.println("<font color="#009900">method=POST></font>"); - out.println("<font color="#009900">First Name:</font>"); - out.println("<font color="#009900"><input type=text size=20 name=firstname></font>"); - out.println("<font color="#009900"><br></font>"); - out.println("<font color="#009900">Last Name:</font>"); - out.println("<font color="#009900"><input type=text size=20 name=lastname></font>"); - out.println("<font color="#009900"><br></font>"); - out.println("<font color="#009900"><input type=submit></font>"); - out.println("<font color="#009900"></form></font>"); - out.println("<font color="#009900"></body></font>"); - out.println("<font color="#009900"></html></font>"); - } - - <font color="#0000FF">public void</font> doPost(HttpServletRequest request, HttpServletResponse res) - <font color="#0000FF">throws</font> IOException, ServletException - { - doGet(request, response); - } -}</pre> -</body> -</html> diff --git a/tomcat/webapps/examples/servlets/sessions.html b/tomcat/webapps/examples/servlets/sessions.html deleted file mode 100644 index 99816c22e6e44654c1495c5d76a3ea88560e2f5c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/servlets/sessions.html +++ /dev/null @@ -1,70 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> -<head> -<title>Untitled Document</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</head> - -<body bgcolor="#FFFFFF"> -<p><font color="#0000FF"><a href="servlet/SessionExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p> -<h3>Source Code for Session Example<font color="#0000FF"><br> - </font> </h3> -<font color="#0000FF"></font> -<pre><font color="#0000FF">import</font> java.io.*; -<font color="#0000FF">import</font> java.util.*; -<font color="#0000FF">import</font> javax.servlet.*; -<font color="#0000FF">import</font> javax.servlet.http.*; - -<font color="#0000FF">public class</font> SessionExample <font color="#0000FF">extends</font> HttpServlet { - - <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response) - <font color="#0000FF">throws</font> IOException, ServletException - { - response.setContentType("<font color="#009900">text/html</font>"); - PrintWriter out = response.getWriter(); - - HttpSession session = request.getSession(true); - - <font color="#CC0000">// print session info</font> - - Date created = new Date(session.getCreationTime()); - Date accessed = new Date(session.getLastAccessedTime()); - out.println("<font color="#009900">ID </font>" + session.getId()); - out.println("<font color="#009900">Created: </font>" + created); - out.println("<font color="#009900">Last Accessed: </font>" + accessed); - - <font color="#CC0000">// set session info if needed</font> - - String dataName = request.getParameter("<font color="#009900">dataName</font>"); - if (dataName != null && dataName.length() > 0) { - String dataValue = request.getParameter("<font color="#009900">dataValue</font>"); - session.setAttribute(dataName, dataValue); - } - - // print session contents - - Enumeration e = session.getAttributeNames(); - while (e.hasMoreElements()) { - String name = (String)e.nextElement(); - String value = session.getAttribute(name).toString(); - out.println(name + " <font color="#009900">= </font>" + value); - } - } -}</pre> -</body> -</html> diff --git a/tomcat/webapps/examples/websocket/chat.xhtml b/tomcat/webapps/examples/websocket/chat.xhtml deleted file mode 100644 index fca748ca98c4c60d8cdbb8f9fbf2d20e91f030ff..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/websocket/chat.xhtml +++ /dev/null @@ -1,136 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<head> - <title>Apache Tomcat WebSocket Examples: Chat</title> - <style type="text/css"><![CDATA[ - input#chat { - width: 410px - } - - #console-container { - width: 400px; - } - - #console { - border: 1px solid #CCCCCC; - border-right-color: #999999; - border-bottom-color: #999999; - height: 170px; - overflow-y: scroll; - padding: 5px; - width: 100%; - } - - #console p { - padding: 0; - margin: 0; - } - ]]></style> - <script type="application/javascript"><![CDATA[ - "use strict"; - - var Chat = {}; - - Chat.socket = null; - - Chat.connect = (function(host) { - if ('WebSocket' in window) { - Chat.socket = new WebSocket(host); - } else if ('MozWebSocket' in window) { - Chat.socket = new MozWebSocket(host); - } else { - Console.log('Error: WebSocket is not supported by this browser.'); - return; - } - - Chat.socket.onopen = function () { - Console.log('Info: WebSocket connection opened.'); - document.getElementById('chat').onkeydown = function(event) { - if (event.keyCode == 13) { - Chat.sendMessage(); - } - }; - }; - - Chat.socket.onclose = function () { - document.getElementById('chat').onkeydown = null; - Console.log('Info: WebSocket closed.'); - }; - - Chat.socket.onmessage = function (message) { - Console.log(message.data); - }; - }); - - Chat.initialize = function() { - if (window.location.protocol == 'http:') { - Chat.connect('ws://' + window.location.host + '/examples/websocket/chat'); - } else { - Chat.connect('wss://' + window.location.host + '/examples/websocket/chat'); - } - }; - - Chat.sendMessage = (function() { - var message = document.getElementById('chat').value; - if (message != '') { - Chat.socket.send(message); - document.getElementById('chat').value = ''; - } - }); - - var Console = {}; - - Console.log = (function(message) { - var console = document.getElementById('console'); - var p = document.createElement('p'); - p.style.wordWrap = 'break-word'; - p.innerHTML = message; - console.appendChild(p); - while (console.childNodes.length > 25) { - console.removeChild(console.firstChild); - } - console.scrollTop = console.scrollHeight; - }); - - Chat.initialize(); - - - document.addEventListener("DOMContentLoaded", function() { - // Remove elements with "noscript" class - <noscript> is not allowed in XHTML - var noscripts = document.getElementsByClassName("noscript"); - for (var i = 0; i < noscripts.length; i++) { - noscripts[i].parentNode.removeChild(noscripts[i]); - } - }, false); - - ]]></script> -</head> -<body> -<div class="noscript"><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websockets rely on Javascript being enabled. Please enable - Javascript and reload this page!</h2></div> -<div> - <p> - <input type="text" placeholder="type and press enter to chat" id="chat" /> - </p> - <div id="console-container"> - <div id="console"/> - </div> -</div> -</body> -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/websocket/drawboard.xhtml b/tomcat/webapps/examples/websocket/drawboard.xhtml deleted file mode 100644 index ff63366484cf386e9cc4d024b56e85685d9af936..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/websocket/drawboard.xhtml +++ /dev/null @@ -1,899 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<head> - <title>Apache Tomcat WebSocket Examples: Drawboard</title> - <style type="text/css"><![CDATA[ - - body { - font-family: Arial, sans-serif; - font-size: 11pt; - background-color: #eeeeea; - padding: 10px; - } - - #console-container { - float: left; - background-color: #fff; - width: 250px; - } - - #console { - font-size: 10pt; - height: 600px; - overflow-y: scroll; - padding-left: 5px; - padding-right: 5px; - } - - #console p { - padding: 0; - margin: 0; - } - - #drawContainer { - float: left; - display: none; - margin-right: 25px; - } - - #drawContainer canvas { - display: block; - -ms-touch-action: none; - touch-action: none; /* Disable touch behaviors, like pan and zoom */ - cursor: crosshair; - } - - #labelContainer { - margin-bottom: 15px; - } - - #drawContainer, #console-container { - box-shadow: 0px 0px 8px 3px #bbb; - border: 1px solid #CCCCCC; - } - - ]]></style> - <script type="application/javascript"><![CDATA[ - "use strict"; - - (function() { - - document.addEventListener("DOMContentLoaded", function() { - // Remove elements with "noscript" class - <noscript> is not - // allowed in XHTML - var noscripts = document.getElementsByClassName("noscript"); - for (var i = 0; i < noscripts.length; i++) { - noscripts[i].parentNode.removeChild(noscripts[i]); - } - - // Add script for expand content. - var expandElements = document.getElementsByClassName("expand"); - for (var ixx = 0; ixx < expandElements.length; ixx++) { - (function(el) { - var expandContent = document.getElementById(el.getAttribute("data-content-id")); - expandContent.style.display = "none"; - var arrow = document.createTextNode("◢ "); - var arrowSpan = document.createElement("span"); - arrowSpan.appendChild(arrow); - - var link = document.createElement("a"); - link.setAttribute("href", "#!"); - while (el.firstChild != null) { - link.appendChild(el.removeChild(el.firstChild)); - } - el.appendChild(arrowSpan); - el.appendChild(link); - - var textSpan = document.createElement("span"); - textSpan.setAttribute("style", "font-weight: normal;"); - textSpan.appendChild(document.createTextNode(" (click to expand)")); - el.appendChild(textSpan); - - - var visible = true; - - var switchExpand = function() { - visible = !visible; - expandContent.style.display = visible ? "block" : "none"; - arrowSpan.style.color = visible ? "#000" : "#888"; - return false; - }; - - link.onclick = switchExpand; - switchExpand(); - - })(expandElements[ixx]); - } - - - var Console = {}; - - Console.log = (function() { - var consoleContainer = - document.getElementById("console-container"); - var console = document.createElement("div"); - console.setAttribute("id", "console"); - consoleContainer.appendChild(console); - - return function(message) { - var p = document.createElement('p'); - p.style.wordWrap = "break-word"; - p.appendChild(document.createTextNode(message)); - console.appendChild(p); - while (console.childNodes.length > 25) { - console.removeChild(console.firstChild); - } - console.scrollTop = console.scrollHeight; - } - })(); - - - function Room(drawContainer) { - - /* A pausable event forwarder that can be used to pause and - * resume handling of events (e.g. when we need to wait - * for a Image's load event before we can process further - * WebSocket messages). - * The object's callFunction(func) should be called from an - * event handler and give the function to handle the event as - * argument. - * Call pauseProcessing() to suspend event forwarding and - * resumeProcessing() to resume it. - */ - function PausableEventForwarder() { - - var pauseProcessing = false; - // Queue for buffering functions to be called. - var functionQueue = []; - - this.callFunction = function(func) { - // If message processing is paused, we push it - // into the queue - otherwise we process it directly. - if (pauseProcessing) { - functionQueue.push(func); - } else { - func(); - } - }; - - this.pauseProcessing = function() { - pauseProcessing = true; - }; - - this.resumeProcessing = function() { - pauseProcessing = false; - - // Process all queued functions until some handler calls - // pauseProcessing() again. - while (functionQueue.length > 0 && !pauseProcessing) { - var func = functionQueue.pop(); - func(); - } - }; - } - - // The WebSocket object. - var socket; - // ID of the timer which sends ping messages. - var pingTimerId; - - var isStarted = false; - var playerCount = 0; - - // An array of PathIdContainer objects that the server - // did not yet handle. - // They are ordered by id (ascending). - var pathsNotHandled = []; - - var nextMsgId = 1; - - var canvasDisplay = document.createElement("canvas"); - var canvasBackground = document.createElement("canvas"); - var canvasServerImage = document.createElement("canvas"); - var canvasArray = [canvasDisplay, canvasBackground, - canvasServerImage]; - canvasDisplay.addEventListener("mousedown", function(e) { - // Prevent default mouse event to prevent browsers from marking text - // (and Chrome from displaying the "text" cursor). - e.preventDefault(); - }, false); - - var labelPlayerCount = document.createTextNode("0"); - var optionContainer = document.createElement("div"); - - - var canvasDisplayCtx = canvasDisplay.getContext("2d"); - var canvasBackgroundCtx = canvasBackground.getContext("2d"); - var canvasServerImageCtx = canvasServerImage.getContext("2d"); - var canvasMouseMoveHandler; - var canvasMouseDownHandler; - - var isActive = false; - var mouseInWindow = false; - var mouseDown = false; - var currentMouseX = 0, currentMouseY = 0; - var currentPreviewPath = null; - - var availableColors = []; - var currentColorIndex; - var colorContainers; - var previewTransparency = 0.65; - - var availableThicknesses = [2, 3, 6, 10, 16, 28, 50]; - var currentThicknessIndex; - var thicknessContainers; - - var availableDrawTypes = [ - { name: "Brush", id: 1, continuous: true }, - { name: "Line", id: 2, continuous: false }, - { name: "Rectangle", id: 3, continuous: false }, - { name: "Ellipse", id: 4, continuous: false } - ]; - var currentDrawTypeIndex; - var drawTypeContainers; - - - var labelContainer = document.getElementById("labelContainer"); - var placeholder = document.createElement("div"); - placeholder.appendChild(document.createTextNode("Loading... ")); - var progressElem = document.createElement("progress"); - placeholder.appendChild(progressElem); - - labelContainer.appendChild(placeholder); - - function rgb(color) { - return "rgba(" + color[0] + "," + color[1] + "," - + color[2] + "," + color[3] + ")"; - } - - function PathIdContainer(path, id) { - this.path = path; - this.id = id; - } - - function Path(type, color, thickness, x1, y1, x2, y2) { - this.type = type; - this.color = color; - this.thickness = thickness; - this.x1 = x1; - this.y1 = y1; - this.x2 = x2; - this.y2 = y2; - - function ellipse(ctx, x, y, w, h) { - /* Drawing a ellipse cannot be done directly in a - * CanvasRenderingContext2D - we need to use drawArc() - * in conjunction with scaling the context so that we - * get the needed proportion. - */ - ctx.save(); - - // Translate and scale the context so that we can draw - // an arc at (0, 0) with a radius of 1. - ctx.translate(x + w / 2, y + h / 2); - ctx.scale(w / 2, h / 2); - - ctx.beginPath(); - ctx.arc(0, 0, 1, 0, Math.PI * 2, false); - - ctx.restore(); - } - - this.draw = function(ctx) { - ctx.beginPath(); - ctx.lineCap = "round"; - ctx.lineWidth = thickness; - var style = rgb(color); - ctx.strokeStyle = style; - - if (x1 == x2 && y1 == y2) { - // Always draw as arc to meet the behavior - // in Java2D. - ctx.fillStyle = style; - ctx.arc(x1, y1, thickness / 2.0, 0, - Math.PI * 2.0, false); - ctx.fill(); - } else { - if (type == 1 || type == 2) { - // Draw a line. - ctx.moveTo(x1, y1); - ctx.lineTo(x2, y2); - ctx.stroke(); - } else if (type == 3) { - // Draw a rectangle. - if (x1 == x2 || y1 == y2) { - // Draw as line - ctx.moveTo(x1, y1); - ctx.lineTo(x2, y2); - ctx.stroke(); - } else { - ctx.strokeRect(x1, y1, x2 - x1, y2 - y1); - } - } else if (type == 4) { - // Draw a ellipse. - ellipse(ctx, x1, y1, x2 - x1, y2 - y1); - ctx.closePath(); - ctx.stroke(); - } - } - }; - } - - - function connect() { - var host = (window.location.protocol == "https:" - ? "wss://" : "ws://") + window.location.host - + "/examples/websocket/drawboard"; - socket = new WebSocket(host); - - /* Use a pausable event forwarder. - * This is needed when we load an Image object with data - * from a previous message, because we must wait until the - * Image's load event it raised before we can use it (and - * in the meantime the socket.message event could be - * raised). - * Therefore we need this pausable event handler to handle - * e.g. socket.onmessage and socket.onclose. - */ - var eventForwarder = new PausableEventForwarder(); - - socket.onopen = function () { - // Socket has opened. Now wait for the server to - // send us the initial packet. - Console.log("WebSocket connection opened."); - - // Set up a timer for pong messages. - pingTimerId = window.setInterval(function() { - socket.send("0"); - }, 30000); - }; - - socket.onclose = function () { - eventForwarder.callFunction(function() { - Console.log("WebSocket connection closed."); - disableControls(); - - // Disable pong timer. - window.clearInterval(pingTimerId); - }); - }; - - // Handles an incoming Websocket message. - var handleOnMessage = function(message) { - - // Split joined message and process them - // individually. - var messages = message.data.split(";"); - for (var msgArrIdx = 0; msgArrIdx < messages.length; - msgArrIdx++) { - var msg = messages[msgArrIdx]; - var type = msg.substring(0, 1); - - if (type == "0") { - // Error message. - var error = msg.substring(1); - // Log it to the console and show an alert. - Console.log("Error: " + error); - alert(error); - - } else { - if (!isStarted) { - if (type == "2") { - // Initial message. It contains the - // number of players. - // After this message we will receive - // a binary message containing the current - // room image as PNG. - playerCount = parseInt(msg.substring(1)); - - refreshPlayerCount(); - - // The next message will be a binary - // message containing the room images - // as PNG. Therefore we temporarily swap - // the message handler. - var originalHandler = handleOnMessage; - handleOnMessage = function(message) { - // First, we restore the original handler. - handleOnMessage = originalHandler; - - // Read the image. - var blob = message.data; - // Create new blob with correct MIME type. - blob = new Blob([blob], {type : "image/png"}); - - var url = URL.createObjectURL(blob); - - var img = new Image(); - - // We must wait until the onload event is - // raised until we can draw the image onto - // the canvas. - // Therefore we need to pause the event - // forwarder until the image is loaded. - eventForwarder.pauseProcessing(); - - img.onload = function() { - - // Release the object URL. - URL.revokeObjectURL(url); - - // Set the canvases to the correct size. - for (var i = 0; i < canvasArray.length; i++) { - canvasArray[i].width = img.width; - canvasArray[i].height = img.height; - } - - // Now draw the image on the last canvas. - canvasServerImageCtx.clearRect(0, 0, - canvasServerImage.width, - canvasServerImage.height); - canvasServerImageCtx.drawImage(img, 0, 0); - - // Draw it on the background canvas. - canvasBackgroundCtx.drawImage(canvasServerImage, - 0, 0); - - isStarted = true; - startControls(); - - // Refresh the display canvas. - refreshDisplayCanvas(); - - - // Finally, resume the event forwarder. - eventForwarder.resumeProcessing(); - }; - - img.src = url; - }; - } - } else { - if (type == "3") { - // The number of players in this room changed. - var playerAdded = msg.substring(1) == "+"; - playerCount += playerAdded ? 1 : -1; - refreshPlayerCount(); - - Console.log("Player " + (playerAdded - ? "joined." : "left.")); - - } else if (type == "1") { - // We received a new DrawMessage. - var maxLastHandledId = -1; - var drawMessages = msg.substring(1).split("|"); - for (var i = 0; i < drawMessages.length; i++) { - var elements = drawMessages[i].split(","); - var lastHandledId = parseInt(elements[0]); - maxLastHandledId = Math.max(maxLastHandledId, - lastHandledId); - - var path = new Path( - parseInt(elements[1]), - [parseInt(elements[2]), - parseInt(elements[3]), - parseInt(elements[4]), - parseInt(elements[5]) / 255.0], - parseFloat(elements[6]), - parseFloat(elements[7]), - parseFloat(elements[8]), - parseFloat(elements[9]), - parseFloat(elements[10])); - - // Draw the path onto the last canvas. - path.draw(canvasServerImageCtx); - } - - // Draw the last canvas onto the background one. - canvasBackgroundCtx.drawImage(canvasServerImage, - 0, 0); - - // Now go through the pathsNotHandled array and - // remove the paths that were already handled by - // the server. - while (pathsNotHandled.length > 0 - && pathsNotHandled[0].id <= maxLastHandledId) - pathsNotHandled.shift(); - - // Now me must draw the remaining paths onto - // the background canvas. - for (var i = 0; i < pathsNotHandled.length; i++) { - pathsNotHandled[i].path.draw(canvasBackgroundCtx); - } - - refreshDisplayCanvas(); - } - } - } - } - }; - - socket.onmessage = function(message) { - eventForwarder.callFunction(function() { - handleOnMessage(message); - }); - }; - - } - - - function refreshPlayerCount() { - labelPlayerCount.nodeValue = String(playerCount); - } - - function refreshDisplayCanvas() { - if (!isActive) { // Don't draw a curser when not active. - return; - } - - canvasDisplayCtx.drawImage(canvasBackground, 0, 0); - if (currentPreviewPath != null) { - // Draw the preview path. - currentPreviewPath.draw(canvasDisplayCtx); - - } else if (mouseInWindow && !mouseDown) { - canvasDisplayCtx.beginPath(); - var color = availableColors[currentColorIndex].slice(0); - color[3] = previewTransparency; - canvasDisplayCtx.fillStyle = rgb(color); - - canvasDisplayCtx.arc(currentMouseX, currentMouseY, - availableThicknesses[currentThicknessIndex] / 2, - 0, Math.PI * 2.0, true); - canvasDisplayCtx.fill(); - } - - } - - function startControls() { - isActive = true; - - labelContainer.removeChild(placeholder); - placeholder = undefined; - - labelContainer.appendChild( - document.createTextNode("Number of Players: ")); - labelContainer.appendChild(labelPlayerCount); - - - drawContainer.style.display = "block"; - drawContainer.appendChild(canvasDisplay); - - drawContainer.appendChild(optionContainer); - - canvasMouseDownHandler = function(e) { - if (e.button == 0) { - currentMouseX = e.pageX - canvasDisplay.offsetLeft; - currentMouseY = e.pageY - canvasDisplay.offsetTop; - - mouseDown = true; - canvasMouseMoveHandler(e); - - } else if (mouseDown) { - // Cancel drawing. - mouseDown = false; - currentPreviewPath = null; - - currentMouseX = e.pageX - canvasDisplay.offsetLeft; - currentMouseY = e.pageY - canvasDisplay.offsetTop; - - refreshDisplayCanvas(); - } - }; - canvasDisplay.addEventListener("mousedown", canvasMouseDownHandler, false); - - canvasMouseMoveHandler = function(e) { - var mouseX = e.pageX - canvasDisplay.offsetLeft; - var mouseY = e.pageY - canvasDisplay.offsetTop; - - if (mouseDown) { - var drawType = availableDrawTypes[currentDrawTypeIndex]; - - if (drawType.continuous) { - - var path = new Path(drawType.id, - availableColors[currentColorIndex], - availableThicknesses[currentThicknessIndex], - currentMouseX, currentMouseY, mouseX, - mouseY); - // Draw it on the background canvas. - path.draw(canvasBackgroundCtx); - - // Send it to the sever. - pushPath(path); - - // Refresh old coordinates - currentMouseX = mouseX; - currentMouseY = mouseY; - - } else { - // Create a new preview path. - var color = availableColors[currentColorIndex].slice(0); - color[3] = previewTransparency; - currentPreviewPath = new Path(drawType.id, - color, - availableThicknesses[currentThicknessIndex], - currentMouseX, currentMouseY, mouseX, - mouseY, false); - } - - refreshDisplayCanvas(); - } else { - currentMouseX = mouseX; - currentMouseY = mouseY; - - if (mouseInWindow) { - refreshDisplayCanvas(); - } - } - - }; - document.addEventListener("mousemove", canvasMouseMoveHandler, false); - - document.addEventListener("mouseup", function(e) { - if (e.button == 0) { - if (mouseDown) { - mouseDown = false; - currentPreviewPath = null; - - var mouseX = e.pageX - canvasDisplay.offsetLeft; - var mouseY = e.pageY - canvasDisplay.offsetTop; - var drawType = availableDrawTypes[currentDrawTypeIndex]; - - // If we are drawing a continuous path and the previous mouse coordinates are the same as - // the new ones, there is no need to construct a new draw message as we don't need to - // "terminate" a path as every path element contains both the start and the end point. - if (!(drawType.continuous && mouseX == currentMouseX && mouseY == currentMouseY)) { - var path = new Path(drawType.id, availableColors[currentColorIndex], - availableThicknesses[currentThicknessIndex], - currentMouseX, currentMouseY, mouseX, - mouseY); - // Draw it on the background canvas. - path.draw(canvasBackgroundCtx); - - // Send it to the sever. - pushPath(path); - - // Refresh old coordinates - currentMouseX = mouseX; - currentMouseY = mouseY; - } - - refreshDisplayCanvas(); - } - } - }, false); - - canvasDisplay.addEventListener("mouseout", function(e) { - mouseInWindow = false; - refreshDisplayCanvas(); - }, false); - - canvasDisplay.addEventListener("mousemove", function(e) { - if (!mouseInWindow) { - mouseInWindow = true; - refreshDisplayCanvas(); - } - }, false); - - - // Create color and thickness controls. - var colorContainersBox = document.createElement("div"); - colorContainersBox.setAttribute("style", - "margin: 4px; border: 1px solid #bbb; border-radius: 3px;"); - optionContainer.appendChild(colorContainersBox); - - colorContainers = new Array(3 * 3 * 3); - for (var i = 0; i < colorContainers.length; i++) { - var colorContainer = colorContainers[i] = - document.createElement("div"); - var color = availableColors[i] = - [ - Math.floor((i % 3) * 255 / 2), - Math.floor((Math.floor(i / 3) % 3) * 255 / 2), - Math.floor((Math.floor(i / (3 * 3)) % 3) * 255 / 2), - 1.0 - ]; - colorContainer.setAttribute("style", - "margin: 3px; width: 18px; height: 18px; " - + "float: left; background-color: " + rgb(color)); - colorContainer.style.border = '2px solid #000'; - colorContainer.addEventListener("mousedown", (function(ix) { - return function() { - setColor(ix); - }; - })(i), false); - - colorContainersBox.appendChild(colorContainer); - } - - var divClearLeft = document.createElement("div"); - divClearLeft.setAttribute("style", "clear: left;"); - colorContainersBox.appendChild(divClearLeft); - - - var drawTypeContainersBox = document.createElement("div"); - drawTypeContainersBox.setAttribute("style", - "float: right; margin-right: 3px; margin-top: 1px;"); - optionContainer.appendChild(drawTypeContainersBox); - - drawTypeContainers = new Array(availableDrawTypes.length); - for (var i = 0; i < drawTypeContainers.length; i++) { - var drawTypeContainer = drawTypeContainers[i] = - document.createElement("div"); - drawTypeContainer.setAttribute("style", - "text-align: center; margin: 3px; padding: 0 3px;" - + "height: 18px; float: left;"); - drawTypeContainer.style.border = "2px solid #000"; - drawTypeContainer.appendChild(document.createTextNode( - String(availableDrawTypes[i].name))); - drawTypeContainer.addEventListener("mousedown", (function(ix) { - return function() { - setDrawType(ix); - }; - })(i), false); - - drawTypeContainersBox.appendChild(drawTypeContainer); - } - - - var thicknessContainersBox = document.createElement("div"); - thicknessContainersBox.setAttribute("style", - "margin: 3px; border: 1px solid #bbb; border-radius: 3px;"); - optionContainer.appendChild(thicknessContainersBox); - - thicknessContainers = new Array(availableThicknesses.length); - for (var i = 0; i < thicknessContainers.length; i++) { - var thicknessContainer = thicknessContainers[i] = - document.createElement("div"); - thicknessContainer.setAttribute("style", - "text-align: center; margin: 3px; width: 18px; " - + "height: 18px; float: left;"); - thicknessContainer.style.border = "2px solid #000"; - thicknessContainer.appendChild(document.createTextNode( - String(availableThicknesses[i]))); - thicknessContainer.addEventListener("mousedown", (function(ix) { - return function() { - setThickness(ix); - }; - })(i), false); - - thicknessContainersBox.appendChild(thicknessContainer); - } - - - divClearLeft = document.createElement("div"); - divClearLeft.setAttribute("style", "clear: left;"); - thicknessContainersBox.appendChild(divClearLeft); - - - setColor(0); - setThickness(0); - setDrawType(0); - - } - - function disableControls() { - document.removeEventListener("mousedown", canvasMouseDownHandler); - document.removeEventListener("mousemove", canvasMouseMoveHandler); - mouseInWindow = false; - refreshDisplayCanvas(); - - isActive = false; - } - - function pushPath(path) { - - // Push it into the pathsNotHandled array. - var container = new PathIdContainer(path, nextMsgId++); - pathsNotHandled.push(container); - - // Send the path to the server. - var message = container.id + "|" + path.type + "," - + path.color[0] + "," + path.color[1] + "," - + path.color[2] + "," - + Math.round(path.color[3] * 255.0) + "," - + path.thickness + "," + path.x1 + "," - + path.y1 + "," + path.x2 + "," + path.y2; - - socket.send("1" + message); - } - - function setThickness(thicknessIndex) { - if (typeof currentThicknessIndex !== "undefined") - thicknessContainers[currentThicknessIndex] - .style.borderColor = "#000"; - currentThicknessIndex = thicknessIndex; - thicknessContainers[currentThicknessIndex] - .style.borderColor = "#d08"; - } - - function setColor(colorIndex) { - if (typeof currentColorIndex !== "undefined") - colorContainers[currentColorIndex] - .style.borderColor = "#000"; - currentColorIndex = colorIndex; - colorContainers[currentColorIndex] - .style.borderColor = "#d08"; - } - - function setDrawType(drawTypeIndex) { - if (typeof currentDrawTypeIndex !== "undefined") - drawTypeContainers[currentDrawTypeIndex] - .style.borderColor = "#000"; - currentDrawTypeIndex = drawTypeIndex; - drawTypeContainers[currentDrawTypeIndex] - .style.borderColor = "#d08"; - } - - - connect(); - - } - - - // Initialize the room - var room = new Room(document.getElementById("drawContainer")); - - - }, false); - - })(); - ]]></script> -</head> -<body> - <div class="noscript"><div style="color: #ff0000; font-size: 16pt;">Seems your browser doesn't support Javascript! Websockets rely on Javascript being enabled. Please enable - Javascript and reload this page!</div></div> - <div id="labelContainer"/> - <div id="drawContainer"/> - <div id="console-container"/> - <div style="clear: left;"/> - - <h1 class="expand" data-content-id="expandContent" style="font-size: 1.3em;" - >About Drawboard WebSocket Example</h1> - <div id="expandContent"> - <p> - This drawboard is a page where you can draw with your mouse or touch input - (using different colors) and everybody else which has the page open will - <em>immediately</em> see what you are drawing.<br/> - If someone opens the page later, they will get the current room image (so they - can see what was already drawn by other people). - </p> - <p> - It uses asynchronous sending of messages so that it doesn't need separate threads - for each client to send messages.<br/> - Each "Room" (where the drawing happens) uses a ReentrantLock to synchronize access - (currently, only a single Room is implemented). - </p> - <p> - When you open the page, first you will receive a binary websocket message containing - the current room image as PNG image. After that, you will receive string messages - that contain the drawing actions (line from x1,y1 to x2,y2).<br/> - <small>Note that it currently only uses simple string messages instead of JSON because - I did not want to introduce a dependency on a JSON lib.</small> - </p> - <p> - It uses synchronization mechanisms to ensure that the final image will look the same - for every user, regardless of what their network latency/speed is – e.g. if two user - draw at the same time on the same place, the server will decide which line was the - first one, and that will be reflected on every client. - </p> - </div> -</body> -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/websocket/echo.xhtml b/tomcat/webapps/examples/websocket/echo.xhtml deleted file mode 100644 index 89347bbd2169ba34461df35ee93aa5474b99755d..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/websocket/echo.xhtml +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<head> - <title>Apache Tomcat WebSocket Examples: Echo</title> - <style type="text/css"><![CDATA[ - #connect-container { - float: left; - width: 400px - } - - #connect-container div { - padding: 5px; - } - - #console-container { - float: left; - margin-left: 15px; - width: 400px; - } - - #console { - border: 1px solid #CCCCCC; - border-right-color: #999999; - border-bottom-color: #999999; - height: 170px; - overflow-y: scroll; - padding: 5px; - width: 100%; - } - - #console p { - padding: 0; - margin: 0; - } - ]]></style> - <script type="application/javascript"><![CDATA[ - "use strict"; - - var ws = null; - - function setConnected(connected) { - document.getElementById('connect').disabled = connected; - document.getElementById('disconnect').disabled = !connected; - document.getElementById('echo').disabled = !connected; - } - - function connect() { - var target = document.getElementById('target').value; - if (target == '') { - alert('Please select server side connection implementation.'); - return; - } - if ('WebSocket' in window) { - ws = new WebSocket(target); - } else if ('MozWebSocket' in window) { - ws = new MozWebSocket(target); - } else { - alert('WebSocket is not supported by this browser.'); - return; - } - ws.onopen = function () { - setConnected(true); - log('Info: WebSocket connection opened.'); - }; - ws.onmessage = function (event) { - log('Received: ' + event.data); - }; - ws.onclose = function (event) { - setConnected(false); - log('Info: WebSocket connection closed, Code: ' + event.code + (event.reason == "" ? "" : ", Reason: " + event.reason)); - }; - } - - function disconnect() { - if (ws != null) { - ws.close(); - ws = null; - } - setConnected(false); - } - - function echo() { - if (ws != null) { - var message = document.getElementById('message').value; - log('Sent: ' + message); - ws.send(message); - } else { - alert('WebSocket connection not established, please connect.'); - } - } - - function updateTarget(target) { - if (window.location.protocol == 'http:') { - document.getElementById('target').value = 'ws://' + window.location.host + target; - } else { - document.getElementById('target').value = 'wss://' + window.location.host + target; - } - } - - function log(message) { - var console = document.getElementById('console'); - var p = document.createElement('p'); - p.style.wordWrap = 'break-word'; - p.appendChild(document.createTextNode(message)); - console.appendChild(p); - while (console.childNodes.length > 25) { - console.removeChild(console.firstChild); - } - console.scrollTop = console.scrollHeight; - } - - - document.addEventListener("DOMContentLoaded", function() { - // Remove elements with "noscript" class - <noscript> is not allowed in XHTML - var noscripts = document.getElementsByClassName("noscript"); - for (var i = 0; i < noscripts.length; i++) { - noscripts[i].parentNode.removeChild(noscripts[i]); - } - }, false); - ]]></script> -</head> -<body> -<div class="noscript"><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websockets rely on Javascript being enabled. Please enable - Javascript and reload this page!</h2></div> -<div> - <div id="connect-container"> - <div> - <span>Connect to service implemented using:</span> - <br/> - <!-- echo example using new programmatic API on the server side --> - <input id="radio1" type="radio" name="group1" value="/examples/websocket/echoProgrammatic" - onclick="updateTarget(this.value);"/> <label for="radio1">programmatic API</label> - <br/> - <!-- echo example using new annotation API on the server side --> - <input id="radio2" type="radio" name="group1" value="/examples/websocket/echoAnnotation" - onclick="updateTarget(this.value);"/> <label for="radio2">annotation API (basic)</label> - <br/> - <!-- echo example using new annotation API on the server side --> - <input id="radio3" type="radio" name="group1" value="/examples/websocket/echoStreamAnnotation" - onclick="updateTarget(this.value);"/> <label for="radio3">annotation API (stream)</label> - <br/> - <!-- echo example using new annotation API on the server side --> - <!-- Disabled by default --> - <!-- - <input id="radio4" type="radio" name="group1" value="/examples/websocket/echoAsyncAnnotation" - onclick="updateTarget(this.value);"/> <label for="radio4">annotation API (async)</label> - --> - </div> - <div> - <input id="target" type="text" size="40" style="width: 350px"/> - </div> - <div> - <button id="connect" onclick="connect();">Connect</button> - <button id="disconnect" disabled="disabled" onclick="disconnect();">Disconnect</button> - </div> - <div> - <textarea id="message" style="width: 350px">Here is a message!</textarea> - </div> - <div> - <button id="echo" onclick="echo();" disabled="disabled">Echo message</button> - </div> - </div> - <div id="console-container"> - <div id="console"/> - </div> -</div> -</body> -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/websocket/index.xhtml b/tomcat/webapps/examples/websocket/index.xhtml deleted file mode 100644 index 97ee9451b6ca525961d8c71170fd776c16b08265..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/websocket/index.xhtml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<head> - <title>Apache Tomcat WebSocket Examples</title> -</head> -<body> -<h1>Apache Tomcat WebSocket Examples</h1> -<ul> - <li><a href="echo.xhtml">Echo example</a></li> - <li><a href="chat.xhtml">Chat example</a></li> - <li><a href="snake.xhtml">Multiplayer snake example</a></li> - <li><a href="drawboard.xhtml">Multiplayer drawboard example</a></li> - -</ul> -</body> -</html> \ No newline at end of file diff --git a/tomcat/webapps/examples/websocket/snake.xhtml b/tomcat/webapps/examples/websocket/snake.xhtml deleted file mode 100644 index b71077c63a46771def4b35763d749b121f3cbf8c..0000000000000000000000000000000000000000 --- a/tomcat/webapps/examples/websocket/snake.xhtml +++ /dev/null @@ -1,266 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<head> - <title>Apache Tomcat WebSocket Examples: Multiplayer Snake</title> - <style type="text/css"><![CDATA[ - #playground { - width: 640px; - height: 480px; - background-color: #000; - } - - #console-container { - float: left; - margin-left: 15px; - width: 300px; - } - - #console { - border: 1px solid #CCCCCC; - border-right-color: #999999; - border-bottom-color: #999999; - height: 480px; - overflow-y: scroll; - padding-left: 5px; - padding-right: 5px; - width: 100%; - } - - #console p { - padding: 0; - margin: 0; - } - ]]></style> -</head> -<body> - <div class="noscript"><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websockets rely on Javascript being enabled. Please enable - Javascript and reload this page!</h2></div> - <div style="float: left"> - <canvas id="playground" width="640" height="480"/> - </div> - <div id="console-container"> - <div id="console"/> - </div> - <script type="application/javascript"><![CDATA[ - "use strict"; - - var Game = {}; - - Game.fps = 30; - Game.socket = null; - Game.nextFrame = null; - Game.interval = null; - Game.direction = 'none'; - Game.gridSize = 10; - - function Snake() { - this.snakeBody = []; - this.color = null; - } - - Snake.prototype.draw = function(context) { - for (var id in this.snakeBody) { - context.fillStyle = this.color; - context.fillRect(this.snakeBody[id].x, this.snakeBody[id].y, Game.gridSize, Game.gridSize); - } - }; - - Game.initialize = function() { - this.entities = []; - var canvas = document.getElementById('playground'); - if (!canvas.getContext) { - Console.log('Error: 2d canvas not supported by this browser.'); - return; - } - this.context = canvas.getContext('2d'); - window.addEventListener('keydown', function (e) { - var code = e.keyCode; - if (code > 36 && code < 41) { - switch (code) { - case 37: - if (Game.direction != 'east') Game.setDirection('west'); - break; - case 38: - if (Game.direction != 'south') Game.setDirection('north'); - break; - case 39: - if (Game.direction != 'west') Game.setDirection('east'); - break; - case 40: - if (Game.direction != 'north') Game.setDirection('south'); - break; - } - } - }, false); - if (window.location.protocol == 'http:') { - Game.connect('ws://' + window.location.host + '/examples/websocket/snake'); - } else { - Game.connect('wss://' + window.location.host + '/examples/websocket/snake'); - } - }; - - Game.setDirection = function(direction) { - Game.direction = direction; - Game.socket.send(direction); - Console.log('Sent: Direction ' + direction); - }; - - Game.startGameLoop = function() { - if (window.webkitRequestAnimationFrame) { - Game.nextFrame = function () { - webkitRequestAnimationFrame(Game.run); - }; - } else if (window.mozRequestAnimationFrame) { - Game.nextFrame = function () { - mozRequestAnimationFrame(Game.run); - }; - } else { - Game.interval = setInterval(Game.run, 1000 / Game.fps); - } - if (Game.nextFrame != null) { - Game.nextFrame(); - } - }; - - Game.stopGameLoop = function () { - Game.nextFrame = null; - if (Game.interval != null) { - clearInterval(Game.interval); - } - }; - - Game.draw = function() { - this.context.clearRect(0, 0, 640, 480); - for (var id in this.entities) { - this.entities[id].draw(this.context); - } - }; - - Game.addSnake = function(id, color) { - Game.entities[id] = new Snake(); - Game.entities[id].color = color; - }; - - Game.updateSnake = function(id, snakeBody) { - if (typeof Game.entities[id] != "undefined") { - Game.entities[id].snakeBody = snakeBody; - } - }; - - Game.removeSnake = function(id) { - Game.entities[id] = null; - // Force GC. - delete Game.entities[id]; - }; - - Game.run = (function() { - var skipTicks = 1000 / Game.fps, nextGameTick = (new Date).getTime(); - - return function() { - while ((new Date).getTime() > nextGameTick) { - nextGameTick += skipTicks; - } - Game.draw(); - if (Game.nextFrame != null) { - Game.nextFrame(); - } - }; - })(); - - Game.connect = (function(host) { - if ('WebSocket' in window) { - Game.socket = new WebSocket(host); - } else if ('MozWebSocket' in window) { - Game.socket = new MozWebSocket(host); - } else { - Console.log('Error: WebSocket is not supported by this browser.'); - return; - } - - Game.socket.onopen = function () { - // Socket open.. start the game loop. - Console.log('Info: WebSocket connection opened.'); - Console.log('Info: Press an arrow key to begin.'); - Game.startGameLoop(); - setInterval(function() { - // Prevent server read timeout. - Game.socket.send('ping'); - }, 5000); - }; - - Game.socket.onclose = function () { - Console.log('Info: WebSocket closed.'); - Game.stopGameLoop(); - }; - - Game.socket.onmessage = function (message) { - var packet = JSON.parse(message.data); - switch (packet.type) { - case 'update': - for (var i = 0; i < packet.data.length; i++) { - Game.updateSnake(packet.data[i].id, packet.data[i].body); - } - break; - case 'join': - for (var j = 0; j < packet.data.length; j++) { - Game.addSnake(packet.data[j].id, packet.data[j].color); - } - break; - case 'leave': - Game.removeSnake(packet.id); - break; - case 'dead': - Console.log('Info: Your snake is dead, bad luck!'); - Game.direction = 'none'; - break; - case 'kill': - Console.log('Info: Head shot!'); - break; - } - }; - }); - - var Console = {}; - - Console.log = (function(message) { - var console = document.getElementById('console'); - var p = document.createElement('p'); - p.style.wordWrap = 'break-word'; - p.innerHTML = message; - console.appendChild(p); - while (console.childNodes.length > 25) { - console.removeChild(console.firstChild); - } - console.scrollTop = console.scrollHeight; - }); - - Game.initialize(); - - - document.addEventListener("DOMContentLoaded", function() { - // Remove elements with "noscript" class - <noscript> is not allowed in XHTML - var noscripts = document.getElementsByClassName("noscript"); - for (var i = 0; i < noscripts.length; i++) { - noscripts[i].parentNode.removeChild(noscripts[i]); - } - }, false); - - ]]></script> -</body> -</html> \ No newline at end of file