Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Imperador Julio Cesar

conexao jsp e mysql

Recommended Posts

pessoal estou fazendo um teste de conexao:

 

String nome = request.getParameter("nome");
String sobrenome = request.getParameter("sobrenome");
Connection con = null;

try {
	Class.forName("com.mysql.jdbc.Driver");
	con = DriverManager.getConnection("jdbc:mysql://localhost:3306/julio", "julio", "teste");
} catch (Exception e) {
	out.println("Problemas ao tentar conectar com o banco de dados");
}
if (con != null) {
	PreparedStatement pstmt = con.prepareStatement("INSERT INTO teste (nome,sobrenome) VALUES (?,?)");
	pstmt.clearParameters();
	pstmt.setString(1, nome);
	pstmt.setString(2, sobrenome);
	pstmt.execute();
}

só q toda vez q rodo está dando erro de conexao, tem algum erro nesse codigo ??

 

é uma pagina jsp...

estou usando netbeans 6.0

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Imperador.

 

O erro está na linha em destaque:

 

PreparedStatement pstmt = con.prepareStatement("INSERT INTO teste (nome,sobrenome) VALUES (?,?)");

pstmt.clearParameters();

pstmt.setString(1, nome);

pstmt.setString(2, sobrenome);

pstmt.execute();

Substitua essa linha por:

 

pstmt.executeUpdate();

Toda vez que voce for executar os comandos de Inserção (Insert), Atualização (Update) e Exclusão (Delete) do SQL no banco, sempre utilize o método executeUpdate. do objeto PrepareStatement

 

Agora para executar a Seleção (Select) do SQL, sempre utilize o método executeQuery também do objeto PrepareStatement.

 

Só uma pergunta.

 

Voce não escreveu esse código dentro de arquivo JSP, escreveu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora eu fiz uma classe de conexão, e só testei se o con está recebendo a conexão, não coloquei nada a mais do q isso, no jsp agora só ta o teste de conexao

 

<%@ page import="java.sql.* "%>

<%@ page import="conexao.Conexao" %>

 

<%

Connection con;

con = conexao.Conexao.connect();

 

if(con != null){

out.println("conectou");

}else{

out.println("não deu certo");

}

 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Imperador Julio Cesar.

 

Pelo menos desta vez voce tentou conectar ?

 

Quando indaguei se voce colocou o seu código dentro de uma arquivo JSP, é que esse padrão não é normalmente utilizado.

 

Quando trabalhamos com aplicações Web, geralmente criamos uma Classe descendente de um HTTPServlet, ou seja, criamos uma Servlet.

 

Mais o que são Servlets ?

 

São classes Java que são instanciadas e executadas em associação com servidores de aplicação Web, estes servidores de aplicação podem ser por exemplo o Apache Tomcat, o IIS (Internet Information Service) da Microsoft e etc., atendendo requisições por meio do protocolo HTTP. Ao serem acionados, os objetos Servlets podem enviar uma resposta na forma de uma página HTML ou qualquer outro conteúdo MIME. As Servlets não possuem interface gráfica e suas instâncias são executadas dentro de um ambiente Java denominado de Container. O Container gerencia as instâncias das Servlets e provê os serviços de rede necessários para as requisições e respostas.

 

Vou te dar um exemplo típico de uma Servlet:

 

package MeuProjeto.*;

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 javax.servlet.*;
import javax.servlet.http.*;

public class CadCliente extends HttpServlet {

   private Connection con;

   public void init(ServletConfig conf) throws ServletException {
		 
		  super.init(conf);

		   try {
				Class.forName("com.mysql.jdbc.Driver");
				con = DriverManager.getConnection("jdbc:mysql://localhost:3306/julio", "julio", "teste");
		   } catch (Exception e) {
				System.out.println("Problemas ao tentar conectar com o banco de dados");
				con = null;
		   }
	}

	protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		  
		  String nome = request.getParameter("nome");
		  String sobrenome = request.getParameter("sobrenome");
 
		  PrintWriter out = response.getWriter();

		  try {
				PreparedStatement pstmt = con.prepareStatement("INSERT INTO teste (nome,sobrenome) VALUES (?,?)");
				pstmt.clearParameters();
				pstmt.setString(1, nome);
				pstmt.setString(2, sobrenome);
				pstmt.executeUpdate();
		   } catch (SQLException erro) {
				out.println("Erro: Problemas ao inserir dados");
				return false;
		   }
		   
		  response.setContentType("text/html;charset=ISO-8859-1");

		  String saida = "<html><head><title>Servlet CadCliente</title></head>";
		  saida += "<body><table border=\"1\"><tr><th>Nome</th>";
		  saida += "<th>Sobrenome</th></tr>";
		  try {
				Statement stmt = con.prepareStatement("Select * from Cliente");
				ResultSet rs = stmt.executeQuery();
				while (rs.next()){
					  saida += "<tr><td>" + rs.getString("nome") + "</td>";
					  saida += "<td>" + rs.getString("sobrenome") + "</td></tr>";
				}
				saida += "</table></body></html>";
				out.println(saida);
		   } catch (SQLException erro) {
				out.println("Erro ao exibir os dados");
		   }
		   out.close(); 
		 }
}

Agora, dentro das páginas JSP, voce vai montar o formulário HTML de cadastro do Cliente, e na propriedade Action do Form, onde geralmente informamos a URL, que direciona os dados do Form para um página no Servidor após um Submit, voce vai digitar o nome da Servlet "CadCliente" desta forma:

 

<html>
  <head>
	   <title>Cadastro de Clientes</title>
  </head>
  <body>
	  <form action="CadCliente" method="post">
		  <table border="0">
			  <tr>
				  <td>
					  <label>Nome</label><br />
					  <input type="text" name="nome" />
				   </td>
				   <td>
					  <label>Sobrenome</label><br />
					  <input type="text" name="sobrenome" />
					</td>
			  </tr>
			  <tr> 
				   <td colspan="2" align="center"><input type="submit" value="enviar" /><td>
			  </tr>
		   </table>
   </body>
</html>

Após cadastrar, quando voce clica no Submit, voce vai enviar os dados para a Servlet CadCliente (Action="CadCliente"), onde lá dentro, além de cadastrar o Cliente, ainda lhe retornará uma página de resposta, é só observar o código dentro da Servlet.

 

Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Galera sou iniciante em java, estou usando JSF no projeto. Vi que o Ed Burns vai estar participando de um evento The Developer's Conference / TDC 2008 TDC e me falaram que ele é o cara do JSF.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.