Academic Tutorials



English | French | Portugese | Dutch | Italian
Google

Online

À la maison Codes sources E-Livres Téléchargements Nous contacter Au sujet de nous

HTML Tutorials
HTML Tutorial
XHTML Tutorial
CSS Tutorial
TCP/IP Tutorial
CSS 1.0
CSS 2.0
HLML
XML Tutorials
XML Tutorial
XSL Tutorial
XSLT Tutorial
DTD Tutorial
Schema Tutorial
XForms Tutorial
XSL-FO Tutorial
XML DOM Tutorial
XLink Tutorial
XQuery Tutorial
XPath Tutorial
XPointer Tutorial
RDF Tutorial
SOAP Tutorial
WSDL Tutorial
RSS Tutorial
WAP Tutorial
Web Services Tutorial
Browser Scripting
JavaScript Tutorial
VBScript Tutorial
DHTML Tutorial
HTML DOM Tutorial
WMLScript Tutorial
E4X Tutorial
Server Scripting
ASP Tutorial
PERL Tutorial
SQL Tutorial
ADO Tutorial
CVS
Python
Apple Script
PL/SQL Tutorial
SQL Server
PHP
.NET (dotnet)
Microsoft.Net
ASP.Net
.Net Mobile
C# : C Sharp
ADO.NET
VB.NET
VC++
Multimedia
SVG Tutorial
Flash Tutorial
Media Tutorial
SMIL Tutorial
Photoshop Tutorial
Gimp Tutorial
Matlab
Gnuplot Programming
GIF Animation Tutorial
Scientific Visualization Tutorial
Graphics
Web Building
Web Browsers
Web Hosting
W3C Tutorial
Web Building
Web Quality
Web Semantic
Web Careers
Weblogic Tutorial
SEO
Web Site Hosting
Domain Name
Java Tutorials
Java Tutorial
JSP Tutorial
Servlets Tutorial
Struts Tutorial
EJB Tutorial
JMS Tutorial
JMX Tutorial
Eclipse
J2ME
JBOSS
Programming Langauges
C Tutorial
C++ Tutorial
Visual Basic Tutorial
Data Structures Using C
Cobol
Assembly Language
Mainframe
Forth Programming
Lisp Programming
Pascal
Delphi
Fortran
OOPs
Data Warehousing
CGI Programming
Emacs Tutorial
Gnome
ILU
Soft Skills
Communication Skills
Time Management
Project Management
Team Work
Leadership Skills
Corporate Communication
Negotiation Skills
Database Tutorials
Oracle
MySQL
Operating System
BSD
Symbian
Unix
Internet
IP-Masquerading
IPC
MIDI
Software Testing
Testing
Firewalls
SAP Module
ERP
ABAP
Business Warehousing
SAP Basis
Material Management
Sales & Distribution
Human Resource
Netweaver
Customer Relationship Management
Production and Planning
Networking Programming
Corba Tutorial
Networking Tutorial
Microsoft Office
Microsoft Word
Microsoft Outlook
Microsoft PowerPoint
Microsoft Publisher
Microsoft Excel
Microsoft Front Page
Microsoft InfoPath
Microsoft Access
Accounting
Financial Accounting
Managerial Accounting


Cycle de vie de Servlets
Previous Next




Le cycle de vie de Servlets ont les composants suivants :

  • Manipulé par le récipient de servlets.
  • Créer et initialiser les servlets.
  • Poignée zéro interventions ou plus.
  • Détruire et les ordures rassemblent les servlets.
  • Les servlets simples citent pour manipuler chaque demande




L'architecture de Servlet ou le cycle de vie de base

Le récipient de Servlet créent seulement un exemple de chaque servlet mais la demande de chaque utilisateur est manipulée avec un fil séparé. Chaque fil appelle alors les méthodes de doGet ou de doPost. Cette idée est montrée dans le Figure-5 ci-dessus.

la méthode de l'init 1.The de servlets s'appelle quand les servlets est d'abord créés et chaque fois le serveur reçoit une demande d'des servlets, le serveur engendre une nouvelle méthode de service d'appels de fil.

le contrôle de méthode du service 2.The le type de demande de HTTP (OBTENIR, PLACER, MIS, EFFACEMENT, etc.) et appelle le doGet, le doPost, le doPut, le doDelete, la méthode etc. comme appropriée.

3.Finally, le serveur peut décider d'enlever un servlet chargé précédent. Dans ce cas-ci, les appels de serveur détruisent la méthode de servlets.




HTTP

Avant que nous puissions commencer à écrire le premier Servlets, nous devons savoir quelques fondations de HTTP (« protocole de transfert hypertexte »), le protocole qui est employé par un client de WWW (par exemple un navigateur) pour envoyer une demande à un web server.

Le HTTP est le protocole orienté parréponse. Une demande de HTTP se composent d'une méthode de demande, d'un URI, des champs d'en-tête et d'un corps (qui peuvent être vides). Une réponse de HTTP contiennent des champs de résultat et encore d'en-tête et un corps.

La méthode de service d'expédition de HttpServlet une demande à différentes méthodes de Java pour différentes méthodes de demande de HTTP. Elle identifient les méthodes HTTP/1.1 standard et ne devraient pas être dépassées dans les sous-classes à moins que vous deviez appliquer des méthodes additionnelles. Les méthodes identifiées sont OBTIENNENT, MIS, TÊTE, POTEAU, EFFACEMENT, OPTIONS et TRACE. D'autres méthodes sont répondues avec une mauvaise erreur de HTTP de demande. Une méthode XXX de HTTP est expédiée au doXxx de méthode de Java, par exemple OBTIENNENT - > doGet. Tous ces méthode s'attendent aux paramètres « (req de HttpServletRequest, recherche de HttpServletResponse) ». Les doOptions et le doTrace de méthode ont des réalisations appropriées de défaut et ne sont pas habituellement dépassés. La méthode PRINCIPALE (qui est censé renvoyer les mêmes lignes d'en-tête qu'une méthode d'OBTENIR renverrait, mais n'inclut pas un corps) est exécutée en appelant le doGet et en ignorant n'importe quel rendement qui est écrit par cette méthode. Ce nous laisse avec le doPost et le doDelete de doPut de doGet de méthode dont les réalisations de défaut dans HttpServlet renvoient une mauvaise erreur de HTTP de demande. Une sous-classe de HttpServlet dépasse un ou plusieurs de ces méthode pour fournir une exécution signicative.

Les données de demande sont passées à toutes méthodes par le premier argument du type HttpServletRequest (qui est une sous-classe de la classe Général de ServletRequest). La réponse peut être créée avec les méthodes du deuxième argument du type HttpServletResponse (une sous-classe de ServletResponse).

Quand vous demandez un URL dans le web browser, la méthode d'OBTENIR est employée pour la demande. Une demande d'OBTENIR n'a pas le corps (c.-à-d. le corps est vide). La réponse devrait contenir le corps avec les données de réponse et les champs d'en-tête qui décrivent le corps (particulièrement Contenu-Type et Contenu-Codage). Quand vous envoyez une forme de HTML, OBTENIR ou SIGNALER l'action peut être employé. Avec l'OBTENIR demander les paramètres sont extrémité dans l'URL, avec une demande de POTEAU qu'ils sont transmited dans le corps. Demandes MISES par utilisation de rédacteurs de HTML et d'outils de téléchargement aux ressources de téléchargement à un web server et aux demandes d'EFFACEMENT de supprimer des ressources.




Types de Servlet

  • Méthode classique de Servlets-service ()
  • JSP's-Java Embeded dans des calibres de HTML
  • HTTP Servlets-doGet et doPost ()
  • Visuel Servlets-Produit par âge visuel



  • Paquets dans Servlets

    Il y a deux types de paquet disponibles dans les servlets qui sont comme suit :

    1.javax.servlet.*

    2.javax.servlet.http.*




    Interfaces dans javax.servlet.*

  • RequestDispatcher
  • Servlet
  • ServletRequest
  • ServletResponse
  • ServletConfig
  • ServletContext
  • SingleThreadModel



  • classes dans javax.servlet.*

  • GenericServlet
  • ServletInputStream
  • ServletOutputStream
  • ServletException
  • UnavailableException



  • Interfaces dans javax.servlet.http.*

  • HttpServletRequest
  • HttpServletResponse
  • HttpSessionBindingListener
  • HttpSessionContext
  • HttpSession



  • classes dans javax.servlet.http.*

  • Biscuit
  • HttpServlet
  • HttpUtils
  • HttpSessionBindingEvent



  • Objets de portée de Servlet

    L'indicateur de <minOccurs> indiquent le nombre minimum de temps où un élément peut se produire :

    Il y a quatre objets de portée dans les servlets qui permet l'information de partage entre les composants de Web. Les objets de portée et leurs classes correspondantes de Java sont énumérés ci-dessous :

  • Contexte javax.servlet.ServletContext de Web
  • Demande javax.servlet.HttpServletRequest
  • Session javax.servlet.http.HttpSession
  • Page javax.servlet.jsp.PageContext
  • Vous pouvez obtenir les valeurs d'attribut des objets de portée de servlet en utilisant la méthode de getAttribute et placer de nouvelles valeurs des attributs en utilisant la méthode de setAttribute. Par exemple, vous pouvez obtenir l'IP address du client en appelant la méthode de getRemoteAddr de classe de HttpServletRequest.




    Suivre des exemples imprime bonjour le monde dans le navigateur
    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");
    }
    }

    Pour être un servlet, une classe devrait prolonger le HttpServlet et dépasser le doGet ou le doPost (ou tous les deux), selon si les données sont envoyées près OBTIENNENT ou par la poste. Ces méthodes prennent deux arguments : un HttpServletRequest et un HttpServletResponse. Le HttpServletRequest a les méthodes qui vous laissent découvrir au sujet de l'information entrante telle que des en-têtes de données de FORME, de demande de HTTP, et des semblables.

    Le HttpServletResponse a la méthode qui vous laisse indiquer la ligne de réponse de HTTP (200, 404, etc.), les en-têtes de réponse (Contenu-Type, Placer-Biscuit, etc.), et, d'une manière plus importante, vous laisse obtenir un PrintWriter employé pour envoyer le rendement de nouveau au client. Pour le servlet simple, la majeure partie de l'effort est dépensée dans les rapports de println qui produisent de la page désirée. Noter que le doGet et le doPost jettent l'exception deux, ainsi vous êtes requis de les inclure dans la déclaration. Noter en outre que vous devez importer les classes dans le java.io (pour PrintWriter, etc.), javax.servlet (pour HttpServlet, etc.), et javax.servlet.http (pour HttpServletRequest et HttpServletResponse). En conclusion, noter que le doGet et le doPost s'appellent par la méthode de service, et parfois vous pouvez vouloir dépasser le service directement, par exemple pour un servlet qui manipule tous les deux OBTIENNENT et SIGNALENT la demande.




    Compilant et installant le Servlet

    Noter que les détails spécifiques pour installer le servlet changent du web server au web server. Veuillez se référer à votre documentation de web server pour les directions définitives. Les exemples en ligne fonctionnent sur le web server de Java (JWS) 2.0, où on s'attend à ce que le servlet soit dans un annuaire appelé les servlets dans la hiérarchie d'installation de JWS. Cependant, j'ai placé ce des servlets dans un paquet séparé (hall) pour éviter des conflits avec d'autres servlets sur ce serveur ; vous voudrez faire la même chose si vous employez un web server qui est employé par d'autres et n'a pas une bonne infrastructure pour « les serveurs virtuels » pour empêcher ces conflits automatiquement. Ainsi, HelloWorld.java entre réellement dans un sous-répertoire appelé le hall dans l'annuaire de servlets.

    Noter qu'installé sur la plupart des autres serveurs est semblable, et les servlets et des exemples de JSP dans le cours d'instruction ont été également examinés en utilisant BEA WebLogic et IBM WebSphere 3.0. WebSphere a un excellent mécanisme pour les serveurs virtuels, et il n'est pas nécessaire d'employer des paquets seulement pour empêcher les conflits nommés avec d'autres utilisateurs.

    Si vous n'avez jamais employé les paquets avant, il y a deux manières principales de compiler les classes qui sont en paquets.

    L'one-way est de placer votre CLASSPATH pour se diriger à l'annuaire au-dessus de celui contenant réellement vos servlets. Vous pouvez ils compiler normalement à partir de dans l'annuaire. Par exemple, si votre annuaire bas est C:\JavaWebServer\servlets et votre nom de paquet (et ainsi nom de sous-répertoire) est le hall, et toi étaient sur Windows, vous ferait :

      DOS> CLASSPATH= réglé C:\JavaWebServer\servlets ; %CLASSPATH%
      Cd C:\JavaWebServer\servlets\hall de DOS>
      Javac YourServlet.java de DOS>

    La première partie, plaçant CLASSPATH, vous voulez probablement faire de manière permanente, plutôt que chaque fois que vous commencez une nouvelle fenêtre de DOS. Sur vous de Windows 95 /98 mettriez typiquement « avez placé CLASSPATH=… » rapport dans votre dossier d'autoexec.bat quelque part après la ligne qui a placé CLASSPATH pour se diriger à servlet.jar et à jsp.jar. Sur Windows NT, vous iriez commencer le menu, arrangements choisis, panneau de commande choisi, système choisi, environnement choisi, puis écrivez la variable et la valeur. Noter également que si votre paquet étaient de la forme name1.name2.name3 plutôt que simplement de name1 en tant qu'ici, vous immobile auriez le point de CLASSPATH à l'annuaire supérieur de votre hiérarchie de paquet (l'un name1 contenant).

    Une deuxième manière de compiler les classes qui sont en paquets est d'aller à l'annuaire au-dessus de celui contenant vos servlets, et puis le « annuaire de javac \ YourServlet.java » (Windows ; noter l'antislash) ou le « annuaire de javac/YourServlet.java » (Unix ; noter l'estafilade vers l'avant). Par exemple, supposer encore que votre annuaire bas est C:\JavaWebServer\servlets et votre nom de paquet (et ainsi nom de sous-répertoire) est le hall, et vous étiez sur Windows. Dans ce cas, vous feriez suivre :

      Cd C:\JavaWebServer\servlets de DOS>
      Hall de javac de DOS> \ YourServlet.java

    Noter que, sur Windows, la plupart des versions de JDK 1.1 de javac exigent un antislash, pas une estafilade vers l'avant, après le nom d'annuaire. Ceci est fixé dans JDK 1.2, mais puisque beaucoup de serveurs de Web sont configurés pour employer le JDK 1.1, beaucoup d'auteurs de servlet collent avec JDK 1.1 pour la portabilité.

    En conclusion, une autre option avançée est de maintenir le code source dans un endroit distinct à partir des dossiers de .class, et emploie l'option du d des javac « - » pour les installer dans l'endroit que le web server prévoit.




    Courir le Servlet

    Avec le web server de Java, le servlet sont placés dans l'annuaire de servlets dans l'annuaire principal d'installation de JWS, et sont appelés par l'intermédiaire de http://host/servlet/ServletName. Noter que l'annuaire est pluriel de servlets, alors que l'URL se rapporte au servlet, singulier. Puisque cet exemple a été placé dans le paquet de hall, il serait appelé par l'intermédiaire de http://host/servlet/hall.HelloWorld. D'autres serveurs de Web peuvent avoir des conventions légèrement différentes sur où installer des servlets et la façon les appeler. La plupart de serveur vous a également laissé définir des noms d'emprunt pour des servlets, de sorte qu'un servlet puisse être appelé par l'intermédiaire de http://host/any-path/any-file.html. Le processus pour faire ceci est complètement serveur-spécifique ; examiner la documentation de votre serveur pour assurer les détails.




    Un Servlet qui produit du HTML

    La plupart de servlet produisent de HTML, texte non plat comme dans l'exemple précédent. Pour faire cela, vous avez besoin de deux étapes additionnelles : dire au navigateur que vous renvoyez le HTML, et modifiez les rapports de println pour établir une page Web légale. La première étape est faite en plaçant le Contenu-Type en-tête de réponse. Généralement des en-têtes peuvent être placés par l'intermédiaire de la méthode de setHeader de HttpServletResponse, mais le réglage du type content est un tel terrain communal chargent qu'il y a également une méthode spéciale de setContentType juste à cette fin. Noter que vous devez placer les en-têtes de réponse avant de renvoyer réellement le contenu l'un des par l'intermédiaire du PrintWriter. Voici un exemple :




    Le programme suivant appelé le HelloWWW.java imprimera Hellow WWW dans le navigateur dans le format de HTML.
    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:





    Previous Next

    Keywords: servlets lifecycle,servlet lifecycle,jsp lifecycle,struts lifecycle,ejb lifecycle,servlets tutorial,java servlets,j2ee servlets


    HTML Quizes
    HTML Quiz
    XHTML Quiz
    CSS Quiz
    TCP/IP Quiz
    CSS 1.0 Quiz
    CSS 2.0 Quiz
    HLML Quiz
    XML Quizes
    XML Quiz
    XSL Quiz
    XSLT Quiz
    DTD Quiz
    Schema Quiz
    XForms Quiz
    XSL-FO Quiz
    XML DOM Quiz
    XLink Quiz
    XQuery Quiz
    XPath Quiz
    XPointer Quiz
    RDF Quiz
    SOAP Quiz
    WSDL Quiz
    RSS Quiz
    WAP Quiz
    Web Services Quiz
    Browser Scripting Quizes
    JavaScript Quiz
    VBScript Quiz
    DHTML Quiz
    HTML DOM Quiz
    WMLScript Quiz
    E4X Quiz
    Server Scripting Quizes
    ASP Quiz
    PERL Quiz
    SQL Quiz
    ADO Quiz
    CVS Quiz
    Python Quiz
    Apple Script Quiz
    PL/SQL Quiz
    SQL Server Quiz
    PHP Quiz
    .NET (dotnet) Quizes
    Microsoft.Net Quiz
    ASP.Net Quiz
    .Net Mobile Quiz
    C# : C Sharp Quiz
    ADO.NET Quiz
    VB.NET Quiz
    VC++ Quiz
    Multimedia Quizes
    SVG Quiz
    Flash Quiz
    Media Quiz
    SMIL Quiz
    Photoshop Quiz
    Gimp Quiz
    Matlab Quiz
    Gnuplot Programming Quiz
    GIF Animation Quiz
    Scientific Visualization Quiz
    Graphics Quiz
    Web Building  Quizes
    Web Browsers Quiz
    Web Hosting Quiz
    W3C Quiz
    Web Building Quiz
    Web Quality Quiz
    Web Semantic Quiz
    Web Careers Quiz
    Weblogic Quiz
    SEO Quiz
    Web Site Hosting Quiz
    Domain Name Quiz
    Java Quizes
    Java Quiz
    JSP Quiz
    Servlets Quiz
    Struts Quiz
    EJB Quiz
    JMS Quiz
    JMX Quiz
    Eclipse Quiz
    J2ME Quiz
    JBOSS Quiz
    Programming Langauges Quizes
    C Quiz
    C++ Quiz
    Visual Basic Quiz
    Data Structures Using C Quiz
    Cobol Quiz
    Assembly Language Quiz
    Mainframe Quiz
    Forth Programming Quiz
    Lisp Programming Quiz
    Pascal Quiz
    Delphi Quiz
    Fortran Quiz
    OOPs Quiz
    Data Warehousing Quiz
    CGI Programming Quiz
    Emacs Quiz
    Gnome Quiz
    ILU Quiz
    Soft Skills Quizes
    Communication Skills Quiz
    Time Management Quiz
    Project Management Quiz
    Team Work Quiz
    Leadership Skills Quiz
    Corporate Communication Quiz
    Negotiation Skills Quiz
    Database Quizes
    Oracle Quiz
    MySQL Quiz
    Operating System Quizes
    BSD Quiz
    Symbian Quiz
    Unix Quiz
    Internet Quiz
    IP-Masquerading Quiz
    IPC Quiz
    MIDI Quiz
    Software Testing Quizes
    Testing Quiz
    Firewalls Quiz
    SAP Module Quizes
    ERP Quiz
    ABAP Quiz
    Business Warehousing Quiz
    SAP Basis Quiz
    Material Management Quiz
    Sales & Distribution Quiz
    Human Resource Quiz
    Netweaver Quiz
    Customer Relationship Management Quiz
    Production and Planning Quiz
    Networking Programming Quizes
    Corba Quiz
    Networking Quiz
    Microsoft Office Quizes
    Microsoft Word Quiz
    Microsoft Outlook Quiz
    Microsoft PowerPoint Quiz
    Microsoft Publisher Quiz
    Microsoft Excel Quiz
    Microsoft Front Page Quiz
    Microsoft InfoPath Quiz
    Microsoft Access Quiz
    Accounting Quizes
    Financial Accounting Quiz
    Managerial Accounting Quiz

    Privacy Policy
    Copyright © 2003-2024 Vyom Technosoft Pvt. Ltd., All Rights Reserved.