Public abstract class Contrôleur IlxWController étend javax.servlet.http.HttpServlet implémente IlxWConstants
Lors de la création d'une application Web à l'aide des composants Web, vous devez fournir un servlet de contrôleur et indiquer son chemin dans le paramètre de contexte ilog.webui.dhtml.controller_path . Vous fournissez généralement ces informations dans le descripteur de déploiement WEB-INF/web.xml de votre application Web (voir Spécification Servlet 2.2 pour plus de détails sur les applications Web et les descripteurs de déploiement). Le contrôleur que vous fournissez doit être une sous-classe de IlxWController, à savoir la classe IlxWDefaultController ou votre propre sous-classe.
Voici un exemple de sous-classe de servlet de contrôleur :
Public de classe MyController étend IlxWController {
Public void handleError (HttpRequest req,
Resp HttpResponse,
Erreur IlxWControllerError,
Chaîne updateRequest) {
Resp.sendError (HttpResponse.SC_INTERNAL_SERVER_ERROR,
Error.getMessage ()) ;
}
}
... et généralement, vous référencez ce servlet dans votre fichier WEB-INF/web.xml comme suit:... <context-param> < param-name>ilog.webui.dhtml.controller_path < /param-name> < valeur_paramème> /servlet/myservlets.MyController < /param-value> </context-param> <servlet> < servlet-name> MonController < /servlet-name> < servlet-class>myservlets.MyController < /servlet-class> </servlet> <servlet-mapping> < servlet-name> MonController < /servlet-name> < url-pattern> /servlet/myservlets.MonController < /url-pattern> </servlet-mapping> ...
Pour comprendre comment la communication entre le côté client et le côté serveur d'un composant Web est gérée, regardons un scénario d'interaction utilisateur. Supposons qu'un utilisateur effectue une action sur un navigateur Web, par exemple, en cliquant sur un lien de l'éditeur Syntactique. Lorsque cette action est effectuée, une méthode de proxy JavaScript est appelée. Cette méthode enregistre d'abord les données représentant la modification appliquée au composant dans une file d'attente stockée dans l'environnement JavaScript du client. Nous appelons cette file d'attente File d'attente de composants modifiés. La prochaine fois qu'une demande est envoyée à Servlet de contrôleur, les données de la file d'attente de composants modifiées seront ajoutées à la demande et l'objet de composant côté serveur sera mis à jour en conséquence. De cette façon, les composants sont synchronisés côté client et côté serveur.
Le principal problème du côté client est de savoir s'il faut ou non réafficher la page HTML. Le proxy JavaScript applique des modifications à la page HTML en évaluant l'action de l'utilisateur. Il y a trois conditions possibles qui peuvent se présenter:
XMLHttpRequest ActiveX. Cela nous permet d'implémenter un mécanisme de réaffichage intelligent, car seules les parties modifiées du composant_self comme cible. Après avoir traité la file d'attente de composant modifiée, le servlet contrôleur transmet la demande au servlet ou à la page JSP qui a affiché le composant qui a déclenché l'action.Dans cette classe, la méthode service() gère toutes les demandes quel que soit leur type. Le remplacement de doGet, doPost, doPut, etc. n'a aucun effet.
IlxWComponent, IlxWPort, IlxWManager, Formulaire sérialisé| Constructeur et description |
|---|
IlxWController() |
| Modificateur et type | Méthode et description |
|---|---|
protected abstract void |
handleError(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
IlxWControllerError error,
java.lang.String requestPath)Gère les erreurs générées par la méthode
service de ce servlet. |
protected void |
service(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp)Redéfinit
HttpServlet.service(). |
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, serviceService void protégée (javax.servlet.http.HttpServletRequest req,
Javax.servlet.http.HttpServletResponse resp)
Throws javax.servlet.ServletException,
Java.io.IOException
HttpServlet.service(). Vous ne devriez pas avoir à redéfinir cette méthode.service dans la classe javax.servlet.http.HttpServletjavax.servlet.ServletExceptionjava.io.IOExceptionProtected abstract void handleError (javax.servlet.http.HttpServletRequest request,
Réponse javax.servlet.http.HttpServletResponse,
Erreur IlxWControllerError ,
Java.lang.String requestPath)
Génère java.io.IOException,
Javax.servlet.ServletException
service de ce servlet.java.io.IOExceptionjavax.servlet.ServletExceptionerror -Objet d'erreur du contrôleur.request -Demande en cours.response -Réponse en cours.requestPath -Chemin de la demande qui a été appelée juste avant le contrôleur de servlet.© Copyright IBM Corp. 1987, 2022