30. Juli 2010  
  Suche:
 
  Basics
  Code-Galerie
  Forum
  FAQ
  Tipps & Tricks
  Literatur
  Knowledge Base
  Workshops
  JSP-Hosting
  JSP-Engines
  Jobbörse
  Links
  JSP-Sites
  Newsletter
  JSP-Test
  Impressum
  Username:
  
  Passwort:
  
  

  Jetzt registrieren
  Warum registrieren?

  Valid HTML 4.01!
  Valid CSS!

MVC (Kommunikation zwischen Controller und View)

von shark,  13.05.2001 21:19:02  (4 votes) Kommentare (1)  [vote]
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/
[Druckansicht]    [Beitrag versenden]
<< zurück  Kommentieren

Kommentare zu diesem Eintrag
Re: MVC (Kommunikation zwischen Controller und Vie
mista, 19.01.2006 15:33:32

Hallo!
Also leider verstehe ich das obige Beispiel nur bedingt. Vor allem den Schritt
AccountBean oAccountBean= userReg.getUserInfo(strAlias);
kann ich nicht nachvollziehn. Woher kommt das userReg?
Wie würde die entsprechende bean dazu aussehen?
Vlcht kann mir das ja mal jmd näher erläutern.


<< zurück


Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer Homepage angebrachten Links

Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig- und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes. Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.

Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation. Other trademarks and registered trademarks are the property of their respective owners.