Newsgroup: it.comp.java
Titolo: aiuto servlet

ciao, ho scritto 4 servlet  , inserimento,canc,modifica,visualizza che si
connettono al data base, io sono quasi certo che siano giuste ma quando
provo a farle partire
ho sempre lo stesso errore da tomcat:
HTTP Status 405 - HTTP method GET is not supported by this URL
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).
Vi metto anche Inserimento.java per poter visualizzare il codice:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.awt.event.*;
import java.util.*;
public class Inserimento extends HttpServlet  {
    private Statement statement=null;
    private Connection connection=null;
    String URL="jdbc:odbc:dbSq";
    //procedura di inizializzazione
    public void init(ServletConfig config)
    throws  ServletException
     {
       super.init(config);
       try
         {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          connection=DriverManager.getConnection(URL);
         }
         catch(Exception e)
           {  e.printStackTrace();
              connection=null;
                                  }
              }
   public void doPost(HttpServletRequest request, HttpServletResponse
response)
        throws IOException, ServletException
    {
       try
        {   HttpSession session=request.getSession(false);
            String Nome , Cognome ,Provenienza ,Ruolo;
            int result;
            Nome=request.getParameter("txtnome");
            Cognome=request.getParameter("txtcognome");
     Provenienza=request.getParameter("txtprovenienza");
     Ruolo=request.getParameter("txtruolo");
            //controllo se l'utente  è autorizzato
            if (session ==null)
   { response.sendRedirect("
http://localhost:8080/scaduta.htm
");
       }
     response.setContentType("text/html");
     PrintWriter out = response.getWriter();
     out.println("<html>");
     out.println("<head>");
     out.println("<title>Inserimento Convocati</title>");
     out.println("</head>");
           //Effettuo l'inserimento
     String sql="Insert INTO Squadra(Nome , Cognome , Provenienza , Ruolo )
";
            sql=sql + "VALUES ('" + Nome + "','" + Cognome +"','";
            sql=sql + Provenienza +"','" + Ruolo + "')";
            statement=connection.createStatement();
         result=statement.executeUpdate(sql);
    out.print("<body bgcolor='#0000FF' bgproperties='fixed'>");
           out.print("<table border='1' width='80%' height='86'>");
           out.print("<tr>");
           out.print("<td><h2> Cognome </h2></td>");
           out.print("<td><h2> Nome </h2></td>");
           out.print("<td><h2> Provenienza </h2></td>");
           out.print("<td><h2> Ruolo </h2></td>");
           out.print("</tr>");
           out.print("<tr>");
           out.print("<td>"+ Cognome +"</td>");
           out.print("<td>"+ Nome +"</td>");
           out.print("<td>"+ Provenienza +"</td>");
           out.print("<td>"+ Ruolo + "</td>");
           out.print("</tr>");
    out.print("</table>");
           out.print("<p></p><p></p>");
            if(result==1)
                out.print("<h2 align='CENTER'>Calciatore Inserito con
successo !!! </h2>");
           else
                 out.print("<h2 align='CENTER'>Riscontrati Problemi !!!
</h2>");
           out.print("<a href='
http://localhost:8080/homesu.htm
'>Torna al
pannello principale</a>");
           out.println("</body>");
           out.println("</html>");
           statement.close();
           out.close();
        }
       catch(SQLException sqlex)
        {   System.err.println("Problemi di Inserimento");
   sqlex.printStackTrace();
        }
  }
}
////////////////////////////////////////////////////////////////////////////
//////////////////////////////
E questo è il file XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "
http://java.sun.com/dtd/web-app_2_3.dtd
">
<web-app>
  <servlet>
    <servlet-name>dbSquadraServlet</servlet-name>
    <servlet-class>dbSquadraServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>EseguiModDel</servlet-name>
    <servlet-class>EseguiModDel</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>Inserimento</servlet-name>
    <servlet-class>Inserimento</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>logout</servlet-name>
    <servlet-class>logout</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>Ricerca</servlet-name>
    <servlet-class>Ricerca</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ModDel</servlet-name>
    <servlet-class>ModDel</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>dbSquadraServlet</servlet-name>
    <url-pattern>/servlet/dbSquadraServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>EseguiModDel</servlet-name>
    <url-pattern>/servlet/EseguiModDel</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Inserimento</servlet-name>
    <url-pattern>/servlet/Inserimento</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>logout</servlet-name>
    <url-pattern>/servlet/logout</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Ricerca</servlet-name>
    <url-pattern>/servlet/Ricerca</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ModDel</servlet-name>
    <url-pattern>/servlet/ModDel</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>
            30
        </session-timeout>
  </session-config>
  <welcome-file-list>
    <welcome-file>
            index.jsp
        </welcome-file>
    <welcome-file>
            index.html
        </welcome-file>
    <welcome-file>
            index.htm
        </welcome-file>
  </welcome-file-list>
</web-app>
Vi sarii veramente grato se mi date una mano
grazie

Non hai definito il metodo get di consiglio di aggiungere
public void doGet(HttpServletRequest request, HttpServletResponse response)
         throws IOException, ServletException
     {
        doPost(request,response);
}
o se utilizzi solo il metodo get cambiare doPost in doGet
Ciao
stefano wrote:

-- 
Mauro Braggio
Sobiemme Soluzioni S.r.l - Akume - Intrastudy
ma...@akume.it
 - 
brag...@sobiemme.com
http://www.intrastudy.it
 - 
http://www.sobiemme.com
 - 
http://www.akume.it
 
--
Luminoso e crudele e volubile è il Sud, / E scuro e fedele e tenero è il
Nord
                                [Alfred Tennyson]

 E questo č il file XML:

--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 problemi di nessun tipo.
Mi sembra che la "letteratura" sconsigli tale approccio, preferendo la 
dichiarazione di entrambi i metodi doPost/doGet con il codice in uno dei 
due e il secondo che richiama il primo.
-- 
daniele

niente da fare, anche durante la compilazione mi dice:
uses or overides a deprecated API
recompile with -deprecation for details
ho provato una servlet semplice hello world e funziona ma quando ho di mezzo
il get ol post non funge nulla
non pשע essere qualche conf al server o al sistema?
vi faccio vedere un'altra classe dove mi da sempre lo stesso errore:
/*
 * IOServlet.java
 *
 * Created on 31 marzo 2004, 11.20
 */
package FileIOServlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class IOServlet extends HttpServlet {
    public void doPost(HttpServletRequest request,
                        HttpServletResponse response)
                        throws ServletException, IOException
   {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<body bgcolor=FFFFFF>");
        out.println("<h2>Button Clicked</h2>");
        String data = request.getParameter("data");
        if (data != null && data.length() > 0) {
          out.println("<STRONG>Text from form:</STRONG>");
          out.println(data);
        } else {
          out.println("No text entered.");
        }
        try {
//Code to write to file
           String outputFileName=
           System.getProperty("user.home",
           File.separatorChar + "home" +
           File.separatorChar + "monicap") +
           File.separatorChar + "text.txt";
           FileWriter fout = new FileWriter(outputFileName);
           fout.write(data);
           fout.close();
//Code to read from file
           String inputFileName =
              System.getProperty("user.home",
              File.separatorChar + "home" +
              File.separatorChar + "monicap") +
              File.separatorChar + "text.txt";
           FileReader fin = new FileReader(inputFileName);
           char c[] = new char[(char)inputFileName.length()];
           fin.read(c);
           String s = new String(c);
           out.println("<P><STRONG>Text from file:</STRONG>");
           out.println(s);
           fin.close();
        } catch(java.io.IOException e) {
            System.out.println("Cannot access text.txt");
        }
        out.println("<P>Return to <A HREF=../simpleHTML.html>Form</A>");
        out.close();
   }
}

 mezzo il get ol post non funge nulla
Il doGet o il doPost ci sono sempre e comunque.
Hai provato a modificare:
 public void doPost(HttpServletRequest request, .....
in 
 public void doGet(HttpServletRequest request, .....
?
-- 
daniele

 ha scritto nel messaggio
news:Xns94BD88ABAAB34o...@130.133.1.4...

[CUT]
ho gia provato ma nulla mi da una sfracca di errori interni del server

type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
java.lang.NullPointerException
	com.mycompany.dbSquadraServlet.doGet(dbSquadraServlet.java:57)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter
.java:305)
note The full stack trace of the root cause is available in the Tomcat logs.
Connecting through shared memory block tomcat_shared_memory_id
Connection established
       Questo è l'errore utilizando il doGet o il service o il doGet e Post

      com.mycompany.dbSquadraServlet.doGet(dbSquadraServlet.java:57)
Cosa centra questo errore con la servlet con la quale hai aperto il thread?
Se non posti il source è difficile che qualcuno possa aiutarti a risolvere 
un NullPointerException :)
-- 
daniele

 ha scritto nel messaggio
news:WPCac.162805$O31.6...@news4.tin.it...

Probabilmente già lo saprai, ma quando fai una modifica su una servlet non
basta ricompilare,
infatti se non hai corretto le impostazioni di default di tomcat, devi
riavviarlo per applicare le modifiche.

 riavviarlo per applicare le modifiche.
 Sto utilizzando il debug con NetBeans , quindi posso far terminare il
processo
e riavviarlo

codice:
package com.mycompany;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.awt.event.*;
import java.util.*;
public class dbSquadraServlet extends HttpServlet  {
     Statement statement=null;
     Connection connection=null;
    String URL="jdbc:odbc:dbSq";
    //procedura di inizializzazione
    public void init(ServletConfig config)
    throws  ServletException
     {
       super.init(config);
       try
         {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          connection=DriverManager.getConnection(URL);//esegue la
connessione al db
         }
         catch(Exception e)
           {  e.printStackTrace();
              connection=null;
                                  }
              }
   public void doPost(HttpServletRequest request, HttpServletResponse
response)
        throws IOException, ServletException
     {
       try
        {   ResultSet resultSet;
            String user,pass;
            user=request.getParameter("txtuserid");
            pass=request.getParameter("txtpassword");
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<body>");
            out.println("<head>");
            out.println("<title>Login</title>");
            out.println("</head>");
            //controllo se l'utente  ha inserito i dati
            if ( user.equals("") || pass.equals("") )
            {
                out.println("<h3>Non hai riempito tutti i campi</h3>");
                out.println("</body>");
                out.println("</html>");
                out.close();
             }
            //controllo se login e pwd corrispondono con quelli della
tabella Account
            else
             {  String ruolo;
                String query="SELECT * FROM Account WHERE Account.User='"+
user +"' AND Account.Password='"+pass+"'";
                statement=connection.createStatement();
                resultSet=statement.executeQuery(query);
                boolean moreRecords=resultSet.next();
                //se l'utente non č registrato avviso di riprovare
                if (!moreRecords)
                {   statement.close();
                    out.println("<h3> "+ user +" : Utente non registato!!
(ricontrolla password e User) </h3>");
                    out.println("</body>");
                    out.println("</html>");
                    out.close();
                 }
                //se l'utente č registrato memorizzo variabili di sessione
                 else{
                        ruolo=resultSet.getString(3);
                        HttpSession session=request.getSession(true);
                        session.putValue("user",user);
                        session.putValue("pass",pass);
                        session.putValue("ruolo",ruolo);
                        statement.close();
                        if(ruolo.equals("su"))
response.sendRedirect("
http://localhost:8080/home.htm
");
                        else
response.sendRedirect("
http://localhost:8080/homesu.htm
");
                      }
                }
          }
        catch(SQLException sqlex)
        {  System.err.println("Problemi di login");
            sqlex.printStackTrace();
        }
    }
}
////////////////////////////////////////////////////////////////////////////
////////////7
XML:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="
http://java.sun.com/xml/ns/j2ee
"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
"
xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
">
  <servlet>
    <servlet-name>dbSquadraServlet</servlet-name>
    <servlet-class>com.mycompany.dbSquadraServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>dbSquadraServlet</servlet-name>
    <url-pattern>/dbSquadraServlet</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>
            30
        </session-timeout>
  </session-config>
  <welcome-file-list>
    <welcome-file>
            index.jsp
        </welcome-file>
    <welcome-file>
            index.html
        </welcome-file>
    <welcome-file>
            index.htm
        </welcome-file>
  </welcome-file-list>
</web-app>
////////////////////////////////////////////////////////////////////////////
/////////////

Prova a cambiare e usa il metodo POST, e vedi che succede