glra,obrigada pela discas,mas não resolveu a questão…então resolvi postar o código completo do exercício.
ah, dei esta solução, q tbm não foi aceita ![:frowning: :frowning:](https://www.guj.com.br/images/emoji/twitter/frowning.png?v=9)
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
}
infelizmente ainda não resolvi a questão.
pf,pf,pfarvozim…alguem resolve isso p mim.![:slight_smile: :slight_smile:](https://www.guj.com.br/images/emoji/twitter/slight_smile.png?v=9)
a pergunta conforme o questionário:
Pergunta sobre o página produto.jsp.
[b]Apresente uma solução para que na primeira chamada da página produto.jsp (via método GET), os campos dos dados dos produtos apareçam vazios, ou seja, sem exibir zeros e nulls.
[/b]
[code]I-Código fonte da classe Servlet Produto.
package p8;
import java.sql.*;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
//outros imports omitidos desta página
public class ServletProduto extends HttpServlet {
private static final long serialVersionUID = 1L;
//Construtor **************
public ServletProduto() {
}
//DoPOST
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
//vAcao é o NAME do botão SUBMIT na página produto.jsp
String acao = request.getParameter("vAcao");
if (acao.equals("Incluir"))
incluir(request, response);
else
consultar(request, response);
}catch (Exception objEx){
request.setAttribute("objExcecao", objEx);
RequestDispatcher rd = request.getRequestDispatcher("paginaErro.jsp");
rd.forward(request, response);
}
}
private void incluir (HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
//ESCREVER PROCEDIMENTOS PARA INSERT NA TABELA
String strCodigo = request.getParameter("vCodigo");
int codigo = Integer.parseInt(strCodigo);
String descricao = request.getParameter("vDescricao");
String strValor = request.getParameter("vVlrUnit");
float valor = Float.parseFloat(strValor);
String strQtde = request.getParameter("vQtde");
int qtde = Integer.parseInt(strQtde);
//INSTRUÇÃO SQL INSERT - FORMATO JDBC
String sql = "INSERT INTO TBProdutos VALUES (?, ?, ?, ?)";
Connection conexao = FabricaConexao.abreConexaoMySQL();
PreparedStatement comando = conexao.prepareStatement(sql);
comando.setInt(1, codigo);
comando.setString(2, descricao);
comando.setDouble(3, valor);
comando.setInt(4, qtde);
comando.execute();
//PASSA CONTROLE PARA PÁGINA processado.jsp
request.setAttribute("operacao", request.getParameter("vAcao"));
RequestDispatcher rd = request.getRequestDispatcher("processado.jsp");
rd.forward(request, response);
} catch (Exception objEx) {
request.setAttribute("objExcecao", objEx);
RequestDispatcher rd = request.getRequestDispatcher("paginaErro.jsp");
rd.forward(request, response);
}
}
private void consultar (HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
String strCodigo = request.getParameter("vCodigo");
int codProd = Integer.parseInt(strCodigo);
String sql = "SELECT * FROM TBProdutos WHERE Codigo = ?";
Connection conexao = FabricaConexao.abreConexaoMySQL();
PreparedStatement comando = conexao.prepareStatement(sql);
comando.setInt(1, codProd);
//EXECUTA SELECT NA TABELA - executeQuery
ResultSet resultadoSelect = comando.executeQuery();
if (resultadoSelect.next()){ //Se retorno consulta válida
String descProd = resultadoSelect.getString("descricao");
float valorProd = resultadoSelect.getFloat("valorunit");
int qtdeProd = resultadoSelect.getInt("qtde");
ProdutoBean produto =
new ProdutoBean(codProd, descProd, valorProd, qtdeProd);
request.setAttribute("objProd", produto);
RequestDispatcher rd = request.getRequestDispatcher("produto.jsp");
rd.forward(request, response);
}
} catch (Exception objEx) {
request.setAttribute("objExcecao", objEx);
RequestDispatcher rd = request.getRequestDispatcher("paginaErro.jsp");
rd.forward(request, response);
}
}
II- Trecho do Código Fonte da classe FábricaConexao
public class FabricaConexao {
//DADOS PARA CONEXAO AO MYSQL
*/
private static String DRIVER_M = “com.mysql.jdbc.Driver”; //Classe do driver
private static String BANCO_M = “BDLoja”; //Nome do Banco criado
private static String HOST_M = “localhost”; //Servidor BD
private static String STR_CONEXAO_M = “jdbc:mysql://”+HOST_M+
“:3306/” + BANCO_M;
private static String USUARIO_M = “root”; //Usuario do banco
private static String SENHA_M = “root”; //Senha de conexao
public static Connection abreConexaoMySQL() throws SQLException{
try {
Class.forName(DRIVER_M);
Connection con =
DriverManager.getConnection(STR_CONEXAO_M,USUARIO_M,SENHA_M);
return con;
} catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}
}
III-Trecho do Código Fonte da classe ProdutoBean (apenas construtor parametrizado)
public class ProdutoBean { //Item 3
. . .
public ProdutoBean(int codigo, String descricao, float vlrUnit, int qtde) {
super();
this.codigo = codigo;
this.descricao = descricao;
this.vlrUnit = vlrUnit;
this.qtde = qtde;
}
. . .
[/code]