|
jsp-develop.de presents: MVC (Kommunikation zwischen Controller und View) |
| von shark, 13.05.2001 21:19:02 |
|
Das WEB Application Model von SUN Microsystems (Trademark) wird durch die Java 2 Enterprise Edition (J2EE) abgebildet. Eine J2EE Anwendung unterteilt eine WEB-Anwendungen in Schichten (Tiers). Der "Client Tier" beinhaltet eine Java bzw. Browser-Anwendung die mit dem "Middle Tier" kommuniziert und Daten austauscht. Die Kommunikation kann je nach Anwendungsfall über das Internet bzw. ein Intranet erfolgen. Der "Middle Tier" setzt sich aus einem oder mehreren WEB-Container bzw. EJB-Containern zusammen. In den Containern laufen die Komponenten ab, in denen die Geschäftslogik(Business Logic) einer Anwendung implementiert ist. Grundlage der Kommunikation im "Middle Tier" und zwischen den einzelnen Komponenten ist das Model-View-Controller (MVC) Konzept. Das MVC beschreibt wie im "Middle Tier" Komponenten zusammenarbeiten. Der Controller wird oft als Servlet implementiert, der eingehende Requests an das Modell (Java Beans bzw. Enterprise Java Beans) verteilt und mit Hilfe von Java Server Pages (View) die Informationen sichtbar macht. Die Komponenten des "Middle Tiers" greifen über die Standardschnittstellen des J2EE (JDBC, JNDI, etc.) auf den "Enterprise Information Tier" (Datenschicht) zu. Daten zwischen einem Controller (Servlet) und JSP-Seiten werden mit Hilfe der Methoden setAttribute() und getAttribute() ausgetauscht. Das Servlet benutzt die Methode setAttributte() um ein Java Bean in der JSP-Seite verfügbar zu machen. Das Servlet erzeugt das Java Bean, speichert diese als Request Attribut und leitet die Kontolle zu der entsprechenden JSP-Seite weiter. Beispiel: ------------- import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public void doGet( HttpServletRequest request, HttpServletResponse reponse ) throws ServletException, IOException { // Parameter lesen String strAlias= request.getParameter("alias"); // Account Bean erzeugen AccountBean oAccountBean= userReg.getUserInfo(strAlias); // Attribut setzen request.setAttribute("account", oAccountBean); // Dispatcher erzeugen RequestDispatcher oDispatcher= request.getRequestDispatcher("account.jsp"); // Forward auf JSP-Seite oDispatcher.forward(request, response); } In der JSP-Seite erscheint das Java Bean als Request Scope Variable. Mit dem <jsp:useBean> Tag wird das Java Bean initialisiert. Attribute werden mit dem <jsp:getProperty> Tag angesprochen. <jsp:useBean id="account" scope="request" class="de.shark.beans.account" /> <jsp:getProperty name="account" property="alias" /> Das Attribut "id" im <jsp:useBean> Tag muss mit dem Request-Attribut, welches im Servlet verwendet wird übereinstimmen. Weitere Informationen zu der J2EE und dem MVC Konzept finden Sie in den Blueprints von SUN Microsystems (Trademark): http://java.sun.com/j2ee/blueprints/ |
|
URL dieses Beitrags: http://www.jsp-develop.de/forumbeitrag/view/55/ |