Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JSP+SERVLET]scelta di utilizzo del metodo nella servlet

    Ciao a tutti, volevo una piccola spiegazione sulle servlet,premettendo che le sto imparando

    Devo chiamare da una jsp un metodo di una servlet (uso JBuilder 2005),e fin qui ok.
    Ma se nella servlet ho più di un metodo come posso fare a chiamare quello che mi interessa al momento?

    Questa è la mia jsp (molto elementare) :

    <html>
    <head>
    <title>
    jspPrincipale
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    JBuilder Generated JSP
    </h1>


    <form action="/WebModule1/servlet1 method="post">



    <input type="submit" name="Submit" value="Submit">
    </form>

    <input type="reset" value="Reset">

    </body>
    </html>


    Questa è la mia servlet:


    package servlet;

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;

    public class Servlet1 extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html";

    public static String variabile;

    //Initialize global variables
    public void init() throws ServletException {
    }

    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Mia Servlet</title></head>");
    out.println("<body bgcolor=\"#ffffff\">");
    out.println("

    The servlet has received a "+ request.getMethod()+". This is the reply.</p>");
    out.println("</body>");
    out.println("</html>");
    out.close();

    System.out.println("sono in doGet");


    };


    public void doPost(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {


    doGet(request, response);



    };


    public void mioMetodo(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    System.out.println("sono in mioMetodo");

    };





    //Clean up resources
    public void destroy() {
    }
    }


    Ora se dalla jsp voglio chiamare uno dei 2 metodi nella servlet (cioè mioMetodo o doGet) come posso fare?
    Magari inserendo un'altro bottone in modo che con bottone posso richiamare il primo metodo e
    con l'altro il secondo metodo?

    Grazie e ciaooo

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    in una input text metti un comando
    nel doGet leggi il comando e scegli quale metodo eseguire

  3. #3
    Ciao floyd,
    ma cosa intendi per comando?

    Io ho provato nella jsp a definire 2 pulsanti cui passo due diversi valori predefiniti(1 o 2):

    <html>
    <head>
    <title>
    jspPrincipale
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    JBuilder Generated JSP
    </h1>



    <form action="/WebModule1/servlet1?idS='1'" method="post">



    <input type="submit" name="Submit" value="Submit">
    </form>



    <form action="/WebModule1/servlet1?idS='2'" method="post">
    <input type="submit" name="Submit" value="Mio_metodo">
    </form>

    <input type="reset" value="Reset">

    </body>
    </html>


    Poi nella servlet faccio leggere nel doGet,chiamato da doPost, se ho scelto 1 o 2:


    public void doPost(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {

    doGet(request, response);


    };


    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Mia Servlet</title></head>");
    out.println("<body bgcolor=\"#ffffff\">");
    out.println("

    The servlet has received a "+ request.getMethod()+". This is the reply.</p>");
    out.println("</body>");
    out.println("</html>");
    out.close();


    if(request.getParameter("idS").equals("1")){

    mioMetodo1(request,response);

    }else request.getParameter("idS").equals("2")){

    mioMetodo2(request,response);

    }

    };


    public void mioMetodo1(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    System.out.println("mioMetodo1");

    };


    public void mioMetodo2(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    System.out.println("mioMetodo2");

    };


    Ma a quanto pare non prende in considerazione l'if. Mi sembra un po strano;secondo te?

    Ciaooo

  4. #4
    Tutto ok; sono riuscito a chiamare i metodi.Sbagliavo nella jsp quando passavo i valori (1 o 2):
    invece di passarli così:

    "/WebModule1/servlet1?idS=<%="1"%>"

    li passavo così;


    "/WebModule1/servlet1?idS='1'%>

    In ogni caso grazie per l'intervento

    Ciaoooo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.