Apache Click es un marco de aplicación web orientado a páginas y componentes para el lenguaje Java y está construido sobre la API de Servlet de Java .
Es un proyecto gratuito y de código abierto distribuido bajo la licencia Apache y se ejecuta en cualquier instalación JDK (1.5 o posterior).
Click fue creado inicialmente por Malcolm Edgar como el proyecto click.sourceforce.net en 2003. Luego, el proyecto pasó a ser un proyecto de nivel superior de Apache en noviembre de 2009 con Bob Schellink. El proyecto se retiró en mayo de 2014. [2]
Los principales objetivos del diseño son la simplicidad, la facilidad de uso, el rendimiento y la escalabilidad. Para lograr estos objetivos, Click aprovecha una página intuitiva y un diseño orientado a componentes.
Las páginas y los componentes proporcionan una buena encapsulación de los conceptos web y permiten un rápido desarrollo de aplicaciones.
Click adopta un enfoque pragmático y expone algunas abstracciones para aprender y comprender. La API de Java Servlet está completamente expuesta al desarrollador, lo que facilita la ruta de actualización desde un marco basado en acciones a uno basado en componentes.
Las páginas y los componentes se desarrollan en Java, mientras que las plantillas se pueden escribir en Velocity , FreeMarker o JSP . Los componentes saben cómo dibujarse a sí mismos, lo que evita que los desarrolladores mantengan un marcado redundante.
Una diferencia importante entre Click y otros marcos web orientados a componentes es que Click no tiene estado por diseño, aunque se admiten páginas con estado.
Hay otros marcos orientados a componentes disponibles para Java, como JSF , Tapestry , WebObjects , Apache Wicket y Vaadin .
Algunos desarrolladores prefieren los marcos web basados en acciones más tradicionales, incluidos Apache Struts , Spring MVC y Stripes .
Una aplicación Hello World Click, con cuatro archivos:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <cuerpo> <p> $mensaje </p> </cuerpo> </html>
paquete org.wikipedia.click ; importar org.apache.click.Page ; public class HelloWorld extends Page { /** * Constructor */ public HelloWorld () { // Agrega el valor al mapa ("message" = "$message") addModel ( "message" , "¡Hello World!" ); } }
click.xml
archivo de configuración. Este archivo especifica las páginas de la aplicación, los encabezados, el objeto de formato y el modo de la aplicación.HelloWorld
clase de página se asigna a la plantilla hello-world.htm
. Sólo nos queda informar a Click del paquete de la HelloWorld
clase, en este caso org.wikipedia.click
. Lo hacemos a través del click.xml
archivo de configuración que permite hacer clic para asignar hello-world.htm
solicitudes a la org.wikipedia.click.HelloWorld
clase de página.ClickServlet
intentará cargar el archivo de configuración de la aplicación utilizando la ruta:/WEB-INF/click.xml
<?xml versión="1.0" codificación="UTF-8"?> <aplicación de clic> < paquete de páginas= "org.wikipedia.click" /> </ aplicación de clic>
<?xml versión="1.0" codificación="UTF-8"?> <aplicación web xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns= "http://java .sun.com/xml/ns/javaee" xmlns:web= "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation= "http://java.sun .com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id= "WebApp_ID" version= "2.5" > <display-name> Ejemplo de clic </ nombre-visualización> <servlet> <nombre-servlet> clic-servlet </nombre-servlet> <clase-servlet> org.apache.click.ClickServlet </clase-servlet> <carga-en-inicio> 0 </cargar -on-startup> </servlet> <servlet-mapping> <servlet-name> haga clic en servlet </servlet-name> <url-pattern> *.htm </url-pattern> </servlet-mapping> </ aplicación web>