public class FrontController
extends javax.servlet.http.HttpServlet
Clase que implementa el patrón FrontController y será por tanto la encargada de proporcionar un único punto de acceso a la capa de presentación.
Dado que esta clase es un Servlet será necesario declararlo en el descriptor de despliegue de la aplicación Web (fichero web.xml) asignándole un patrón de URLs de forma que todas aquellas peticiones recibidas que sigan el patrón, sean procesadas por éste.
<servlet-mapping>
<servlet-name>FrontController</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Para cada petición que cumpla el patrón ContextObject
con la información del contexto de la petición,
así como un objeto Mapping
que contendrá los datos del fichero de configuración del framework
asociados con la petición en curso. Finalmente se despachará esta información a la clase ApplicationController
de forma
que la gestión de invocación a las acciones y la gestión de envío a las vistas quede fuera del FrontController.
Este servlet, como cualquier otro, debe estar declarado en el fichero de despliegue de la aplicación web 'web.xml'.
Puesto que será el encargado de 'inicializar' el framework antes de que éste sirva la primera petición, será necesario indicarle el fichero de configuración que utilizará durante su ejecución.
La ruta a este fichero debe indicársele como valor del tag {code <param-name>config</param-name>
) tal y
como se muestra en el siguiente ejemplo.
<servlet>
<display-name>FrontController</display-name>
<servlet-name>FrontController</servlet-name>
<servlet-class>edu.uoc.framework.core.FrontController</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/classes/resources/JavaMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
El fichero JavaMVC.xml al que se hace referencia en el ejemplo, debe ser un fichero XML que cumpla el esquema JavaMVC.xsd ya que, en caso contrario, el framework no será capaz de inicializarse correctamente.
Constructor and Description |
---|
FrontController() |
Modifier and Type | Method and Description |
---|---|
void |
init(javax.servlet.ServletConfig servletConfig)
Método de inicialización invocado por el servidor que se ejecutará una única vez
justo después de ser instanciado.
|
public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
Método de inicialización invocado por el servidor que se ejecutará una única vez justo después de ser instanciado.
En función del servidor en el que se despliegue la aplicación este proceso puede ocurrir en distintos momentos:En cualquier caso este método se habrá ejecutado antes de que se procese la primera petición.
Dadas las cualidades de este método será el apropiado para llevar a cabo las tareas de inicialización del framework.
Es necesario que en la declaración del Servlet (web.xml) se informe un parámetro de inicio cuyo valor sea la ruta al fichero xml de configuración del framework (que deberá cumplir con el esquema JavaMVC.xsd).
init
in interface javax.servlet.Servlet
init
in class javax.servlet.GenericServlet
servletConfig
- - Objeto usado por el contenedor de Servlets utilizado para pasar
información a un servlet durante su inicialización.javax.servlet.ServletException
- - Excepción lanzada por el servlet ante una situación de error.