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

    [Servlet] HTTP method POST is not supported by this URL

    ho questa servlet:
    codice:
    package operazioni_database;
    
    import java.io.IOException;
    import java.sql.*;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class Insert extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doPost(request, response);
        }
    
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html");
            String entrate = request.getParameter("txtEntrate".trim());
            String uscite = request.getParameter("txtUscite".trim());
            String causale = request.getParameter("txtCausale".trim());
    //        String data = request.getParameter("data".trim());
            boolean proceed = false;
            try {
                if (entrate != null && uscite != null && causale != null /*&& data != null*/) {
                    if (entrate.length() > 0 && uscite.length() > 0 && causale.length() > 0) {
                        proceed = true;
                        Connection conn = Connessione.getConnection();
                        PreparedStatement ps = null;
                        String sql = "INSERT INTO movimenti(entrate,uscite,causale,data) VALUES(?,?,?,curdate())";
                        ps = conn.prepareStatement(sql);
                        if (proceed) {
                            ps.setString(1, entrate);
                            ps.setString(2, uscite);
                            ps.setString(3, causale);
                            ps.executeUpdate();
                        }
                        RequestDispatcher disp = request.getRequestDispatcher("DoQuery");
                        disp.forward(request, response);
                        ps.close();
                    }
                }
            } catch (ClassNotFoundException ex) {
                ex.getMessage();
            } catch (SQLException ex) {
                ex.getMessage();
            }
        }
    }
    in index.jsp ho il form:
    codice:
    .....
        <form action="Insert" method="post">
            <input type="text" name="txtEntrate" value="100"/>
    
            <input type="text" name="txtUscite" value="0"/>
    
            <input type="text" name="txtCausale" value="jsp 1"/>
    
            <!--<input type="text" name="txtData" />
    -->
            <input type="submit" name="Submit" value="Submit" />
        </form>
    quando do il submit:
    HTTP method POST is not supported by this URL.

    l'errore dipende dal server (tomcat) o da java??

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Credo che dipenda più da qualche configurazione... posta anche il contenuto del file web.xml.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    si penso la stessa cosa.
    eccolo:
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
        <servlet>
            <servlet-name>DoQuery</servlet-name>
            <servlet-class>operazioni_database.DoQuery</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>Insert</servlet-name>
            <servlet-class>operazioni_database.Insert</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>DoQuery</servlet-name>
            <url-pattern>/DoQuery</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>Insert</servlet-name>
            <url-pattern>/Insert</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>DoQuery</welcome-file>
        </welcome-file-list>
    </web-app>

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Sei sicuro di aver rifatto il deploy correttamente dopo aver ricompilato?
    Così, ad occhio, non vedo errori nel codice Java.

    Prova a modificare la JSP in questo modo:

    codice:
        <form action="/NomeApplicazione/Insert" method="post">
            <input type="text" name="txtEntrate" value="100"/>
    
            <input type="text" name="txtUscite" value="0"/>
    
            <input type="text" name="txtCausale" value="jsp 1"/>
    
            <!--<input type="text" name="txtData" />
    -->
            <input type="submit" name="Submit" value="Submit" />
        </form>
    dove NomeApplicazione è il nome della tua WebApp.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    bastava sovrascrivere il doPost nella servlet sulla quale faccio il redirect.
    doPost richiama doGet e nn da errori.

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.