Java connection http
Résolu
k-23
Messages postés
290
Statut
Membre
-
k-23 Messages postés 290 Statut Membre -
k-23 Messages postés 290 Statut Membre -
Bonjour,
je voudrais trouver un exemple simple sur java avec une connection http en fait je voudrais quelque chose comme ca.
Mon but c'est d'envoyer plusieurs donnees dans un meme port.(donc quelque chose dans le genre ("http://localhost/servlet?cle1=valeur1&cle2=valeur2");)
j'ai trouve ceci sur google, mais je trouve pas des exemple que je pourrais tester.
Merci pour l'aide
/** Envoi de données par GET */
URL url = new URL("http://localhost/servlet?cle1=valeur1&cle2=valeur2");
URLConnection conn = url.openConnection();
/** Envoi de données par POST */
URL url = new URL("http://localhost/servlet");
String data = "cle1=valeur1&cle2=valeur2");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());
osw.write(data);
osw.flush();
osw.close();
/** Récupération de la réponse de la servlet */
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
/** traitement des lignes */
} br.close();
Pour envoyer la réponse à partir de la servlet, il suffit d'utiliser l'OutputStream de l'HttpServletResponse.
/** Réponse de la servlet */
String texte = "...";
PrintStream out = new PrintStream(response.getOutputStream());
out.println(texte);
out.close();
Remarque: pour le passage des données (clés ou valeurs), si des caractères spéciaux sont employés, utiliser URLEncoder :
cle1 = URLEncoder.encode(cle1, "UTF-8")
je voudrais trouver un exemple simple sur java avec une connection http en fait je voudrais quelque chose comme ca.
Mon but c'est d'envoyer plusieurs donnees dans un meme port.(donc quelque chose dans le genre ("http://localhost/servlet?cle1=valeur1&cle2=valeur2");)
j'ai trouve ceci sur google, mais je trouve pas des exemple que je pourrais tester.
Merci pour l'aide
/** Envoi de données par GET */
URL url = new URL("http://localhost/servlet?cle1=valeur1&cle2=valeur2");
URLConnection conn = url.openConnection();
/** Envoi de données par POST */
URL url = new URL("http://localhost/servlet");
String data = "cle1=valeur1&cle2=valeur2");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());
osw.write(data);
osw.flush();
osw.close();
/** Récupération de la réponse de la servlet */
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
/** traitement des lignes */
} br.close();
Pour envoyer la réponse à partir de la servlet, il suffit d'utiliser l'OutputStream de l'HttpServletResponse.
/** Réponse de la servlet */
String texte = "...";
PrintStream out = new PrintStream(response.getOutputStream());
out.println(texte);
out.close();
Remarque: pour le passage des données (clés ou valeurs), si des caractères spéciaux sont employés, utiliser URLEncoder :
cle1 = URLEncoder.encode(cle1, "UTF-8")
A voir également:
- Java connection http
- Http - Guide
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Http //192.168.l.l - Guide
- Gmail connection - Guide
1 réponse
Pour tester il te faut un serveur qui gère les servlets (Tomcat par exemple).
Voici un exemple de code qui envoie deux mots, et récupère la concaténation des deux.
1) Le JavaScript fait une requête Get, il envoie les deux mots :
2) La servlet sur le serveur attend la requête, récupère les deux mots, fait la concaténation, et l'envoie en réponse:
3) Et enfin le script reçoit la réponse et l'affiche :
Voici un exemple de code qui envoie deux mots, et récupère la concaténation des deux.
1) Le JavaScript fait une requête Get, il envoie les deux mots :
var req;
function envoieRequete(mot1,mot2)
{
req = new XMLHttpRequest();
req.onreadystatechange = attendreReponse;
req.open("Get","/MaServlet?mot1="+mot1+"&mot2="+mot2,true);
req.send(null);
}
2) La servlet sur le serveur attend la requête, récupère les deux mots, fait la concaténation, et l'envoie en réponse:
public class MaServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
{
String mot1 = req.getParameter("mot1");
String mot2 = req.getParameter("mot2");
String rep = mot1+mot2;
res.setContentType("text/plain");
res.setHeader("Cache-Control","no-cache");
res.getWriter().write(rep);
}
}
3) Et enfin le script reçoit la réponse et l'affiche :
function attendreReponse()
{
if (req.readyState==4 && req.status==200)
{
alert(req.responseText);
}
}
le port
le http://localhost:8908 apres je definis mes variables les quelles je pourrais visualiser en ecribant dans mon navigateur internet http://localhost:8908 ...
merci de repondre
Elles sont utilisées dans des sites web, mais ce n'est peut-être pas vraiment ton problème...
Peut-être qu'une manipulation de sockets te suffiront, regarde Les accès au réseau
Mais si tu donnais plus d'informations sur ce que tu veux faire exactement ce serait plus facile de t'aider, car en Java on peut faire beaucoup de choses !!!
je vais regarder le link voir si je trouve qqch
merci
je dois utiliser
http://localhost:numeroDuPOrt avec quelque chose ????
merci pour laide