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 |
|
|
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:
|
|
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 |
|
|