Buchrezension: JavaServer Faces 2.0

Cover: JavaServer Faces 2.0 - Grundlagen und erweiterte Konzepte

Martin Marinschek, Michael Kurz, Gerald Müllan
JavaServer Faces 2.0
Grundlagen und erweiterte Konzepte

dpunkt.verlag
340 Seiten. broschiert
€ 38,00
ISBN 978-3-89864-606-2

Wahrscheinlich jeder Entwickler hat den Wunsch, eine perfekte Anwendung zu erstellen, doch dies gestaltet sich häufig schwieriger als zunächst gedacht. Mit ihrem Buch JavaServer Faces 2.0 wollen Martin Marinschek, Michael Kurz und Gerald Müllan einen Einblick in JSF geben und dabei helfen, eine „perfekte Webapplikation“ zu erstellen. Die drei Autoren besitzen allesamt langjährige Erfahrung in JSF-Projekten. Martin Marinschek ist als Mitglied der JSF 2.0 Expertgroup ein Co-Autor der aktuellen Spezifikation.

weiterlesen

Auf Spurensuche in der Java-VM mit BTrace und YouDebug

In der jüngeren Vergangenheit ist in der Java-Welt eine Art von Werkzeugen entstanden, die sich zwischen den Extremen „Debugging“ und „Profiling“ ansiedelt. Diese Werkzeuge erlauben es, das Verhalten von Anwendungen hinsichtlich eines sonst verdeckten Charakterzuges zu beobachten. Im Folgenden sollen zwei dieser Tracing-Werkzeuge an Hand von Beispielen vorgestellt werden.

Tracing-Werkzeuge sind im Bereich der Systemadministration bereits bestens bekannt. So protokolliert beispielsweise das Linux-Werkzeug „strace“ alle Systemaufrufe eines Anwendungssystems in menschenlesbarer Form. Tracing-Werkzeuge, die Ähnliches für Java-Anwendungen leisten wollen, können sich der JPDA (Java Platform Debugger Architecture) bedienen. weiterlesen

buschmais auf der OOP 2010.

buschmais startet in das neue Jahr auf der OOP 2010. Vom 25. – 29. Januar 2010 wird das International Congress Center München zum Treffpunkt für Softwarearchitekten und für Entscheider. Unter dem Motto „Productivity: People, Process and Technology“ wird sich die OOP den aktuellen und praxisnahen Softwarethemen widmen.

Wir laden Sie zu interessanten Gesprächen mit unseren Spezialisten ein. Besuchen Sie uns an unserem Stand 8.4c!

Gern können Sie mit uns im vorab einen Gesprächstermin für die OOP vereinbaren. Kontaktieren Sie uns einfach per E-Mail über info@buschmais.com oder per Telefon unter 0351 320923-0.

Mit unserem Freepass-Ticket (PDF) können Sie die Ausstellung und das Rahmenprogramm kostenfrei besuchen.

Erfahren Sie mehr über die OOP 2010 und über das kostenfreie Besucherprogramm.

O/R-Mapping ohne Schnickschnack

Zwischen der Flexibilität reinen SQLs und der Mächtigkeit ausgewachsener O/R-Mapper existiert eine kleine Bibliothek, die es beinahe in das JDK 6 geschafft hätte: EoD SQL (Ease of Development SQL). Die Idee hinter EoD SQL ist so genial wie einfach: Der Nutzer annotiert ein Java-Interface mit SQL-Statements und die Bibliothek liefert mittels eines Java-Reflection-Proxys eine Implementierung dieses Interfaces zur Benutzung:

public interface NutzerMgmt extends BaseQuery {

  @Select("SELECT COUNT(*) FROM USER")
  long ermittleNutzerAnzahl();

}

Folglich die Benutzung :

Connection c = … ;

NutzerMgmt nutzerMgmt = QueryTool.getQuery(c, NutzerMgmt.class);

try {

  long anzahl = nutzerMgmt.ermittleNutzerAnzahl();

} finally {

  nutzerMgmt.close(); // schließt ebenfalls die Connection

}

Möchte man das Gleiche mit reinem SQL erreichen, so ist der Code ungleich komplizierter:

weiterlesen

Initialisierung von JSF-Managed-Beans

Allgemein bekannt ist die Tatsache, dass Managed-Beans in der Faces-Config-XML-Datei nicht nur deklariert, sondern auch initialisiert werden können. Schon weniger bekannt ist die Tatsache, dass bei der Initialisierung der Beans auch Verknüpfungen zu anderen Managed-Beans hergestellt werden können. Zur Verdeutlichung soll der folgende Code-Schnipsel dienen:

<faces -config version="1.2" ...>
  <managed -bean>
    </managed><managed -bean-name>user</managed>
    <managed -bean-class>
            my.app.model.Person</managed>
    <managed -bean-scope>application</managed>
    <managed -property>
      <property -name>homeAddress</property>
      <value>#{address}</value>
    </managed>
  
  <managed -bean>
    </managed><managed -bean-name>address</managed>
    <managed -bean-class>
            my.app.model.Address</managed>
    <managed -bean-scope>application</managed>
    <managed -property>
      <property -name>city</property>
      <value>Dresden</value>
    </managed>
    <managed -property>
      <property -name>street</property>
      <value>Leipziger Str. 93</value>
    </managed>
  
</faces>

WEB-INF/faces-config.xml: Initialisierung einer Managed-Bean

In Zeile 9 wird die Verbingung zwischen der Bean „user“ und der Bean „address“ über die Eigenschaft „homeAddress“ hergestellt.

Wie lässt sich allerdings die Sache angehen, wenn man für das Address-Objekt keine eigenständige Bean deklarieren möchte?

weiterlesen

 Zurück 1 2 3 4 5 Vor