|
|
|
WEB-Archive

|
| von shark, 25.08.2001 19:57:59 |
    (15 votes) (1) [vote] |
Servlets und JSP-Seiten passen bezüglich der Namensgebung nicht hundertprozentig zusammen. Wenn man ein Servlet ansprechen möchte gibt man das Präfix "/servlet/" an. Wenn das Servlet eine JSP-Seite aufruft, ist es nötig den kompletten Pfadnamen der JSP-Seite zu definieren. Ändern sich Verzeichnisstrukturen, müssen entsprechend alle Servlets und JSP-Seiten per Hand angepasst werden.
Damit man WEB-Anwendungen pfadunabhängig installieren kann, bietet es sich an die Servlets, JSP-Seiten und Java Beans zu bündeln. Das Bündel nennt man WEB-Archiv ("filename.war"). WEB-Archive können sehr einfach auf einem WEB-Server installiert ("deployment") werden.
Das nachfolgende Beispiel zeigt wie ein WEB-Archiv aufgebaut ist und wie man das WEB-Archiv erzeugt.
Beispiel Servlet (Dispatcher):
------------------------------------------
package jsp.war.example;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class WarServlet extends HttpServlet
{
public void service( HttpServletRequest request,
HttpServletResponse response
)
{
// Aufruf der JSP-Seite
// Erzeuge Request Dispatcher
RequestDispatcher oDispatcher = getServletContext().getRequestDispatcher("/WarJsp.jsp");
// Fuehre den Aufruf durch
oDispatcher.forward(request, response);
}
}
Beispiel fuer die JSP-Seite ("WarJsp.jsp"):
-------------------------------------------------------------
<html>
<body>
<h1>Hallo ich bin im WEB-Archiv!</h1>
</body>
</html>
Beispiel des Deployment Descriptors (web.xml):
----------------------------------------------------------------------
<!DOCTYPE web-app PUBLIC ".//Sun Microsystems, Inc.//DTD Web Application2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>WARBeispiel</display-name>
<description>Beispiel WEB-Archive</description>
<servlet>
<servlet-name>WarServlet</servlet-name>
<servlet-class>jsp.war.example.WarServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WarServlet</servlet-name>
<url-pattern>/WarServlet</url-pattern>
</servlet-mapping>
</web-app>
Die "web.xml" Datei weist dem Servlet einem Namen zu und führt auch das URL-Mapping durch. Das Mapping ist relativ zu dem Basispfad der installierten Applikation.
Für das Erzeugen des WEB-Archives muss die Datei "web.xml" in dem Verzeichnis WEB-INF vorliegen. Die Klassendateien (Java Beans und Servlets) der Anwendung werden in einem "classes" Verzeichnis unterhalb des WEB-INF Verzeichnisses untergebracht. Die JSP-Seite und die Datei "web.xml" müssen im selben Verzeichnis liegen.
Vor dem Erzeugen des Archives sollte man folgendes tun:
-----------------------------------------------------------------------------------
mkdir WEB-INF
copy web.xml WEB-INF
mkdir WEB-INF\classes
Danach kompiliert man die Java Klassen:
------------------------------------------------------------
javac -d WEB-INF\classes WarServlet.java
Das WEB-Archiv wird folgendermaßen erzeugt:
--------------------------------------------------------------------
jar cvf example.war *.jsp WEB-INF
Tomcat entpackt und konfiguriert die WEB Anwendung automatisch, wenn man das WEB-Archiv ("war file") in das "webapps" Verzeichnis von Tomcat kopiert. Der Pfad der von Tomcat für die WEB-Anwendung angelegt wird, entspricht dem Archiv-Namen. In unserem Beispiel ist das der Name "example".
Die Servlet Engine JRun von Allaire verfügt über ein Werkzeug für die Installation des WEB-Archives. Man startet die JRun Management Konsole und schaltet den Dialog "Deploy a Web Application" auf. Innerhalb des Dialoges können Parameter wie der Name des WEB-Archives, den Hostnamen, den JRun Server, die "Application URL" und das "Deploy" Verzeichnis definiert werden.
WEB-Archive sind ein nützliches Hilfsmittel zum Strukturieren von komplexen WEB-Anwendungen. WEB-Archive bieten außerdem auch die Möglichkeit, Anwendungen leicht in einem Paket auf verschiedene WEB-Server verteilen zu können. |
|
|
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.
|
|
|
|