Implementación de las configuraciones del cliente del servlet de listas de páginas
La información de configuración de PageListServlet puede definirse en el archivo de ampliaciones Web de IBM® (IBM Web Extensions). El archivo de ampliaciones Web de IBM se crea y almacena en el archivo WAR (archivo de aplicaciones web) mediante una herramienta de ensamblaje.
Acerca de esta tarea
Atención: La extensión personalizada de PageList Servlet está en desuso en WebSphere Application
Server Versión 9.0 y se eliminará en
futuros releases. Vuelva a diseñar la arquitectura de las aplicaciones
heredadas para utilizar clases javax.servlet.filter en lugar de clases
com.ibm.servlet. A partir de la especificación de Servlet 2.3, las clases javax.servlet.filter
le permiten interceptar solicitudes y examinar respuestas. Asimismo, puede utilizar las clases javax.servlet.filter para conseguir
funciones de encadenamiento, así como dar formato o truncar respuestas.
Para configurar e implementar listas de páginas:
Procedimiento
Ampliación de PageListServlet
El siguiente ejemplo muestra cómo un servlet amplía la clase PageListServlet y determina el tipo de lenguaje de marcación necesario para el cliente. A continuación, el servlet utiliza el método callPage para llamar a un archivo JSP (JavaServer Pages) adecuado. En este ejemplo, el archivo JSP que proporciona el lenguaje de marcación correcto para la respuesta es Hello.page.
public class HelloPervasiveServlet extends PageListServlet implements Serializable
{
/*
* doGet -- Procesa solicitudes HTTP GET entrantes
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
// Este es el nombre de la página que se va a llamar:
String pageName = "Hello.page";
// Comprobar primero si el servlet se ha invocado con una queryString que contenga
// un valor de lenguaje de etiquetas.
// Por ejemplo, si es así cómo se invoca el servlet:
// http://localhost/servlets/HeloPervasive?mlname=VXML
// utilice el siguiente método:
String mlname= getMLNameFromRequest(request);
// Si no se proporciona ningún tipo de lenguaje de marcación en la queryString,
// intente determinar el tipo de
// cliente a partir de la solicitud y utilice el nombre del lenguaje de marcación configurado
// en el archivo client_types.xml. if (mlName == null)
{
mlName = getMLTypeFromRequest(request);
}
try
{
// Ofrecer la página de solicitud.
callPage(mlName, pageName, request, response);
}
catch (Exception e)
{
handleError(mlName, request, response, e);
}
}
}