Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157

    servlet error:

    ciao,
    ho risolto i problemi che avevo in precedenza con questa servlet...



    codice:
    
    import java.io.*;
    import java.net.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.http.HttpServlet;
    
    public class connessione1 extends HttpServlet { 
     private PrintWriter out;
        
        //private String title, s;
        private Statement s;
        private ResultSet lr;
        private Connection dbconn;
        private String query;
        private  Integer i, idpatologia,idanamnesi;
        private String idp;
        private   ResultSet r;
          public connessione1 (){
              
                String query;
                s = null; 
                lr = null;
                s= null;
                dbconn=null;
            } 
              
               public void service (HttpServletRequest request, HttpServletResponse response, String fnv) throws ServletException, IOException, SQLException {
                   
    
                    out = response.getWriter();
                     
                    response.setContentType("text/html");
                    response.setHeader("Pragma", "no-cache"); 
    
                              
                    
            
        
            try{
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
                dbconn = DriverManager.getConnection("jdbc:odbc:audiometria");
            }
            catch(Exception e){
            out.println("errore di connessione al database... Contattare l'amministratore di sistema!");
            }
           try {
                s = dbconn.createStatement();
            } catch (SQLException ex) {
                out.println(" non trovato:" + ex.getErrorCode());
            }
                    
            out.println(" ");
            out.println("Mi sono connesso");
            
     
            Date oggi = new Date();     
            
            SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
            /*
            query="Insert into Anamnesi(id_paziente,data_anamnesi) values("+request.getParameter("idp")+",#"+formatter.format(oggi)+"#)";
            s.executeUpdate(query);
            out.println(query); 
           */
            query="Select max(id_anamnesi) as max_id from Anamnesi";
            r=s.executeQuery(query);
            r.next();
            idanamnesi=Integer.valueOf(r.getObject("max_id").toString());
            r.close();
            System.out.println(idanamnesi);
              try {
               // out.println(query);
                lr = s.executeQuery(query);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
            
            
            if(request.getParameter("parto")!=""){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Parto "+request.getParameter("parto")+"')";
                s.executeUpdate(query);          
            }
        
            try {
               // out.println(query);
                lr = s.executeQuery(query);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
           if(request.getParameter("infettive")!=""){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Malattie   infettive: "+request.getParameter("infettive")+"')";
                s.executeUpdate(query);
                query="Select max(id_patologia) as max_id from Patologia";
                r=s.executeQuery(query);
                r.next();
                idpatologia=Integer.valueOf(r.getString("max_id"));
                r.close();
            }
                if(request.getParameter("eta")!=""){
                    query="Insert into Sottopatologia(id_patologia, nome) values("+idpatologia+",'età: "+request.getParameter("eta")+"')";
                    s.executeUpdate(query);
                }
                     
              if(request.getParameter("cons")!="false"){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'Consanguineità presente')";
                s.executeUpdate(query);
              }
            
    
             if(request.getParameter("lue")!="false"){
                query="Insert into Patologia(id_anamnesi,nome) values("+idanamnesi+",'LUE presente')";
                s.executeUpdate(query);
              }
                           
        try {
                 
                    
                dbconn.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
           
            out.close();
               
               }
    }

    adesso non mi da errori ma quando la mando in compilazione mi dice:

    type Status report

    message HTTP method GET is not supported by this URL

    description The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).

    qualcuno può essere cosi gentile da dirmi cosa significa e come si risolve!? :master:
    grazie anticipatamente
    Tutto ciò che non mi uccide mi rende più forte!

  2. #2
    mancano i metodi doPost e doGet.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    157
    Ciao, scusa dove dovrei metterci i metodi doGet e do Post?

    Ho usato service e ho provato ad usare anche doGet o doPOsto a suo posto ma mi da lo stesso problema...
    Tutto ciò che non mi uccide mi rende più forte!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    forse fai un po' di confusione su come risponda una servlet a chiamata: ti faccio un esempio banale ma che forse ti indirizzerà sulla "giusta" strada:

    JSP
    codice:
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
    
        <h1>JSP Page - 2 Forms Test</h1>
        <h2>GET FORM</h2>
        <form name="getform" action="testservlet" method="get">
            <input type="text" name="form_field_get" />
    
            <input type="submit" value="SUBMIT" />
        </form>
        
    
    </p>
        <h2>POST FORM</h2>
        <form name="postform" action="testservlet" method="post">
            <input type="text" name="form_field_post" />
    
            <input type="submit" value="SUBMIT" />
        </form>    
        </body>
    </html>
    SERVLET
    codice:
    import java.io.*;
    import java.net.*;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    
    public class testservlet extends HttpServlet {
        
        protected void doGet(HttpServletRequest req, HttpServletResponse res) {
            res.setContentType("text/html");
            try {
                PrintWriter out = res.getWriter();
                out.write("<html><body><h1>GET</h1>"+req.getParameter("form_field_get")+"</body></html>");
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        protected void doPost(HttpServletRequest req, HttpServletResponse res) {
            res.setContentType("text/html");
            try {
                PrintWriter out = res.getWriter();
                out.write("<html><body><h1>POST</h1>"+req.getParameter("form_field_post")+"</body></html>");
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    Chiaramente da mappare opportunamente nel tuo web.xml
    Comunque il succo del discorso è che la JSP ha due form con method diversi (get e post) e come puoi vedere stessa action, ossia la servlet, la quale distingue il method ed esegue il codice in doGet e doPost. Quindi nel tuo doGet o doPost, a seconda del method del tuo form (o del modo in cui costruisci la query string del browser - quindi sicuramente in doGet) andrai a scrivere il codice necessario.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.