java - Java - Programmation
Marsh Posté le 15-06-2010 à 22:02:16
Quelqun pour m'aider svp; comment faire appel à une servlet dans la méthode public static void main(){}.
SVPPPPP
Marsh Posté le 16-06-2010 à 10:30:13
Je pense que personne t'aide parce que ta question est bizarre, car à moins que tu aies une explication, ce que tu veux faire semble, disons, "inadapté".
Mais bon, c'est faisable, une servlet ca ne marche pas tout seul donc je suppose qu'elle est déployée sur un serveur (Weblogic, Tomcat, etc) et joignable par une URL, donc ton utilises ca pour faire une bete requete HTTP: http://java.sun.com/j2se/1.5.0/doc [...] ction.html
Marsh Posté le 16-06-2010 à 14:42:34
salut, et merci de m'avoir répondu; si ça ne parait logique ce que je demande alors pouvez me proposer une solution adapté; alors voilà ce que je veux faire:
j'ai un ensemble de servlets ; chacune d'elle fais un travail particulier : exemple : ajouter, un autre qui modifie , une autre servlet qui supprime ..etc ; alors je voudrai faire un switch de la sorte :
switch(){
case1 : system.out.println ("Vous voulez ajouter un ..." )
//alors j'appelle ma servlet qui fait l'ajout
case2 : system.out.println ("Vous voulez modifier un ..." )
//j'appelle la servlet de modification
.... et ainsi de suite.
PS; j'utilise mysql ; eclipse; et j2EE
j'espère que vous pourriez m'aider.
Marsh Posté le 16-06-2010 à 14:43:57
et tous mes servlet se trouve dans default package sous eclipse.
Marsh Posté le 16-06-2010 à 14:48:41
Mais tu vérifies quoi dans le switch ? Parce que je comprends pas, sur ton application web quand tu cliques sur un lien ou appelles une action ça appelle la servlet qu'il faut, pas besoin de tester soi-même laquelle appeler.
Marsh Posté le 16-06-2010 à 14:59:14
merci de me répondre ; oui je sais mais c'est un programme java simple avec la méthode main() que je teste dans une console;
et je voudrai faire
public static voide main(){
faire un switch que j'ai fait dans le message suivant}
voilà
Marsh Posté le 16-06-2010 à 15:08:17
OK, mais la question c'est: quel est ton but? Tu veux faire quoi exactement "vu de loin"? Tester que tes servlets marchent?
Au fond, une servlet c'est rien d'autre qu'une page web et c'est censé etre appelé en tant que tel dans un browser. Donc si tu veux les tester, il faut d'abord les déployer dans un serveur applicatif, et ensuite tu pourras y accéder, comme le dit Deamon, en codant une page HTML toute bete ou tu fais des liens vers les URLs de tes servlets.
Si ton application n'est PAS web, dans ce cas l'utilisation de servlets est fortement inadapté: ca peut marcher mais tu t'emmerdes vraiment pour rien à devoir passer par un serveur applicatif. Si t'as malgré tout besoin d'une archi client/serveur, tu peux utiliser par exemple des sockets pour les faire communiquer.
Marsh Posté le 16-06-2010 à 15:14:26
oui, mes servlets marche à merveille; j'ai crée un site web dans lequels je fais appelle à eux ; et biensure j'utilise Tomcat; mais je voudrai faire ça car je crée un web services sous eclipse et je dois utiliser ces servlets que j'ai crée. mais c'est servlets ne s'exécutent pas tous seule on doit les appelé de quelque part; c'est pour cela que je dois écrire un programme qui exécute ces servlets.
voilà
Marsh Posté le 16-06-2010 à 15:18:36
Ca explique pas pourquoi tu dois utiliser ces servlets de cette façon.
Marsh Posté le 16-06-2010 à 15:20:11
je créer un web services; au contraire ça explique tous; alors donner moi une solution svp??
Marsh Posté le 16-06-2010 à 15:21:44
La solution, lasnoufle te l'a donnée. Faire une requête HTTP pour faire l'appel de l'action.
Marsh Posté le 16-06-2010 à 15:28:18
oui je l'ai fait et j'ai mis ça String sURL = "http://localhost:8081/testing/Personne"; //lien vers ma servlet
mais quand j'excute dans la console sa me donne un erreur :
App.java:105: cannot find symbol
symbol : variable Source
location: class Banque
String pageHTML = Source.getHttpPage("classe HttpUrlConnection" );
^
1 error
Marsh Posté le 16-06-2010 à 15:37:16
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class Source {
public static String getHttpPage(String classeHttpUrlConnection) {
String sURL = "http://localhost:8081/application/Personne";
String page = ""; // page html vide par défault
try {
URL epguides = new URL(sURL);
URLConnection conn = epguides.openConnection();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String tmp; // déclaration de la variable tmp qui va stocker temporairement le contenu reçu par l'objet bufferedReader
while((tmp = bufferedReader.readLine()) != null) {
page += tmp + "\n"; // à chaque tour de boucle, on ajoute le contenu de la variable tmp à la variable age
}
} catch(Exception e) {
e.printStackTrace(); // imprimer la trace de la pile en cas de bug du programme
}
return page;
}
}
Marsh Posté le 16-06-2010 à 15:41:30
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class App {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int c =0;
while (c != 3) {
System.out.println("1. ajouter." );
System.out.println("2. modifier." );
System.out.println("3. supprimer." );
System.out.println("\nfaite un choix : " );
try {
BufferedReader reader13 = new BufferedReader(new InputStreamReader(System.in));
String lineRead13= reader13.readLine();
int c= Integer.parseInt(lineRead13);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
switch (c) {
case 1:
try {
System.out.println(" entrer votre nom : " );
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String lineRead = reader.readLine();
String nom = lineRead;
System.out.println(" entrer votre prénom : " );
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
String pageHTML = Source.getHttpPage("classe HttpUrlConnection" );
System.out.println(pageHTML);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
Marsh Posté le 16-06-2010 à 15:46:09
Il sert à quoi le paramètre de getHttpPage(String classeHttpUrlConnection) ?
Et mets ton code entre les balises [ code=java] [ /code] (sans espace).
Marsh Posté le 16-06-2010 à 15:56:51
Tu as récupéré où le code ?
Essaye déjà HttpURLConnection au lieu de URLConnection.
Marsh Posté le 16-06-2010 à 16:04:13
explique moi plus clairement ?? ou je dois essayé HttpURLConnection??
Marsh Posté le 16-06-2010 à 16:34:23
Je suis clair pourtant : à la place de URLConnection.
Et tu réponds pas à la 1ere question.
Marsh Posté le 16-06-2010 à 16:37:32
toujours la même erreur, comment ça j'ai récupérer ou le code??
Marsh Posté le 16-06-2010 à 16:49:57
La classe Source avec getHttpPage c'est pas toi qui l'a créée, tu l'as récupérée où ?
Marsh Posté le 16-06-2010 à 16:52:12
ah d'accord, je ne sais pas j'ai fais copier collé du document que lasnoufle m'a indiqué
Marsh Posté le 16-06-2010 à 16:58:26
Sur http://java.sun.com/j2se/1.5.0/doc [...] ction.html ? J'ai pas u le code correspondant.
Marsh Posté le 15-06-2010 à 16:54:44
Bonjour, je voudrai savoir savoir comment faire appel a des servlets dans un programme java (avec la méthode main) càad que je voudrai écrire un programme java et faire un switch, càd un choix entre plusieurs servlets.
donc comment faire appel à une servlet (doPost) dans un main d'un programme java.
je vous remercie d'avance pour votre aide.