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 de diseño son la simplicidad, la facilidad de uso, el rendimiento y la escalabilidad. Para lograr estos objetivos, Click aprovecha un diseño intuitivo orientado a componentes y páginas.
Las páginas y los componentes proporcionan una buena encapsulación de los conceptos web y permiten un desarrollo rápido de aplicaciones.
Click adopta un enfoque pragmático y expone algunas abstracciones para aprender y comprender. La API de Servlet de Java está completamente expuesta al desarrollador, lo que facilita la ruta de actualización de 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 tengan que mantener 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 admite páginas con estado.
Hay una serie de 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 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <body> <p> $mensaje </p> </body> </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" , "¡Hola mundo!" ); } }
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
. Solo tenemos que 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 a Click 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 version="1.0" encoding="UTF-8"?> <click-app> < paquete de páginas= "org.wikipedia.click" /> </click-app>
<?xml version="1.0" encoding="UTF-8"?> <web-app 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" > <nombre-para-mostrar> Ejemplo de clic </nombre-para-mostrar> <servlet> <nombre-servlet> servlet-clic </nombre-servlet> <clase-servlet> org.apache.click.ClickServlet </servlet-class> <carga-al-inicio> 0 </carga-al-inicio> </servlet> <asignación-de- servlet > <nombre-servlet> click-servlet </nombre-servlet> <patrón-url > *.htm < /patrón-url> </asignación-de-servlet> </aplicación- web >