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 |
|
|
Manipulation de la demande de client : Former les données |
- Quand l'utilisateur soumet la forme, son information est envoyée au dossier correspondant de servlet parce que nous avons placé l'attribut d'ACTION pour nous diriger au servlet.
- La forme peut employer la méthode d'OBTENIR ou la méthode de POTEAU.
Dans OBTENIR la méthode, si l'utilisateur écrivent le « Inigo nommé Montoya, » l'URL de demande est http://server:8080/servlet/Hello?name=Inigo+Montoya sous forme de querystring qui est évident à l'utilisateur.
- L'espace dans le nom est particulièrement codé comme plus par le navigateur parce qu'URLs ne peut pas contenir l'espace.
- Un objet de HttpServletRequest des servlet lui donne l'accès aux données de forme dans sa corde de question.
|
La différence entre OBTIENNENT et SIGNALENT la méthode
|
Quand l'utilisateur écrit l'information sous une forme et les clics soumettent, il y a deux manières que l'information peut être envoyée du navigateur au serveur : dans l'URL, ou dans le corps de la demande de HTTP.
La méthode d'OBTENIR, qui a été employée dans l'exemple plus tôt, appose des paires de nom/valeur à l'URL. Malheureusement, la longueur de l'URL est les travaux limités, ainsi de cette méthode seulement s'il y a seulement quelques paramètres. L'URL pourrait être tronqué si la forme emploie un grand nombre de paramètre ou si les paramètres contiennent de grandes quantités de données. En outre, les paramètres passés sur l'URL sont évidents dans la zone adresse du browsernot le meilleur endroit pour qu'un mot de passe soit montré.
L'alternative à la méthode d'OBTENIR est méthode de POTEAU. Cette méthode empaquette les paires de nom/valeur à l'intérieur du corps de la demande de HTTP, qui se dirige vers un URL de décapant et n'impose aucune limitation de taille au rendement de formes. Elle est plus bloquée.
|
Service, doGet, et doPost de dépassement |
Quand une demande est faite, les mains de moteur de Servlet sur les données entrantes au moteur de Servlet, qui des paires traite la demande, y compris des données de forme, des biscuits, l'information de session, et d'URL nom-valeur, dans un objet de type HttpServletRequest ont appelé l'objet de demande. Des méta-données de client sont encapsulées comme l'objet du type HttpServletResponse et s'appellent l'objet de réponse. Le moteur de Servlet passe les deux objets pendant que les paramètres à Servlets service () la méthode.
La méthode de service de défaut () dans des servlets d'un HTTP conduit la demande à une autre méthode basée sur la méthode de transfert de HTTP (le POTEAU, OBTIENNENT, etc.) par exemple, des demandes de POTEAU de HTTP sont conduites à la méthode de doPost (), HTTP OBTIENNENT des demandes sont conduites à la méthode de doGet (), et ainsi de suite. Ceci permet au Servlet d'exécuter différent traitant sur demande des données selon la méthode de transfert. Puisque le cheminement a lieu en service (), vous généralement ne dépassez pas le service () dans un HTTP Servlet. Au lieu de cela, doGet de priorité () et/ou doPost (), etc., selon le type de demande vous prévoyez.
Le cheminement automatique dans un HTTP Servlets est basé simplement sur un appel à request.getMethod (), qui fournit la méthode de transfert de HTTP. Dans le moteur de Servlets, les données de demande sont déjà prétraitées dans une liste de nom-valeur avant que le Servlet voie les données, ainsi vous pourriez simplement dépasser la méthode de service () dans un HTTP Servlet sans perdre n'importe quelle fonctionnalité. Cependant, ceci rend le Servlet moins portatif, puisque ce dépend maintenant des données prétraitées de demande.
Vous devez dépasser la méthode de service () (pour Servlets générique) ou le doGet () et/ou les méthodes de doPost () (pour des servlets de HTTP) pour exécuter charge nécessaire de répondre à la demande. Très souvent, ceci signifie EJBs de accès pour effectuer les transactions, assemblant l'information nécessaire (dans l'objet de demande ou dans un objet de JDBC ResultSet), et puis passant le contenu nouvellement produit au JSP pour le formatage et la livraison de nouveau au client.
La plupart des opérations qui impliquent les formes emploient un OBTENIR ou une opération de POTEAU, ainsi pour la plupart des servlets que vous dépassez le doGet () ou le doPost (). Noter que vous pouvez appliquer les les deux les méthodes pour prévoir les deux types d'entrée, ou passer simplement l'objet de demande à une méthode de transformation centrale
|
Syntaxe d'employer le doGet
|
public void doGet (HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
...servlet code goes here...
}
|
|
Syntaxe d'employer le doPost
|
public void doPost (HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
...servlet code goes here...
}
|
|
Tous les réels demander-par-demandent le trafic dans un HTTP Servlets sont manipulés dans la méthode appropriée de doOperation (), y compris la gestion de session, l'authentification d'utilisateur, expédier EJBs et JSPs, et accéder à des dispositifs d'iAS.
Si vous avez un Servlets que vous avez l'intention d'appeler également en utilisant une méthode de RequestDispatcher inclure () ou expédier (), se rende compte que l'information de demande ne soit plus envoyée comme POTEAU de HTTP, OBTIENNENT, appel de méthodes etc. RequestDispatcher toujours le service (). En d'autres termes, si un servlet dépasse le doPost (), il peut ne pas traiter rien si un autre servlet l'appelle, si le servlet appelant s'avère justement avoir reçu ses données par l'intermédiaire de HTTP OBTIENNENT. Pour cette raison, être sûr de mettre en application des routines pour tous les types possibles de l'entrée, comme expliqué ci-dessus.
Noter les données binaires arbitraires, comme les dossiers téléchargés ou les images, peuvent être problématiques, puisque le connecteur de Web traduit des données entrantes en paires de nom-valeur par défaut. Vous pouvez programmer le connecteur de Web pour manipuler correctement ce genre de données et pour l'empaqueter correctement dans l'objet de demande. Paramètres de accès et stockage des données
Des données entrantes sont encapsulées dans l'objet de demande. Pour le servlet de HTTP, l'objet de demande est de type HttpServletRequest. Pour le servlet générique, l'objet de demande est de type ServletRequest. L'objet de demande contient tous paramètres dans une demande, et vous pouvez également placer vos propres valeurs dans la demande. Le dernier s'appelle l'attribut.
Vous pouvez accéder à tous paramètres dans une demande entrante en employant la méthode de getParameter ().
|
L'exemple suivant décrivent l'utilisation du getParameter ()
|
String username = request.getParameter("accountNumber");
|
|
Vous pouvez également placer et rechercher des valeurs dans la demande objecter en utilisant le setAttribute () et le getAttribute (), respectivement.
|
L'exemple suivant décrivent l'utilisation du setAttribute () |
request.setAttribute("accountNumber", "3284766");
|
|
Un exemple complet montrant l'utilisation de la méthode de doGet dans Servlets
|
Step1 : Faire la forme de HTML
Step2 : Faire la page correspondante de Servlets
|
Step1 : Faire la forme de HTML
|
Nous voici faisons un HTML former form.html appelé qui est donné ci-dessous :
|
<html>
<head>
<title>Introductions</title>
</head>
<body>
<form method=GET action="/servlet/name">
If you don't mind me asking, what is your name?
<input type=text name="name"><P>
<input type=submit>
</form>
</body>
</html>
|
|
Step2 : Faire la page correspondante de Servlets
|
Nous voici faisons un filr de Servlets appelé le name.java car nous avons donné dans le chemin d'attribut d'action dans form.html comme nom qui est donné ci-dessous :
|
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class name extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
String name = req.getParameter("name");
out.println("<html>");
out.println("<head><title>Hello, " + name + "</title></head>");
out.println("<body>");
out.println("Hello, " + name);
out.println("</body></html>");
}
public String getServletInfo()
{
return "A servlet that knows the name of the person to whom it's" +
"saying hello";
}
}
|
|
Keywords:
Handling the Client Request:Form Data,asp net client,asp net data,vb net data,control data,data net,java client,data repeater
|
|
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 |
|
|