HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Servlets Lebenszyklus haben die folgenden Bestandteile:
- Angefa�t durch den servlets Beh�lter.
- Die servlets verursachen und initialisieren.
- Handgriff null oder mehr Wartungsbesuch.
- Zerst�ren und Abfall sammeln die servlets.
- Instance einzelne servlets, um jeden Antrag anzufassen
|
Die grundlegende Servlet Architektur oder der Lebenszyklus
|
Servlet Beh�lter verursachen nur einen Fall jedes servlet, aber der Antrag jedes Benutzers wird mit einem unterschiedlichen Gewinde angefa�t. Jedes Gewinde benennt dann die doGet oder doPost Methoden. Diese Idee wird im oben genannten Figure-5 gezeigt.
init 1.The Methode der servlets wird, wenn die servlets zuerst verursacht wird und jedesmal der Bediener einen Antrag f�r servlets empf�ngt, der Bediener laicht eine neue Gewindeanrufservice-Methode benannt.
�berpr�fung Methode des Services 2.The die HTTP Antragart (ERHALTEN, EINSTELLEN, GESETZT, L�SCHUNG, etc.) und benennt doGet, doPost, doPut, doDelete, etc. Methode, wie passend.
3.Finally, der Bediener kann entscheiden, ein vorhergehendes geladenes servlet zu entfernen. In diesem Fall zerst�ren die Bedieneranrufe Methode der servlets.
|
HTTP
|
Bevor wir das erste, Servlets zu schreiben beginnen k�nnen, m�ssen wir etwas Grundlagen von HTTP (�Hypertext-�bergangsprotokoll�), das Protokoll kennen, das von einem WWW Klienten (z.B. eine Datenbanksuchroutine) verwendet wird um einen Antrag zu einem web server zu schicken.
HTTP ist das Verlangenantwort orientierte Protokoll. Ein HTTP Antrag bestehen aus einer Antragmethode, einem URI, f�ngt �berschrift und ein K�rper auf (der leer sein kann). Eine HTTP Antwort enthalten ein Resultat und wieder f�ngt �berschrift und ein K�rper auf.
Die Service-Methode der HttpServlet Abfertigung ein Antrag zu den unterschiedlichen Java Methoden f�r unterschiedliche HTTP Antragmethoden. Er erkennt die Standard-Methoden HTTP/1.1 und sollte nicht in den Unterklassen �berlaufen werden, es sei denn du zus�tzliche Methoden einf�hren mu�t. Die anerkannten Methoden sind ERHALTEN, GESETZT, KOPF, PFOSTEN, L�SCHUNG, WAHLEN und SPUR. Andere Methoden werden mit einer schlechten Antrag HTTP St�rung beantwortet. Eine HTTP Methode XXX wird zum Java Methode doXxx, z.B. ERHALTEN - > doGet geschickt. Alle diese Methode erwarten die Parameter �(HttpServletRequest req, HttpServletResponse Res)�. Die Methode doOptions und das doTrace haben verwendbare R�ckstellung Implementierungen und werden normalerweise nicht �berlaufen. Die HAUPTmethode (die die gleichen �berschriftlinien zur�ckbringen soll, die eine ERHALTENmethode zur�ckbringen w�rde, aber schlie�t nicht einen K�rper) ein, wird durchgef�hrt, indem man das doGet benennt und jeden m�glichen Ausgang ignoriert, der dadurch geschrieben wird. Dieses l��t uns mit dem Methode doGet doPut doPost und dem doDelete dessen R�ckstellung Implementierungen in HttpServlet eine schlechte Antrag HTTP St�rung zur�ckbringen. Eine Unterklasse von HttpServlet l�uft eines oder mehrer von diesen Methode �ber, um eine sinnvolle Implementierung zur Verf�gung zu stellen.
Die Antragdaten werden zu allen Methoden durch das erste Argument der Art HttpServletRequest �bermittelt (die eine Unterklasse der allgemeineren ServletRequest Kategorie ist). Die Antwort kann mit den Methoden des zweiten Arguments der Art HttpServletResponse (eine Unterklasse von ServletResponse) verursacht werden.
Wenn du ein URL im web browser verlangst, wird die ERHALTENmethode f�r den Antrag verwendet. EIN ERHALTENantrag hat nicht den K�rper (d.h. ist der K�rper leer). Die Antwort sollte den K�rper mit den Wartedaten enthalten und �berschrift f�ngt auf, die den K�rper beschreiben (besonders Inhalt-Art und Inhalt-Kodierung). Wenn du eine HTML Form, entweder sendest, T�tigkeit ERHALTEN oder BEKANNTGEBEN kann verwendet werden. Mit ERHALTEN um die Parameter bitten sind Ende im URL, mit einem PFOSTEN-Antrag, den sie transmited im K�rper sind. GESETZTE Antr�ge der HTML Herausgeber und der Antriebskraftwerkzeuge Gebrauch zu den Antriebskraftbetriebsmitteln zu einem web server und ZU DEN L�SCHUNG-Antr�gen, Betriebsmittel zu l�schen.
|
Servlet Types
|
Classic Servlets-service() Method
JSP's-Java Embeded in HTML Templates
Http Servlets-doGet & doPost()
Visual Servlets-Generated by Visual Age
|
Packages in Servlets
|
There are two types of package available in servlets which are as follows:
1.javax.servlet.*
2.javax.servlet.http.*
|
Interfaces in javax.servlet.*
|
RequestDispatcher
Servlet
ServletRequest
ServletResponse
ServletConfig
ServletContext
SingleThreadModel
|
classes in javax.servlet.*
|
GenericServlet
ServletInputStream
ServletOutputStream
ServletException
UnavailableException
|
Interfaces in javax.servlet.http.*
|
HttpServletRequest
HttpServletResponse
HttpSessionBindingListener
HttpSessionContext
HttpSession
|
classes in javax.servlet.http.*
|
Cookie
HttpServlet
HttpUtils
HttpSessionBindingEvent
|
Servlet Bereich-Gegenst�nde
|
Die <minOccurs> Anzeige spezifizieren die Mindestzahl der Zeit, die ein Element auftreten kann:
|
Es gibt vier Bereichgegenst�nde in den servlets, das den teilenden Informationen zwischen Netzbestandteilen erm�glicht. Die Bereichgegenst�nde und ihre entsprechenden Java Kategorien werden nachstehend aufgef�hrt:
Netz-Kontext javax.servlet.ServletContext
Antrag javax.servlet.HttpServletRequest
Lernabschnitt javax.servlet.http.HttpSession
Seite javax.servlet.jsp.PageContext
Du kannst die Attributwerte von den servlet Bereichgegenst�nden mit getAttribute Methode erhalten und neue Werte von Attributen mit setAttribute Methode einstellen. Z.B. kannst du IP address des Klienten erhalten, indem Sie die getRemoteAddr Methode der HttpServletRequest Kategorie benennen.
|
Das Folgen von Beispielen druckt die hallo Welt in der Datenbanksuchroutine
|
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
out.println("Hello World");
}
}
|
|
Um ein servlet zu sein, sollte eine Kategorie das HttpServlet verl�ngern und doGet oder doPost (oder beide), abh�ngig von ob die Daten vorbei ERHALTEN gesendet werden oder durch POST �berzulaufen. Diese Methoden nehmen zwei Argumente: ein HttpServletRequest und ein HttpServletResponse. Das HttpServletRequest hat Methoden, die dich �ber die ankommenden Informationen wie FORM-Daten-, HTTP Antrag�berschriften und dergleichen herausfinden lassen.
Das HttpServletResponse hat Methode, die dich die HTTP Wartelinie (200, 404, etc.), Warte�berschriften (Inhalt-Art, Einstellen-Pl�tzchen, etc.) am wichtigsten spezifizieren l��t und, l��t dich ein PrintWriter erreichen, das verwendet wird, um Ausgang zur�ck zu dem Klienten zu senden. F�r einfaches servlet wird die meisten der Bem�hung in den println Aussagen aufgewendet, die die gew�nschte Seite erzeugen. Merken, da� doGet und doPost Ausnahme zwei werfen, also wirst du angefordert, sie in der Erkl�rung einzuschlie�en. Auch merken, da� du Kategorien im java.io (f�r PrintWriter, etc.), javax.servlet importieren mu�t (f�r HttpServlet, etc.), und javax.servlet.http (f�r HttpServletRequest und HttpServletResponse). Schlie�lich merken, da� doGet und doPost durch Service-Methode benannt werden, und manchmal kannst du Service direkt �berlaufen w�nschen, z.B. f�r ein servlet, das anfa�t, ERHALTEN beide und GEBEN Antrag bekannt.
|
Das Servlet kompilieren und anbringend
|
Merken, da� die spezifischen Details f�r das Anbringen von servlet von web server zu web server schwanken. Auf deine web serverunterlagen f�r die endg�ltigen Richtungen bitte sich beziehen. Die on-line-Beispiele laufen auf Java web server (JWS) 2.0, wo servlet erwartet werden, um in einem Verzeichnis zu sein, das servlets in der JWS Installation Hierarchie genannt wird. Jedoch legte ich dieses servlets in ein unterschiedliches Paket (Halle) zum von Konflikten mit anderen servlets auf diesem Bediener zu vermeiden; du w�nschst das selbe tun, wenn du ein web server verwendest, das von den Leuten verwendet und nicht eine gute Infrastruktur f�r die �virtuellen Bediener hat wird�, zum dieser Konflikte automatisch zu verhindern. So geht HelloWorld.java wirklich in ein Unterverzeichnis, das Halle im servlets Verzeichnis genannt wird.
Merken, da� gegr�ndet auf den meisten anderen Bedienern �hnlich ist, und die servlets und DIE JSP Beispiele im Tutorial sind auch mit BEA WebLogic und IBM WebSphere 3.0 gepr�ft worden. WebSphere hat eine ausgezeichnete Einheit f�r virtuelle Bediener, und es ist nicht notwendig, Pakete nur zu benutzen, um Namenskonflikte mit anderen Benutzern zu verhindern.
Wenn du nie die Pakete vor benutzt hast, gibt es zwei Hauptm�glichkeiten, Kategorien zu kompilieren, die in den Paketen sind.
One-way ist, dein CLASSPATH einzustellen, um auf Verzeichnis �ber dem zu zeigen, das wirklich deine servlets enth�lt. Du kannst sie innerhalb vom Verzeichnis normalerweise kompilieren. Z.B. wenn dein niedriges Verzeichnis C:\JavaWebServer\servlets ist und deinen Paketnamen (und folglich Unterverzeichnisname) die Halle ist, und du waren auf Windows, du w�rde tun:
DOS> gesetztes CLASSPATH= C:\JavaWebServer\servlets; %CLASSPATH% DOS> Cd C:\JavaWebServer\servlets\hall DOS> javac YourServlet.java
Das erste Teil, CLASSPATH, m�chtest dich einstellend vermutlich dauerhaft tun, anstatt, jedesmal wenn du ein neues DOS Fenster beginnst. Auf Windows- 95/98 w�rdest du setzen gew�hnlich �einstelltest CLASSPATH=�� Aussage in deiner autoexec.bat Akte irgendwo nach der Linie, die CLASSPATH einstellte, um auf servlet.jar und jsp.jar zu zeigen. Auf Windows NT w�rdest du gehen, Men�, auserw�hlte Einstellungen, auserw�hlte Steuerverkleidung, auserw�hltes System, auserw�hltes Klima zu beginnen, dann die Variable und den Wert eintr�gst. Auch merken, da�, wenn dein Paket von der Form name1.name2.name3 anstatt einfach von name1 als hier waren, du ruhig den CLASSPATH Punkt zum ersten Verzeichnis deiner Pakethierarchie haben w�rdest (das ein enthaltene name1).
Eine zweite Weise, Kategorien zu kompilieren, die in den Paketen sind, ist, zum Verzeichnis �ber dem zu gehen, das deine servlets enth�lt und dann �javac Verzeichnis \ YourServlet.java� (Windows; den Gegenschr�gstrich) oder �javac Verzeichnis/YourServlet.java� merken (Unix; den Vorw�rtsschr�gstrich merken). Z.B. wieder annehmen, da� dein niedriges Verzeichnis C:\JavaWebServer\servlets ist und deinen Paketnamen (und folglich Unterverzeichnisname) Halle ist, und du warst auf Windows. In diesem Fall w�rdest du das Folgen tun:
DOS> Cd C:\JavaWebServer\servlets DOS> javac Halle \ YourServlet.java
Da�, �ber Windows merken, die meisten JDK 1.1 Versionen von javac erfordern einen Gegenschr�gstrich, nicht einen Vorw�rtsschr�gstrich, nach Verzeichnisnamen. Dieses wird in JDK 1.2 geregelt, aber, da viele Netzbediener zusammengebaut werden, um das JDK 1.1 zu benutzen, haften viele servlet Autoren mit JDK 1.1 f�r Beweglichkeit.
Schlie�lich ist eine andere vorger�ckte Wahl, Quellenprogramm in einer Position eindeutig zu halten von den .class Akten und verwendet d der javacs �-� die Wahl, zum sie in die Position anzubringen, die das web server erwartet.
|
Laufen lassen des Servlet
|
Mit dem Java web server werden servlet in das servlets Verzeichnis innerhalb des Haupt-JWS Installation Verzeichnisses gelegt und werden �ber http://host/servlet/ServletName hervorgerufen. Merken, da� das Verzeichnis der servlets Plural, w�hrend URL auf servlet sich bezieht, einzigartig ist. Da dieses Beispiel in das Halle Paket gelegt wurde, w�rde es �ber http://host/servlet/hall.HelloWorld hervorgerufen. Andere Netzbediener k�nnen etwas unterschiedliche Versammlungen �ber, wo man servlets anbringt und wie man haben sie hervorruft. Der meiste Bediener lie� dich auch Namensabk�rzungen f�r servlets definieren, damit ein servlet �ber http://host/any-path/any-file.html hervorgerufen werden kann. Der Proze� f�r das Tun dies ist vollst�ndig Bediener-spezifisch; Unterlagen deines Bedieners auf die Details �berpr�fen.
|
Ein Servlet, das HTML erzeugt
|
Das meiste servlet erzeugen HTML, nicht normalen Text wie im vorhergehenden Beispiel. Um den zu tun, ben�tigst du zwei zus�tzliche Schritte: der Datenbanksuchroutine erkl�ren, da� du HTML zur�ckschickst und die println Aussagen �nderst, um eine zugelassene Webseite zu errichten. Der erste Schritt wird erfolgt, indem man Inhalt-Art Warte�berschrift einstellt. Im allgemeinen k�nnen �berschriften �ber die setHeader Methode von HttpServletResponse eingestellt werden, aber, die zufriedene Art einzustellen ist solch eine allgemeine Aufgabe, da� es auch eine spezielle setContentType Methode gerade zu diesem Zweck gibt. Merken, da� du die Warte�berschriften einstellen mu�t, bevor Sie wirklich irgendwelche des Inhalts �ber das PrintWriter zur�ckbringen. Ist hier ein Beispiel:
|
Das folgende Programm, das HelloWWW.java genannt wird, druckt Hellow WWW in der Datenbanksuchroutine im HTML Format.
|
package hall;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWWW extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE&ht;Hello WWW</TITLE></HEAD>\n" +
"<BODY>\n" +
"<H1>Hello WWW</H1>\n" +
"</BODY></HTML>");
}
}
|
|
O/P:
|
|
Keywords:
servlets lifecycle,servlet lifecycle,jsp lifecycle,struts lifecycle,ejb lifecycle,servlets tutorial,java servlets,j2ee servlets
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|