Kategorie: Java-Programmierung

Session-Bean

Ein Session – Bean ist ein Enterprise – Bean , die zeigen Methoden , die von Client – Anwendungen aufgerufen werden können. Jede Methode Anrufe können als handeln Transaktion . Sessions Bohnen in zwei Versionen erhältlich: mit oder ohne Erhaltung des Staates. Wenn Zustand erhält, so dass jedes Client – Programm seine eigene Aufgabe Arbeits erhalten, und die Ergebnisse können in dem Objekt gespeichert werden. Wenn ein Session – Bean ohne Zustand definiert ist kein Objekt für jeden Kunden erstellen. Das heißt, es kann kundenspezifische Daten in dem Objekt gespeichert werden.

Servlets

Ein Servlet ist ein Java – Programm in einem installiert werden Anwendungsserver . Nach der Installation kann es Abfragen über empfängt das Internet . Üblicherweise verwendete HTTP – Protokoll, aber Sun – Spezifikation ist allgemeiner.

Wenn ein Servlet Programmierung, können Sie drei Methoden in servletklassen außer Kraft setzen. Methode init wird aufgerufen , wenn das Servlet erstellt und Zerstörer genannt , kurz bevor das Servlet deaktiviert und entfernt wird . Schließlich wird das Verfahren Service , der von jeder Abfrage aufgerufen wird. Wenn das Servlet muss mit dem HTTP – Protokoll verwendet werden kann nützlich sein , eine Spezialisierung der Klasse zu verwenden HttpServlet , die Methoden, die zu den verschiedenen Arten von Abfragen entsprechen , die für HTTP definiert sind.

Wenn ein Servlet installiert ist, wird der Server haben in der Regel nur ein Objekt pro Servlet erstellt, und alle Anfragen gehen durch dieses Objekt. Dies bedeutet , dass Sie als Programmierer wegen dieser Gleichzeitigkeit nehmen müssen. Man sollte daher entweder beschränken sich Variablen haben , die erst nach der Initialisierung gelesen werden kann oder muss auch sein eigenes Programm Concurrency Control im Servlet.

Wenn es notwendig ist, Daten zu speichern, von einem Servlet-Aufruf zum nächsten, kann man eine Sitzung verwenden. Wenn diese Option verwendet wird, ein Sitzungsobjekt pro Client erstellen und ermöglicht kundenspezifische Daten gespeichert sind.

MIDP

MIDP (Mobile Information Devise Profile) ist eine abgespeckte Version von Java . MIDP wird Java – Anwendungen auf mobilen Geräten wie zu entwickeln , Handys und PDA ‚s.

In MIDP Java-Syntax ähnlich, aber viele der ursprünglichen Bibliotheken werden entweder entfernt oder geändert besser mit den mobilen Geräten zu passen. Der Grund, dass ein MIDP gemacht hat, ist, weil man nicht das große Benutzeroberflächen und graphische Lösungen benötigt, da die mobilen Computergeräte sind deutlich langsamer als als Computer.

JSP

Eine Java Server Page oder JSP ist ein HTML – oder XML – Dokument mit eingebettetem Java – Code . Eine JSP – Seite wird in einem geeigneten Anwendungsserver ( zum Beispiel eines ausführen J2EE – Server). Wenn die gewünschte Seite, bieten Anwendungsserver die Seite für aa zu kompilieren Servlet . JSP – Seiten verwendet , oft mit Servlets zusammen , so dass die Präsentation von JSPs geklärt wird , während die eigentliche Verarbeitung von Abfragen , die von Servlets behandelt.

Vorteile von JSP

JSP hat eine Reihe von Vorteilen gegenüber zB statischen HTML-Seiten:

  1. Dynamische Generierung von Websites : Websites Aussehen kann entsprechend den Eingang variiert werden, da beispielsweise in der Abfragezeichenfolge ( URL ‚one + seine Parameter).
  2. Der Zugriff auf Standardobjekten : Wenn Sie eine JSP zu schreiben, gibt es Zugriff auf eine Reihe von nützlichen Standardobjekten. Die Objektanforderung enthält Informationen über die Client – Applikation und alle Eingangsdaten. Wenn auf Daten in der Antwort manipuliert werden, verdeutlichte es mit dem Objekt Antwort . Die Objekte Sitzung und Anwendung können jeweils während einer vollständigen Sitzung Client – Daten von einem JSP oder Servlet auf den nächsten halten. ein ganzer Lauf der Web – Anwendung.
  3. Der Zugriff auf die Standard – Präsentationslogik : Viele Anwendungsserver bieten Taglibs mit vordefinierten Darstellungslogik , die JSP – Seiten von in Anspruch nehmen können. So erleichtert die Aufgabe des Programmierers.
  4. Trennung von Darstellung und Logik : Sie können einen HTML – Programmierer ohne tiefere Programmierkenntnisse setzen JSP – Seiten zu entwickeln, während mehr technischen Entwickler Java – Code in Servlets und anderen zugrunde liegenden Komponenten bereitstellen können.
  5. Gute Ausnahmebehandlung : Bei Ausnahmen von dem Client – JSP bietet eine Reihe von Sound – Navigation und Anzeigeelementen weitergegeben werden.

JSP – Syntax

JSP-Spezifikation stellt 6 Syntaxelemente.

Richtlinien

In anderen Richtlinien JSP-Seiten enthalten sein können (statisch, als Rohtext oder zur Compile-Zeit) und Taglibs, Klassen und Servlets können importiert werden. Es kann auch angeben, ob die Seite eine Fehlerseite ist oder nicht, usw. Richtlinien sind von der Form

<% @ Richtlinie%>

Zum Beispiel:

<% @ Taglib prefix = "myPrefix" uri = "myUri" %>

Statements

Aussagen von der Form

<%! Statement%>

Zum Beispiel:

<%! int i = 0; %>

Gültige Java – Code

Java-Code (auch Variable und Methodendeklarationen) kann direkt in den JSP-Seiten eingefügt werden (obwohl es zweckmäßig sein kann, ist es inkonsequent, aber Model-View-Controller-Entwurfsmuster).

Java – Code wird in JSP – Seiten genannt eingefügt Scriptlets .

Scriptlets ist von der Form

<% Scriptlet%>

Ein Beispiel für ein scriptlet könnte sein:

<%
 String name = null;
 if (request.getParameter ( "name") == null) {
%>
<% @ Include-Datei = "error.html" %>
<%
 } Else {
 name = request.getParameter ( "Name");
 }
%>

Ausdrücke

Java-Ausdrücke können eingefügt werden. Der Begriff wird zum Zeitpunkt der Abfrage ausgewertet, und die daraus resultierende einfache Art oder objektreferences toString Methode wird aufgerufen; wobei das Ergebnis davon ist in der Seite eingeschoben. Expression ist von der Form

<% = Ausdruck%>

Zum Beispiel:

<% = "Dies ist ein Ausdruck" %>

Aktionen

JSP – Seiten können so genannte Aktionen ausführen , die anderen JSP – Seiten umfassen dynamisch die Eigenschaften von sogenanntem Zugriff auf Träger Beans (Java – Objekte, unter anderem können Daten für eine Client – Sitzung enthalten) und leiten die neuen JSP – Seiten.

Beachten Sie, dass Aktionen der einzige JSP – Design sind , die verwendet XML – Syntax ISTF. JSP Standard – Syntax.

Aktionen sind von der Form

<Jsp: Aktionsname> Möglicherweise. Körper </ jsp: Aktionsname>

Zum Beispiel:

<Jsp: include page = "scripts / login.jsp" />
<Jsp: include page = "copyright.html" />
<Jsp: include page = "/ index.html" />
<Jsp: include page = "scripts / login.jsp">
 <Jsp: param name = "username" value = "jsmith" />
</ Jsp: include>

Kommentare

Die Kommentare sind von der Form

 <! - Kommentar ->

Kommentare können nicht ineinander verschachtelt werden.

Model-View-Controller – Paradigma

Sun empfiehlt , dass das Model-View-Controller – Muster mit den JSP – Dateien verwendet werden soll , um die Präsentation, die Verarbeitung von zu entkoppeln HTTP – Anfragen und Datenspeicherung. Entweder Servlets oder getrennte JSP – Dateien verarbeiten , die Verarbeitung von Abfragen, wonach auf eine JSP – Seite übertragen steuern, deren Aufgabe es ist , nur dann ausgegeben (HTML) zu erzeugen.

Weitere Plattformen auf Basis von Model-View-Controller – Muster vorhanden ist , zum Beispiel, Javaserver Faces , Apache Struts und Frühling .

Beispiele für JSP-Seiten

Eine einfache JSP

Hier ist ein Beispiel für eine sehr einfache JSP , die erzählen , wie spät ist es auf dem Anwendungsserver , wo der JSP-on installiert ist:

<% Java.util.Date date = neues java.util.Date (); %>
<Html>
<Head> <title> JSP Demo </ title> </ head>
<Body>
<H1> JSP Demo </ h1>
<P>
Zeit auf dem Server: <% = date%> />
</ P>
</ Body>
</ Html>

Servlets von JSP erzeugt

Unabhängig davon , wie der JSP Compiler erzeugt Java – Quellcode für ein Servlet oder Erzeugen von Java – Bytecode direkt, ist es lehrreich, zu sehen , wie der Compiler eine JSP – Seite an ein Servlet konvertiert (dies geschieht bei der ersten Anforderung für die Seite).

Eingang JSP

 <% @ Page Errorpage = "myerror.jsp" %>
 <% @ Page import = "com.foo.bar" %>
 <Html>
 <Head>
 <%! int serverInstanceVariable = 1;%>
 ...
 <Int% bezogene Stapel lokaler Variable = 1; %>
 <Table>
 <Tr> <td> <% = "erweiterten Inline-Daten" + 1%> </ td> </ tr>
 ...

resultierender Servlet

 Paket jsp_servlet;
 import java.util. *;
 import java.io. *;
 importieren javax.servlet. *;
 importieren javax.servlet.http. *;
 importieren javax.servlet.jsp. *;
 importieren javax.servlet.jsp.tagext. *;
 import com.foo.bar; // als Ergebnis Importierte <% @ page import = "com.foo.bar" %>
 Import ...
 _myservlet Klasse implementiert javax.servlet.Servlet, javax.servlet.jsp.HttpJspPage {
 // eingefügt SOM
 // Ergebnis von <%! int serverInstanceVariable = 1;%>
 int serverInstanceVariable = 1;
 ...
 public void _jspService (javax.servlet.http.HttpServletRequest Anfrage,
 javax.servlet.http.HttpServletResponse response)
 wirft javax.servlet.ServletException,
 java.io.IOException
 {
 javax.servlet.ServletConfig config = ...; // die Servlet-Config erhalten
 Objektseite = this;
 Page Seite Context context = ...; // erhalten den Kontext für diese Seite anfordern
 javax.servlet.jsp.JspWriter pageContext.getOut out = ();
 HTTP Session session = request.getSession (true);
 try {
 out.print ( "<html> \ r \ n");
 out.print ( "<head> \ r \ n");
 ...
 // von <int%, bezogen Stapel lokale Variable = 1; %>
 int lokale Variable Stapel basiert = 1;
 ...
 out.print ( "<table> \ r \ n");
 out.print ( "<tr> <td>");
 // Hinweis toStringOrBlank () konvertiert, die Expression in einen String oder wenn
 // Der Ausdruck null ist, verwendet er die leere Zeichenkette.
 // von <% = "erweiterten Inline-Daten" + 1%>
 out.print (toStringOrBlank ( "expanded Inline-Daten" + 1));
 out.print ( "</ td> </ tr> \ r \ n");
 ...
 } Catch (Exception _exception) {
 aufzuräumen // und leiten zwei Fehlerseite in <% @ Page Errorpage = "myerror.jsp" %>
 }
 }
 }

Veröffentlichungen

  • Java Server Pages, Third Edition , Hans Bergsten , O’Reilly & Associates, Inc. , Sebastopol, Kalifornien, 2003. ISBN 0-596-00563-6

JNDI

Java Naming and Directory Interface , abgekürzt JNDI ist eine allgemeine API für verschiedene Arten von Lookups. JNDI der Lage , sowohl flache als auch hierarchischen Namen Handling – Systeme. Das System ist vor allem in Verbindung mit verwendet J2EE . In diesem Zusammenhang verwendet JNDI – Suche zu finden EJB’er und andere Ressourcen , die auf dem Server installiert sind.

Um JNDI muss für etwas verwendet werden, es muss mindestens ein Modul registriert werden , die einen bestimmten Namen Dienst verarbeiten kann. Zusätzlich zu dem in dem J2EE – Kontext verwendet wird , gibt es Module für LDAP , DNS und sogar das Dateisystem.

Für eine Client – Anwendung JNDI verwenden kann, muss es einen Verweis auf den Namen des Dienstes, in Form eines hat URL , und es muss mit der Klasse registriert werden , die einen „Ausgangspunkt“ (implementiert Ausgangskontext ).

JMS

Java Message Service abgekürzt JMS eine ist API für einen Mechanismus, der ermöglicht asynchrone zwischen Kommunikation von Java – Programmen . Das System der API sind beschrieben in den Standards für J2EE . Die Nachrichten , die in vielen verschieden sein können Formate , entweder über eine an einen einzelnen Empfänger gesendet werden , Warteschlange oder an mehrere Empfänger.
Wenn an mehrere Empfänger gesendet, erhält der einzelne nur Nachrichten empfangen , die gesendet werden , durch den Empfänger – Programm registriert. Wenn jedoch eine Warteschlange verwendet, wird der Empfänger alle Nachrichten bekommen , auch wenn sie vor dem Empfang das Programm fertig war geschickt wurden , um sie zu empfangen.

JDBC

JDBC (Java Database Connectivity) ist eine API für Java -programmeringssproget die definiert , wie ein Client eine Datenbank zugreifen können. Die API stellt Methoden zur Abfrage von Daten und Aktualisierung von Daten. JDBC ist auf relationale Datenbanken orientiert.

Die Standardversion von Java, J2SE , umfassen JDBC – API zusammen mit einer ODBC – Implementierung werden die Verbindungen zu allen relationalen Datenbank ermöglicht es, die ODBC – Schnittstelle unterstützt.

Übersicht

JDBC hat seit der Veröffentlichung von JDK 1.1 Teil des Java SE gewesen.

JDBC – Datenbankverbindung ermöglicht Aussagen, wie zum Beispiel zu erstellen und auszuführen SQL INSERT, UPDATE und DELETE oder Abfrage der Daten über forespørgselsstatements mit SELECT. JDBC unterstützt auch gespeicherte Prozeduren.

Abfragen gibt eine Auflistung von JDBC ResultRows, die für die Performance-Iteration der Daten verwendet werden können.

Siehe auch

  • SQLSummit.com eine Liste der JDBC – Treiber und Hersteller veröffentlichen
  • Sun bietet eine Liste der JDBC – Treiber und Hersteller
  • JDBaccess ist eine Java – Persistenz – Bibliothek für MySQL und Oracle , die als JDBC der wesentlichen Datenbankoperationen in einem leicht zugänglichen API definiert

Javaserver Faces

Javaserver Faces ( JSF ) ist ein Java – basierte Anwendungs – Framework, das die Entwicklung von Benutzeroberflächen-Software in vereinfacht J2EE – Anwendungen. JSF verwendet JSP – Seiten , die Technologie an, sondern auch andere Technologien verwendet werden können.

JSF Rahmen der Arbeit

JSF umfasst

  • Eine Reihe von API ‚auf UI – Komponenten (UI) -Komponenten darstellen und dessen Zustand zu halten, die Handhabung Ereignisse (wie Mausklicks, Mausbewegungen), Validieren Eingabe in zum Beispiel Textfeldern, Navigationsmuster definieren und Internationalisierung durch udfaktorisere statischen Text unterstützen
  • Ein Standardsatz von UI-Komponenten
  • Zwei JSP Taglibs: Java-Klassen, die UI-Komponenten für den Einsatz in Wraps zB JSP
  • Ein serverseitige Ereignismodell
  • Managed Java Beans , die direkt durch JSP – Tags verwiesen werden kann
  • Eine besondere Sprache des Ausdrucks, die JSF EL

JSF – Spezifikation wurde im Rahmen der so genannten entwickelten Java Community Process als JSR 127 , die JSF definiert 1.0 und 1.1, und JSR 252 , die 1.2 definiert JSF. JSF 1.2 (11/5 2006) – Die jüngste Veröffentlichung.

Anderes Web-GUI – Frameworks

Microsoft ASP.NET

ASP.NET von Microsoft hat einen komponentbasret Ansatz Web – Anwendungen zu entwickeln , die JSFs erinnert. In ASP.NET 1 wurde Code Rendering jedoch nicht von den Komponentenschnittstellen zu trennen, wie es der Fall in der JSF ist, so dass der Mechanismus für die Ersatz – Rendering ist nicht zugänglich. ASP.Net v2 eingeführt , um die Möglichkeit , den Standard – Wiedergabemechanismus mit Dritten zu ersetzen. ASP.NET näher viel integriert in Microsoft – Entwicklungstools (wie Visual Studio , die erlaubt Drag & Drop -generering von UI – Komponenten).

Die Business-Logik in einer separaten Datei ( „Code-Behind“ Datei) und die Attribut UI-Komponenten durch den Abschluss Ereignisse gespeichert ist, die in den Komponenten erzeugt werden (wie Mouseover, klicken Sie auf Schaltflächen und dergleichen).

Das Ergebnis ist , dass Geschäfts- und Präsentationsschicht sind eng in ASP.NET – Anwendungen verknüpft (in der Java – Sprache, ist die Architektur ein Modell 1 ). JSF, auf der anderen Seite, ist ein Modell 2 – oder Model-View-Controller – Architektur, bei der die Geschäftslogik von der Präsentationsschicht über eine vollständig getrennte Steuerung (nämlich JSF- Servlet ).

WebObjects / Wotonomy

WebObjects ist die früheste bekannte Web Application Framework und wurde ursprünglich entwickelt von NeXT Software, Inc. , kaufte später von Apple Computer , wenn es NeXT erworben. Es enthält eine MVC – Architektur, erinnert an JSFs.

Struts

Struts ist ein beliebtes Modell 2 MVC -softwarerammeværk von Apache. Es bietet nicht ein JSF-ähnliches Komponentenmodell. Struts JSP verwendet für Rendering.

Siehe auch

  • GUI – Graphical User Interface
  • Web-Portal

Literatur

  • Jonas Jacobi , John R. Fallows : Pro JSF und Ajax , Apress, ISBN 1-59059-580-7
  • Chris Schalk , Ed brennt , James Holmes : Javaserver Faces: Die komplette Referenz , McGraw-Hill Osborne Media ISBN 0-07-226240-0
  • David Geary , Cay Horstmann : Kern JSF , Prentice Hall, ISBN 0-13-146305-5
  • Kito D. Mann : JSF in Aktion , Manning Publications Company, ISBN 1-932394-12-5
  • Bill Dudney , Jonathan Lehr , Bill Willis , LeRoy Mattingly : Mastering Javaserver Faces , John Wiley & Sons, ISBN 0-471-46207-1
  • Hans Bergsten : Javaserver Faces , O’Reilly & Associates, ISBN 0-596-00539-3
  • Budi Kurniawan , Nancy Maragioglio : Javaserver Faces Programmierung , McGraw-Hill Osborne Media ISBN 0-07-222983-7
  • James Turner , Craig McClanahan , Kunal Mittal : Javaserver Faces Kick Start , SAMS, ISBN 0-672-32599-3

Java (Programmiersprache)

Java ist eine objektorientierte dritte Generation Programmiersprache inspiriert C ++ . Die Sprache , die von entwickelt Sun . Java wurde ursprünglich genannt Oak , aber dieser Name ein anderes Unternehmen hatte bereits eingesetzt. Dann ließ den Namen Java.

Java ist auch eine große Klassenbibliothek , die mit einer Schnittstelle in der Programmiersprache Java definiert ist, kann aber auch aus einer Vielzahl von anderen Programmiersprachen verwendet werden , einschließlich Ada und Eiffel .

Schließlich ist Java eine virtuelle Maschine bestimmt ist , jedoch nicht darauf beschränkt, Programme in der Programmiersprache Java geschrieben zu laufen.

Die Programmiersprache Java ist unter anderem gekennzeichnet durch ein Computerprogramm in Java geschrieben wurden, können auf jedem laufen Betriebssystem , wenn das Betriebssystem eine virtuelle Java – Maschine hat, und es hat so gut wie alle modernen Betriebssystemen. Als Software – Entwickler sollten Sie daher sich keine Sorgen über die Hardware des Endbenutzers und Software. Während ein Java – Programm ausgeführt wird , bietet die virtuelle Maschine selbst unnötigen Objekte zu entfernen , den Platz im Arbeitsspeicher (besetzen Garbage Collection ). Als Software – Entwickler sollten Sie den Überblick über andere Ressourcen so zu halten. Dateien.

Java ist in 3 verschiedenen „Hauptthemen“ zur Verfügung. Dies sind J2SE ( Standard Edition ), J2EE ( Enterprise Edition ) und J2ME ( Micro Edition ). 2 Jahrhundert in dem Akronym bezieht sich auf Java 2 trotz neueren Versionen als 1.2 weiter verwendet werden.

In der Praxis gibt es einige Tücken. Java ist in mehreren Versionen erhältlich, und um sicherzustellen , dass ein Programm , viele Plätze wie möglich ausgeführt werden kann, kann es notwendig sein , dass, wie ein Software – Entwickler auf die Fähigkeiten einer frühen Version beschränkt ist. Andere Unternehmen als Sun hat Versionen der virtuellen Maschine für Java gemacht, und es ist nicht alles , was völlig die gleichen Chancen gibt.

Java ist die Zeit des Schreibens, 2006 , in der Version 1.6 (auch 6.0 genannt).

Java war im ersten Jahr, 1995, am besten für den Slogan „einmal schreiben bekannt, run anywhere‚(write once, run anywhere), und so Applets, kleine Programme mit eingeschränkten Rechten, die in einer Webseite eingebunden laufen können. In den ersten Jahren war es diese Elemente, die das Interesse an Java fahren. Kritiker von Java gehalten Bezug auf, wie träge (langsam) Java-Anwendungen und Applets fahren, vor allem auf dem Desktop. Die Entwicklungen in der Programmierung und Hardware, aber in den letzten Jahren diese Kritik überholt.

  1. Java Hauptbereich ist nicht und war nie, Desktop-Anwendungen, bei denen es wird immer langsamer sein als ein Programm geschrieben, direkt auf die Plattform, aber Sie können ein Java-Programm auf einem normalen Computer zufriedenstellend heute laufen, wenn es das ist, was Sie wollen.
  2. Java ist jetzt viel mehr auf Serverebene, für Anwendungen verwendet, die auf einem Server und die Instanz befinden. steuert die Business-Logik erzeugt mm Web-Sites.

Als direkte Entsprechung in Java Dominanz im Serverbereich war Microsoft mit seiner .NET – Plattform. .NET noch nicht Javas Popularität gewonnen.

Beispiel für Java – Code

Im Folgenden zeigt ein Stück Java-Code:

// Hello.java
öffentliche Klasse Hallo {
 public static Leeres Haupt ( String [] args ) { -
 System . aus . System.out.println ( "Hallo, Welt!" );
 }
}

Erläuterung

public class Hallo { }

Erklärt, dass das Programm Hallo genannt, die alle den Text, der zwischen dem ersten „{“ und den letzten „}“ wird Java wahrgenommen als Teil der Klasse liegt Hallo, also „Programm“.

public static Leeres Haupt ( String [] args ) {

Methode / Funktion Haupt, die immer auf ein Java-Programm, erforderlich ist, auszuführen, führt der Teil des Codes zwischen dem innersten enthalten „{“ und „}“. „{“ Ist der Körper Start-Methode und „}“ ist das Endstück.

System . aus . System.out.println ( "Hallo, Welt!" );

Schreibt Hallo, Welt! auf dem Bildschirm. gezeichnet ; (Semikolon) am Ende jeder Zeile zeigt das Ende der Linie.

J2SE

Java2 Standard Edition , J2SE , die Standard – Version von Java . Diese Ausgabe ist für die Entwicklung von unabhängigen beabsichtigten Programmen . J2SE besteht aus einer Klassenbibliothek zusammengesetzt , die allgemeinen Klassen umfasst, und die Klassen, die gegen eine Desktop – Umgebung ausgerichtet ist. Es ist auch möglich , für die Programmierung von Applets .

Einige Klassen von der J2EE haben im Laufe der Zeit zur Standard – Version hinzugefügt. Ein Beispiel ist der JNDI .