Passer d'une variable locale à un paramètrede class

الموضوع في 'أرشيف المنتدى التعليمي' بواسطة amine1988, بتاريخ ‏23 ماي 2009.

  1. amine1988

    amine1988 عضو مميز

    إنضم إلينا في:
    ‏22 جوان 2007
    المشاركات:
    950
    الإعجابات المتلقاة:
    509
      23-05-2009 10:18
    Bonjour,
    j'ai une classe test qui contient plusieurs méthodes mais à chaque méthode il ya une variable(adresse ip) que je la déclare la même dans chaque méthode
    voila la déclaration
    Address targetAddress = new UdpAddress("127.0.0.1/161");
    je veux que cette variable soit entrée en paramètre à la classe dans le main
    c'est à dire
    au lieu de faire
    test ts=new test();
    dans le main je fait entée sa
    test ts=new test(127.0.0.1);
    sachant que le 127.0.0.1 est de type InetAddress
    et comme vous avez vu mes métohdes utilise le type Address et il ya la /161
    Merci de me donner la solution
     
  2. alia

    alia كبار الشخصيات

    إنضم إلينا في:
    ‏1 أكتوبر 2007
    المشاركات:
    1.236
    الإعجابات المتلقاة:
    3.441
      24-05-2009 16:35
    السلام عليكم

    أخي الكريم, استخدم servlet و هي كفيلة بذلك.
    دمتم في رعاية الله و حفظه

     
  3. amine1988

    amine1988 عضو مميز

    إنضم إلينا في:
    ‏22 جوان 2007
    المشاركات:
    950
    الإعجابات المتلقاة:
    509
      26-05-2009 07:58
    Merci mon frère pour ta réponse mais wallah je ne sais pas comment utilisé servlet en + je suis débutant mais bon
    Si vous pouvez me donner un exemple pour comprendre et crée ma servlet

    voila c que je veux
    j'ai une page page1.jsp
    <%String champ=(String) cols.get(j) ;%>//champ est de type String
    <a href="ressources.jsp<%=champ%></a>
    et j'ai une classe Snmpwalk.java dont je peux instancier un objet comme suivant
    Snmpwalk wk=new Snmpwalk("127.0.0.1"); //elle prend en paramètre une adresse ip de type String


    Maquestion est comment je peux passer la variable champ du page1.jsp pour sera entrée en paramètre à ma classe Snmpwalk.java?
     
  4. alia

    alia كبار الشخصيات

    إنضم إلينا في:
    ‏1 أكتوبر 2007
    المشاركات:
    1.236
    الإعجابات المتلقاة:
    3.441
      26-05-2009 09:43
    السلام عليكم

    أخي الكريم, هذا هو أول مثال درسناه و من خلاله ندرك بطريقة ملموسة أنه يمكننا استخدام servlet لنقل أي معلومات, المثال نفسه موجود على الانترنت مرفق بالشرح, طالع المثال و أي استفسار سنكون بإذن الله في الخدمة, :
    كود (text):

    [LEFT][SIZE=2][COLOR=RoyalBlue]Voici un exemple simple de servlet dont le seul but est d'afficher du texte sur le navigateur du client :  
    [/COLOR][/SIZE][B][SIZE=2][COLOR=Magenta]import javax.servlet.*;
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta] import javax.servlet.http.*;
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta] import java.io.*;
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta] public class PremiereServlet extends HttpServlet {
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]  
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]   public void init() {
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]   **
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]   public void doGet(HttpServletRequest req, HttpServletResponse res)
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     throws ServletException, IOException {
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]    
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     res.setContentType("text/html");
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     PrintWriter out = res.getWriter();
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     out.println("<HTML>");
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     out.println("<HEAD><TITLE> Titre </TITLE></HEAD>");
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     out.println("<BODY>");
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     out.println("Ma première servlet");
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     out.println("</BODY>");
    [/COLOR][/SIZE][SIZE=2][COLOR=Magenta]     out.println("</HTML>");
    [/COLOR][/SIZE][/B][SIZE=2][COLOR=RoyalBlue][B][COLOR=Magenta]     out.close();[/COLOR][/B]
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]   **
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] **[/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] La première étape consiste à importer les packages nécessaires à la création de la servlet, il faut donc importer
    [I]javax.servlet[/I],  [I]javax.servlet.http[/I][I]javax.io[/I] et   [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]import javax.servlet.*;
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] import javax.servlet.http.*;
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] import java.io.*[/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] Afin de mettre en place l'interface [I]Servlet[/I][/COLOR][/SIZE]  nécessaire au conteneur de servlet, il existe plusieurs possibilités :
    [LIST]
    [*][SIZE=2][COLOR=RoyalBlue]Définir manuellement chaque méthode [/COLOR][/SIZE]
    [*][SIZE=2][COLOR=RoyalBlue]Dériver la classe [I]GenericServlet[/I] et redéfinir les méthodes dont on a besoin [/COLOR][/SIZE]
    [*][SIZE=2][COLOR=RoyalBlue]Dériver la classe [I]HttpServlet[/I] et redéfinir les méthodes dont on a besoin [/COLOR][/SIZE]
    [/LIST]
    [SIZE=2][COLOR=RoyalBlue] Dans la servlet ci-dessus, la classe [I]HttpServlet[/I] a été étendue  [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]public class PremiereServlet extends HttpServlet {
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] **[/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] Lorsque la servlet est instanciée, il peut être intéressant d'effectuer des  opérations qui seront utiles tout au long du cycle de vie de la servlet (se connecter à une base de données, ouvrir un fichier, ...). Pour ce faire, il s'agit de surcharger la méthode [I]init()[/I] de la servlet.  [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]public void init() {**[/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] A chaque requête, la méthode [I]service()[/I] est invoquée. Celle-ci détermine le type de requête dont il s'agit, puis transmet la requête et la réponse à la méthode adéquate ([I]doGet()[/I] ou [I]doPost[/I]). dans notre cas, on ne s'intéresse qu'à la méthode GET, c'est la raison pour laquelle la méthode [I]doGet()[/I] a été surchargée  [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]public void doGet(HttpServletRequest req, HttpServletResponse res)
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]     throws ServletException, IOException {
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] **[/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] L'objet [I]HttpServletRequest[/I] permet de connaître les éventuels paramètres passés à la servlet (dans le cas d'un formulaire HTML par exemple), mais l'exemple ci-dessus n'en a pas l'utilité.  
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] Par contre l'objet [I]HttpServletResponse[/I] permet de renvoyer une page à l'utilisateur. La première étape consiste à définir le type de données qui vont être envoyées au client. Généralement il s'agit d'une page HTML, la méthode [I]setContentType()[/I] de l'objet  [I]HttpServletResponse[/I][URL="http://www.commentcamarche.net/contents/systemes/mime.php3"]type MIME[/URL][I]text/html[/I]) :   doit donc prendre comme paramètre le  associé au format HTML ([/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]res.setContentType("text/html");  [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]Ensuite la création d'un objet [I]PrintWriter[/I] grâce à la  méthode [I]getWriter()[/I] de l'objet [I]HttpServletResponse[/I] permet d'envoyer du texte formatté au navigateur (pour envoyer un flot de données, il faudrait utiliser la méthode [I]getOutputStream()[/I])  
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]PrintWriter out = res.getWriter();[/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue] Enfin il faut utiliser la méthode [I]println()[/I] de l'objet [I]PrintWriter[/I] afin d'envoyer les données textuelles au navigateur, puis fermer l'objet [I]PrintWriter[/I][I]close()[/I] lorsqu'il n'est plus utile avec sa méthode   [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]    out.println("<HTML>");
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]     out.println("<HEAD><TITLE> Titre </TITLE></HEAD>");
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]     out.println("<BODY>");
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]     out.println("Ma première servlet");
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]     out.println("</BODY>");
    [/COLOR][/SIZE][SIZE=2][COLOR=RoyalBlue]     out.println("</HTML>");[/COLOR][/SIZE]
    [/LEFT]
    [SIZE=3]     out.close();[/SIZE]  
     
    رابط المثال 1
    رابط المثال 2
    المثال الثاني مطابق لأول تطبيق فعلي لل
    servlet على الحاسوب في الجامعات. كل ما عليك فعله استبدال النص الذي سنحوله للصفحة باستخدام servlet بالمعلومة التي تريد و التي أظنها adresse Ip.
    دمتم في رعاية الله و حفظه
     
    3 شخص معجب بهذا.
  5. kordial

    kordial عضو مميز

    إنضم إلينا في:
    ‏18 فيفري 2006
    المشاركات:
    857
    الإعجابات المتلقاة:
    1.491
      26-05-2009 11:57
    Tout en remerciant les participants, je dis qu'utiliser les servlets ici est comme utiliser un canon pour tuer une mouche. La question me parait très claire, et je me propose d'y répondre

    Voir fichier joint
     

    الملفات المرفقة:

    • Test.java.zip
      Test.java.zip
      حجم الملف:
      787 بايت
      المشاهدات:
      8
  6. amine1988

    amine1988 عضو مميز

    إنضم إلينا في:
    ‏22 جوان 2007
    المشاركات:
    950
    الإعجابات المتلقاة:
    509
      26-05-2009 17:02
    Merci beaucoup c gentil de votre part c exactement c que j'ai déja fait dans mon code
    mais en 2éme lieu j'ai posé un autre question
    Comment passer une variable d'une JSP à JAVA merci
    Bonne continuation
     
  7. amine1988

    amine1988 عضو مميز

    إنضم إلينا في:
    ‏22 جوان 2007
    المشاركات:
    950
    الإعجابات المتلقاة:
    509
      26-05-2009 17:04
    Merci Alia je vais essayé sa et je contacterai inchallah
     
    1 person likes this.
  8. kordial

    kordial عضو مميز

    إنضم إلينا في:
    ‏18 فيفري 2006
    المشاركات:
    857
    الإعجابات المتلقاة:
    1.491
      26-05-2009 17:18
    Ah d'accord, je me suis conformé à la question originale

    Les servlets c'est pas vraiment ma spécialité, j'en laisse le soin au reste des membres

    Bonne continuation
     
    1 person likes this.
  9. amine1988

    amine1988 عضو مميز

    إنضم إلينا في:
    ‏22 جوان 2007
    المشاركات:
    950
    الإعجابات المتلقاة:
    509
      28-05-2009 08:22
    :besmellah1:
    J'ai pas arrivé à résoudre mon problème concernant le passage d'une variable du jsp a java
    voila je vous explique mieux mon souci pour que inchallah vous me retrouverai la solution
    j'ai un projet web dont ils contient plusieures pages jsp,plusieurs packages et plusieurs classes sous ces package

    Voila l'imprime écran
    mon Projeet.jpg
    alors pour la page monitoring.jsp voici le morceau de code qui nous interesse
    كود (text):

     
    String champ=(String) cols.get(j) ;//champ est une adresse ip
                           if(j==1)
                             {  
            %>
                    <form name="form" action="ressources.jsp" method="POST" >
                        <input type="hidden" name="var" value="<%= champ%>" />
                        <td><input type="submit" value="<%= champ%>" name="<%= champ%>" size="20"/></td>
                    </form>
                   
     
     
    et j'ai un package helloservlet qui contient 3 classes java qui sont(Servlet1, Snmpwalk, myDemoChart)
    voila Servlet1
    كود (text):

    /**
    * this class file is a servlet
    */
    package helloservlet;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
     
    public class Servlet1 extends HttpServlet {
    private static final String CONTENT_TYPE = "image/jpeg";
     
       
     
    public void init() throws ServletException {
    **
     
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
     
    myDemoChart tmp = new myDemoChart();
    tmp.getchart(response.getOutputStream()) ;
    **
     
    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
     
    doGet(request, response);
    **
     
    //Process the HTTP Put request
    public void doPut(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    **
     
    //Clean up resources
    public void destroy() {
    **
    **
     

     
    et voila un morceau de code de myDemoChart qui fait appel a Snmpwalk
    كود (text):

     
    package helloservlet;
     
    import java.io.*;
    import org.jfree.chart.*;
    import org.jfree.data.*;
     
    public class myDemoChart {
       
     Snmpwalk wk=new Snmpwalk("127.0.0.1");
     
     private DefaultPieDataset getDataSet() throws IOException
    {
      ....
      .....etc
     
     
    je veux que l'adresse ip entrée en paramètre a Snmpwalk soit récuperer de la page monitoring.jsp
    soit directement de la variable champ soit de type hidden l'essentiel est de récuperer la variable
    safait 4 jours que j'essaye de la faire mais sans résultat
    merci de m'aider.
     

مشاركة هذه الصفحة

جاري تحميل الصفحة...