Olá galera, nesse topic irei ensinar a vocês a pratica de se conectar uma pagina .JSP ao MySQL e com isso buscar ou inserir dados...
estou me baseando apenas nas aulas de jsp que tenho, então isso não tem Font!
Requisitos:
MySQL 5.0
http://dev.mysql.com/downloads/mysql/5.0.html (http://dev.mysql.com/downloads/mysql/5.0.html)
MySQL-Connector-java.Jar
http://www.2shared.com/file/2556556/93e ... 6-bin.html (http://www.2shared.com/file/2556556/93eefc8a/mysql-connector-java-506-bin.html)
NetBeans ou outra IDE se sua escolha.
http://www.netbeans.info/downloads/index.php (http://www.netbeans.info/downloads/index.php)
no meu caso, estou usando o NetBeans IDE 6.0 Beta 2
- - - - - - - - - - - -- - - --- - - -- - - -- - - - --
Ok, vamos onde interessa!
// Criando o Script SQL e jogando no MySQL!
criei um script sql para usarmos neste exemplo.
abra o NotePade e cole o codigo abaixo:
create database darkers;
use darkers;
create table forum(cod integer auto_increment primary key,
nomeforum varchar(100));
insert into forum(nomeforum) values('Áreas Restritas');
insert into forum(nomeforum) values('Administração Security Darkers');
insert into forum(nomeforum) values('Forum Geral');
insert into forum(nomeforum) values('Segurança & Hacking - Programação');
insert into forum(nomeforum) values('Tecnologia & Informática');
insert into forum(nomeforum) values('Comunicações');
salve-o como darkers.sql em ASCII em c:
// Por não ser todas versões do mysql que utilizam UTF-8, modifiquei aqui para asc
ok, agora vamos para o Terminal de comando MySQL
depois de instalado, basta digitar mysql no Prompt do DOS...
iremos importar nosso script de exemplo
basta digitar, no terminal mySQL:
Source c:\darkers.sql;
(//http://www.niggorex.com/pfiles/421/03.jpg)
com isso, será criado o banco de dados e suas respectivas tabelas..
e pronto! nossa parte no MySQL esta terminada.
// Importando o Driver e Coddando o Source de conexão MySQL
(//http://www.niggorex.com/pfiles/420/02.jpg)
Ok, no NetBeans
primeiramente iremos importar o Driver.jar para a IDE
(//http://www.niggorex.com/pfiles/422/05.jpg)
ache o .jar que baixou em requisitos e é só importar!
Sources .JSP devidamente comentados para o trabalho!
Source: listaForum.jsp
jsp que faz uma busca no banco e retorna os dados. ( o basico em uma conexão )
<%@ page contentType="text/html" %>
<%@ page pageEncoding="UTF-8" %>
<%@ page import="java.sql.*" %>
<!--
Document : listaForum.jsp
Created on : 01/12/2007, 03:00:27
Author : THe Reeves
-->
<%
// Declarando as Variaveis de Conexão.
Connection conexao = null;
Statement declaracao = null;
ResultSet resultados = null;
try
{
// Requisitando o uso do Driver importado no ClassPath
Class.forName("com.mysql.jdbc.Driver");
// Strings de acesso ao MySQL
String urlBanco = "jdbc:mysql://localhost:3306/darkers";
String usuario = "root";
String senha = "root";
String comandoSql = null;
// Abrindo Conexão .
conexao = DriverManager.getConnection(urlBanco, usuario, senha);
// Declarando Acesso.
declaracao = conexao.createStatement();
// Declarando comando SQL.
comandoSql = "SELECT * FROM forum";
// Executando comando SQL.
resultados = declaracao.executeQuery(comandoSql);
}
// Pegando possivel erro de classe não encontrada.
catch(ClassNotFoundException e)
{
System.out.println("Driver não encontrado");
}
// pegando possivel erro de SQL incorreta.
catch(SQLException e)
{
System.out.println("Erro no acesso ao banco de dados.");
}
%>
<html>
<head>
<title>Categorias do Forum Darkers</title>
</head>
<body>
<% // Verificando se resultado não está vazio.
if (resultados != null) {
// Acesso ao banco de dados foi bem sucedido.
int i = 1;
%>
<table border="1">
<% // abrindo o laço de coleta de dados.
while (resultados.next()) { %>
<tr>
<td><%= i = i++ %></td>
<td><% // Preenchendo a tabela com os dados de nomeforum %>
<%= resultados.getString("nomeforum") %>
</tr>
<% } %>
</table>
<% } else {
// cai aqui, caso o resultado esteja vazio.
%>
<h1>Erro de acesso ao banco de dados!</h1>
<% } %>
<% // Liberando os Recurços!
if (resultados != null)
resultados.close();
if (declaracao != null)
declaracao.close();
if (conexao != null)
conexao.close();
// fim!
%>
</body>
</html>
Source: listaInsereForum.jsp
igual o de cima, mas com um Form de Inserir novas categorias de Sub-Foruns.
<%@ page contentType="text/html" %>
<%@ page pageEncoding="UTF-8" %>
<%@ page import="java.sql.*" %>
<!--
Document : listaInsereForum.jsp
Created on : 01/12/2007, 03:07:27
Author : THe Reeves
-->
<%
// Declarando as Variaveis de Conexão.
Connection conexao = null;
Statement declaracao = null;
ResultSet resultados = null;
String insere = null;
try
{
// Requisitando o uso do Driver importado no ClassPath
Class.forName("com.mysql.jdbc.Driver");
// Strings de acesso ao MySQL e requisição do Form
String urlBanco = "jdbc:mysql://localhost:3306/unilins";
String usuario = "root";
String senha = "Reeves00";
String peganome = request.getParameter("forum");
String comandoSql = null;
// Abrindo Conexão .
conexao = DriverManager.getConnection(urlBanco, usuario, senha);
declaracao = conexao.createStatement();
// Definindo comando de listagem e insersão
comandoSql = "SELECT nomeforum FROM forum ORDER BY nomeforum";
insere = "INSERT INTO forum (nomeforum) VALUES ('" + peganome +"')";
resultados = declaracao.executeQuery(comandoSql);
resultados = declaracao.executeQuery(insere);
}
catch(ClassNotFoundException e)
{
System.out.println("Driver não encontrado");
}
catch(SQLException e)
{
System.out.println("Erro no acesso ao banco de dados.");
}
%>
<html>
<head>
<title>Lista e Insere Forum</title>
</head>
<body>
<%
// Se o Resultado for prenchido, então entra no if
if (resultados != null) {
int i = 1;
%>
<table border="1">
<BR><b><h2>Forum Cadastrados</h2></b>
<tr>
<td><b>Nome do Sub-Forum</b></td>
</tr>
<% while (resultados.next()) { %>
<% i = i++; %>
<tr>
<td><%= resultados.getString("nomeforum") %> </td>
</tr>
<% } %>
</table><BR><BR>
<table border="0">
<form action="trabcursos.jsp" method="post">
<h2>Cadestre um Forum!</h2>
<tr>
<td><b>Nome do Forum</b></td>
<td><input type="text" name="forum">
</td>
</tr><tr>
<td><input type="submit" name="envia" value="Cadastrar!"></td><td><input type="reset" value="Limpar"></td>
</tr>
</form>
</table>
<% } else {%>
<h1>Erro de acesso ao banco de dados!</h1>
<% } %>
<%
if (resultados != null)
resultados.close();
if (declaracao != null)
declaracao.close();
if (conexao != null)
conexao.close();
%>
</body>
</html>
Revisado! ;)
Não consegui ativar pelo prompt, não aconteceu nada, então eu digitei
no próprio MySql Query Browser:
(//http://i2.tinypic.com/6u67xb5.jpg)
Ainda não aprendi jsp por isso não terminei o teste aqui.
Mas deve ser muito bom.
Quote from: "DARK BOMBER"Não consegui ativar pelo prompt, não aconteceu nada, então eu digitei
no próprio MySql Query Browser:
(//http://i2.tinypic.com/6u67xb5.jpg)
Ainda não aprendi jsp por isso não terminei o teste aqui.
Mas deve ser muito bom.
sim sim...
o problema estava na codificação do arquivo..
salve o darkers.sql como ASCII
e tenta novamente

duvidas, veja logo a cima, revisei o codigo
para funcionar em pelo menos quase todas versões do MySQL
Abraços..