Ajuda-servlet

Olá, pessoal. Gostaria da ajuda de vcs para resolver um problemão. Preciso criar uma pagina atraves do netbeans para cadastrar produtos, alterar, listar e excluir. Tenho os códigos e já tentei de td mas sempre há um erro. Postarei alguns aqui… estou usando o sql server, mas tb não consegui indicar o caminho em que ele está… desde já obrigado;

CADASTRO.JAVA

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.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.;
import javax.servlet.http.
;

public class Cadastro extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

  response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    try {

        Class.forName("org.apache.derby.jdbc.ClientDriver");
        Connection cn = DriverManager.getConnection("jdbc:derby://localhost:1527/aula", "fabrizzio", "123");
        Statement st = cn.createStatement();
        
        String query = "INSERT INTO USUARIO (CODIGO, DESCRICAO, PRECO, UNIDADE)";
        query = query + " VALUES(" + request.getParameter("txtCodigo") + ",";
        query = query + "'" + request.getParameter("txtDescricao") + "',";
        query = query + "'" + request.getParameter("txtPreco") + "', ";
        query = query + "'" + request.getParameter("txtUnidade") + "')";
                
        st.execute(query);
        
        st.close();
        cn.close();
        
        response.sendRedirect("index.jsp");
      
    
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(ServletLogin.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
        Logger.getLogger(ServletLogin.class.getName()).log(Level.SEVERE, null, ex);
    } finally { 
        
        out.close();
    }


} 

}


INDEX.JSP

JSP Page

Formul´formulario cadastro

Código:

Descrição:

Preço:

Unidade:



Clique aqui para cadastrar o novo produto.


Listar Produtos

***************************************************************************************************************************

ALTERARPRODUTO.JAVA

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.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.;
import javax.servlet.http.
;

public class AlterarProduto extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {

        Class.forName("org.apache.derby.jdbc.ClientDriver");
        Connection cn = DriverManager.getConnection("jdbc:derby://localhost:1527/aula", "fabrizzio", "123");

        String query = "select * from USUARIO where codigo = " + request.getParameter("codigo");

        Statement st = cn.createStatement();

        ResultSet rs = st.executeQuery(query);

        if (rs.next()) {

            out.println("<html>");
            out.println("<body>");
            out.println("<form action='salvar' method='POST'><br>");
            out.println("Código:<input type='int' name='txtCodigo' value='" + 
                    rs.getString("codigo") + "' size='10' /><br>");
            out.println("Descricao:<input type='text' name='txtDescricao' value='" + 
                    rs.getString("descricao") + "' size='30' /><br>");
            out.println("Preco:<input type='numeric' name='txtPreco' value='" + 
                    rs.getString("preco") + "' size='20' /><br>");
            out.println("Unidade:<input type='txt' name='txtUnidade' value='' size='20' /><br>");
            out.println("<input type='submit' value='Salvar' />");
            out.println("<input type='reset' value='Cancelar' />");
            out.println("</form>");
            out.println("</body>");
            out.println("</html>");
        }

        rs.close();
        st.close();
        cn.close();


    } catch (ClassNotFoundException ex) {
        Logger.getLogger(ServletLogin.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
        Logger.getLogger(ServletLogin.class.getName()).log(Level.SEVERE, null, ex);
    } finally {

        out.close();
    }
}

}

Cara, se você não usar as tags, ninguem forçará a vista para ler seu código.

Abraços

E você não diz qual é o erro.
Muitas das vezes só de ver o erro a gente já mata o problema. É duro ter preparar um ambiente só para rodar esse monte código que você colou ai.

Vou tentar ajudar, não que acho que mereça pela bagunça que estava isso…

O código tava perigoso demais, aprenda desde cedo evitar injeção de SQL.

package aula;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Cadastro extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        // Favor fazer usar Quiboa aqui.
        int codigo       = Integer.parseInt(request.getParameter("txtCodigo"));
        String descricao = request.getParameter("txtDescricao");
        double preco     = Double.parseDouble(request.getParameter("txtPreco"));
        String unidade   = request.getParameter("txtUnidade");
        
        response.setContentType("text/html;charset=UTF-8");

        Connection cn = null;
        PreparedStatement ps = null;
        
        try {

            Class.forName("org.apache.derby.jdbc.ClientDriver");
            cn = DriverManager.getConnection("jdbc:derby://localhost:1527/aula", "fabrizzio", "123");

            StringBuffer query = new StringBuffer();

            query
            .append(" INSERT INTO USUARIO (CODIGO, DESCRICAO, PRECO, UNIDADE)")
            .append(" VALUES (?, ?, ?, ?)");

            ps = cn.prepareStatement(query.toString());

            ps.setInt(1, codigo); //INTEGER
            ps.setString(2, descricao); //TEXT
            ps.setDouble(3, preco); //NUMERIC
            ps.setString(4, unidade); //TEXT

            ps.executeUpdate();

            response.sendRedirect("index.jsp");


        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if (cn != null) {
                try {
                    cn.close();
                }
                catch (SQLException ex) {
                    Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException ex) {
                    Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            
            out.close();
        }
    }
}

Same here.

package aula;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AlterarProduto extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        
        int codigo = Integer.parseInt(request.getParameter("codigo"));

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();

        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        
        try {

            Class.forName("org.apache.derby.jdbc.ClientDriver");
            cn = DriverManager.getConnection("jdbc:derby://localhost:1527/aula", "fabrizzio", "123");

            StringBuffer query = new StringBuffer();
            
            query
            .append(" select codigo, descricao, preco ")
            .append(" from USUARIO ")
            .append(" where codigo = ?");
            
            ps = cn.prepareStatement(query.toString());
                   
            ps.setInt(1, codigo);

            rs = ps.executeQuery();

            if (rs.next()) {

                out.println("<html>");
                out.println("<body>");
                out.println("<form action='salvar' method='POST'><br>");
                out.println("Código:<input type='text' name='txtCodigo' value='" +
                        rs.getInt("codigo") + "' size='10' /><br>");
                out.println("Descricao:<input type='text' name='txtDescricao' value='" +
                        rs.getString("descricao") + "' size='30' /><br>");
                out.println("Preco:<input type='text' name='txtPreco' value='" +
                        rs.getDouble("preco") + "' size='20' /><br>");
                out.println("Unidade:<input type='text' name='txtUnidade' value='' size='20' /><br>");
                out.println("<input type='submit' value='Salvar' />");
                out.println("<input type='reset' value='Cancelar' />");
                out.println("</form>");
                out.println("</body>");
                out.println("</html>");
            }

        } catch (ClassNotFoundException ex) {
            Logger.getLogger(AlterarProduto.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(AlterarProduto.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if (cn != null) {
                try {
                    cn.close();
                }
                catch (SQLException ex) {
                    Logger.getLogger(AlterarProduto.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException ex) {
                    Logger.getLogger(AlterarProduto.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
                
            
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    Logger.getLogger(AlterarProduto.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            
            out.close();
        }
    }
}
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h2>Formulario cadastro</h2>
        <form action="servletcadastro" method="POST">
            Código:<input type="text" name="txtCodigo" value="" size="10" /><br>
            Descrição:<input type="text" name="txtDescrição" value="" size="30" /><br>
            Preço:<input type="text" name="txtPreço" value="" size="20" /><br>
            Unidade:<input type="text" name="txtUnidade" value="" size="20" /><br>
            <input type="submit" value="Cadastro" /><input type="reset" value="Cancelar" />
        </form>
        <a href="http://localhost:8084/aplicacaoweb7/cadastro.html">Clique aqui para cadastrar o novo produto.</a>
        <br>
        <a href="listausuarios">Listar Produtos</a>
    </body>
</html>

O que tenho mais a reclamar era do código do HTML, não recebe como type= “int”, ou “numeric”, esse type não tem nada a ver com o tipo do dado.

Ok, qual é o problema mesmo?