Re:BD?Duvida

8 respostas
M

Eu aconselho vc a fazer uma classe específica, pois imagine vc ter 50 páginas usando conexão com o BD e tem-se que fazer uma mudança no IP ai vc teria que entrar nas 50 páginas apenas pra alterar a conexão, agora, tendo uma classe específica vc muda apenas nela !!!

Qual o BD vc está usando ?? se vc quiser te explico como fazer e usar uma conexão simples !!!

8 Respostas

M

bom, após copiar o driver jdbc para o /tomcat/commons/lib vc criará uma classe chamada Conexao.java:

package pacote onde ficará a classe;

import java.sql.*;

public class Conexao {
	   protected Connection conn;
	   protected String mensagem;



	  public void conecta() {
	    try {
	      Class.forName("org.gjt.mm.mysql.Driver").newInstance();
	    }
	    catch (Exception ex) {
	      mensagem = "Driver não carregado!";
	      System.out.println("erro:"+mensagem);
	    }

	    try {
	      conn = DriverManager.getConnection("jdbc:mysql://localhost/comercio","usuario", "senha");
	    }
	    catch (SQLException ex) {
	      mensagem = ex.getMessage();
	      System.out.println("erro:"+mensagem);
	    }
	  }

}

Para usar na sua jsp, se vc estiver fazendo tudo em jsp, vc fará o seguinte:
1 - importar a classe para sua jsp:

<%@page import="seu pacote.Conexao" %>

2 - para criar uma instancia para a conexão:

<%Conexao conexao = new Conexao();%>

3 - usando na prática:

PreparedStatement sql = null;
conexao.conecta();
sql = conexao.conn.prepareStatement("SELECT, INSERT, UPDATE, DELETE");
sql.executeUpdate();
sql.close();

4 - Para não deixar varias conexões em aberto no BD e ocasionar estouro no limite de conexão, vc deverá por no final do seu código o seguinte:

finally {		        
	try{
                       conexao.conn.close();
                       conexao.close();
                 }
                 catch(Exception e){e.printStackTrace();}
}

Uma dúvida agora, vc está desenvolvendo tudo em JSP ou vc está colocando o código .java em separado ??

M

Faça em JSP, pois Applet fica muito pesado ainda mais se o usuário tiver uma máquina ruim !!!

Eu aconselho ainda, caso vc não saiba MVC, vc desenvolver em JSP + JavaBeans.

Segue em anexo uma apostila:

pcalcado

Oi,

Não abra conexão em JSP. JSP serve apenas apra gerar HTML, todo processamento de regras de negócio deve ser feito em classes java normais. O fluxo fica algo como:

Usuário <-> Servlet <-> Classe Java Normal (POJO) <-> Banco de Dados

raikk0n3n

Sou novato!!
Onde eu coloco a conexão de banco de dados no JSP tou usando netbeans!!

Tenho que cirar uma classe?
Tenho q por no codigo da pagina??

Agradeço desde já
!!!

:?: :oops:

raikk0n3n

MySql se for possivel!!!
e gostaria como faça para essa classe se comunicar ao sistema jsp

raikk0n3n

Obrigado…

se for possivel tirar outra duvida

presciso fazer um site extremamente dinamico o q eu posso usar…jsp ou applet

Estilo BB ou sistema da coca-cola

raikk0n3n

Obrigado

raikk0n3n

Que erro!!!

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: /cadastro.jsp(14,0) The value for the useBean class attribute Class_Home is invalid.
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
	org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1223)
	org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
	org.apache.jasper.compiler.Generator.generate(Generator.java:3270)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:189)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.9

Ve esta certo o codigo

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%--
The taglib directive below imports the JSTL library. If you uncomment it,
you must also add the JSTL library to the project. The Add Library... action
on Libraries node in Projects view can be used to add the JSTL 1.1 library.
--%>
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
--%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="Class_Homes" scope="application" class="Class_Home" />
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

    <h1>JSP Page</h1>
    
    <%--
    This example uses JSTL, uncomment the taglib directive above.
    To test, display the page like this: index.jsp?sayHello=true&name=Murphy
    --%>
    <%--
    <c:if test="${param.sayHello}">
        <!-- Let's welcome the user ${param.name} -->
        Hello ${param.name}!
    </c:if>
    --%>
    
    </body>
</html>
Criado 27 de junho de 2006
Ultima resposta 27 de jun. de 2006
Respostas 8
Participantes 3