lordashram Pour Marmot !!! | Elle sont pas forcément top top mes classes, mais je débute, mais ça m'a l'air pas trop mal :
Code :
- package controleur;
- import java.io.*;
- import javax.swing.*;
- import java.net.*;
- import java.util.*;
- import java.security.AccessControlException;
- public abstract class Requeteur{
- private String serveur;
- private String page;
- protected URL url;
- protected URLConnection connexion;
- private BufferedReader entrant;
- private OutputStreamWriter sortant;
- private String line=null;
- private ArrayList<ParametreUrl> donnees=null;
- public static JApplet applet;
- public Requeteur(String serveur){
- this.setServeur(serveur);
- }
- private void Init(String page,ArrayList<ParametreUrl> donnees) throws AccessControlException, IOException{
- }
- public ArrayList<String> requete(String page,ArrayList<ParametreUrl> donnees) throws IOException,AccessControlException{
- ArrayList<String> retour = new ArrayList<String>();
- this.Init(page, donnees);
- /** Récupération de la réponse de la servlet */
- this.setEntrant(new BufferedReader(new InputStreamReader(this.getConnexion().getInputStream())));
- while ((this.line = this.getEntrant().readLine()) != null) {
- retour.add(this.line);
- }
- this.line=null;
- this.getEntrant().close();
- return retour;
- }
- //Serveur
- public void setServeur(String value){this.serveur=value;}
- public String getServeur(){return this.serveur;}
- //Page
- public void setPage(String value){this.page=value;}
- public String getPage(){return this.page;}
- //URL
- public void setUrl(URL value){this.url=value;}
- public URL getUrl(){return this.url;}
- //Connexion
- public void setConnexion(URLConnection value){this.connexion=value;}
- public URLConnection getConnexion(){return this.connexion;}
- //Entrant
- public void setEntrant(BufferedReader value){this.entrant=value;}
- public BufferedReader getEntrant(){return this.entrant;}
- //Sorant
- public void setSortant(OutputStreamWriter value){this.sortant=value;}
- public OutputStreamWriter getSortant(){return this.sortant;}
- //Données
- public void setDonnees(ArrayList<ParametreUrl> value){this.donnees=value;}
- public ArrayList<ParametreUrl> getDonnees(){return this.donnees;}
- }
| Code :
- package controleur;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.net.URL;
- import java.security.AccessControlException;
- import java.util.*;
- import javax.swing.JLabel;
- public class Post extends Requeteur{
- public Post(String serveur){
- super(serveur);
- }
- @SuppressWarnings("unused" )
- private void Init(String page,ArrayList<ParametreUrl> donnees) throws AccessControlException, IOException{
- this.setPage(page);
- this.setUrl(new URL(this.getServeur()+this.getPage()));
- this.setDonnees(donnees);
- try{
- this.connexion = this.url.openConnection();
- }catch(AccessControlException e){applet.add(new JLabel(e.getMessage()));}
- this.getConnexion().setDoOutput(true);
- this.setSortant(new OutputStreamWriter(this.getConnexion().getOutputStream()));
- this.getSortant().write(this.getEncodedDatas());
- this.getSortant().flush();
- this.getSortant().close();
- }
- private String getEncodedDatas(){
- String retour="";
- int i;
- if(this.getDonnees().isEmpty()==false){
- retour=this.getDonnees().get(0).getEncodedVariable()+"="+
- this.getDonnees().get(0).getEncodedValeur();
- for(i=1;i<this.getDonnees().size();i++){
- retour+="&"+
- this.getDonnees().get(0).getEncodedVariable()+"="+
- this.getDonnees().get(0).getEncodedValeur();
- }
- }
- return retour;
- }
- }
| Code :
- package controleur;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.net.URL;
- import java.security.AccessControlException;
- import java.util.*;
- import javax.swing.JLabel;
- public class Get extends Requeteur{
- public Get(String serveur){
- super(serveur);
- }
- @SuppressWarnings("unused" )
- private void Init(String page,ArrayList<ParametreUrl> donnees) throws AccessControlException, IOException{
- this.setPage(page);
- this.setUrl(new URL(this.getServeur()+this.getPage()+this.getEncodedDatas()));
- this.setDonnees(donnees);
- try{
- this.connexion = this.url.openConnection();
- }catch(AccessControlException e){applet.add(new JLabel(e.getMessage()));}
- this.getConnexion().setDoOutput(true);
- this.setSortant(new OutputStreamWriter(this.getConnexion().getOutputStream()));
- this.getSortant().flush();
- this.getSortant().close();
- }
- private String getEncodedDatas(){
- String retour="";
- int i;
- if(this.getDonnees().isEmpty()==false){
- retour="?"+
- this.getDonnees().get(0).getEncodedVariable()+"="+
- this.getDonnees().get(0).getEncodedValeur();
- for(i=1;i<this.getDonnees().size();i++){
- retour+="&"+
- this.getDonnees().get(0).getEncodedVariable()+"="+
- this.getDonnees().get(0).getEncodedValeur();
- }
- }
- return retour;
- }
- }
| Code :
- package controleur;
- import java.io.IOException;
- import java.net.URLEncoder;
- public class ParametreUrl {
- private String Variable;
- private String Valeur;
- public ParametreUrl(String variable,String valeur){
- this.setVariable(variable);this.setValeur(valeur);
- }
- //Variable
- public String getVariable(){return this.Variable;}
- public void setVariable(String value){this.Variable=value;}
- //Valeur
- public String getValeur(){return this.Valeur;}
- public void setValeur(String value){this.Valeur=value;}
- //Encodage
- public String getEncodedVariable(){
- try{
- return URLEncoder.encode(this.Variable,"ISO-8859-1" );
- }catch(IOException e){return "";}
- }
- public String getEncodedValeur(){
- try{
- return URLEncoder.encode(this.Valeur,"ISO-8859-1" );
- }catch(IOException e){return "";}
- }
- }
| Voilà qui te permettra de gérer du get et du post normalement. Pour les autres posters, dites moi si c'est vraiment de la merde, mais j'ai fait ça suite à plusieurs tutos. Message édité par lordashram le 28-02-2008 à 14:27:25
|