Ambiente para desenvolvimento WEB

15 respostas
E

Galera, boa tarde.
Seguinte, sou iniciante no java, só o estou vendo a 2 meses mas com coisas básicas na faculdade, até agora só nos ensinaram a fazer classes.
Acontece que, apareceu um projeto para fazermos, como se fosse um mini TCC e, teremos que conectar o java (JSP) com Oracle Express.
Isso foi anunciado ontem e, tenho mais ou menos 2 semanas e meia para a entrega.
Gostaria de saber de vocês, que já são experientes o que me falta para rodar em minha máquina.

Hoje, estou com eclipse e netbeans instalado, em ambos segui tutoriais da net mas, nenhum rodou, todos dão exception do driver do oracle.
Já coloquei o classpath e, sinceramente, não sei mais o que fazer.

Alguém pode fazer um passo a passo sobre o que preciso para meu ambiente ? Não passo a passo da instalação tela a tela mas, de itens como por exemplo:
1o instale isso
2o configure isso
3o instale eclipse ou netbeans, etc.

se possível, se puderem indicar um tutorial que ensina passo a passo a configurar e conectar uma página JSP ao oracle express eu agradeço.

Antecipadamente agradeço a ajuda e disposição.

Edson

15 Respostas

ssh

Cara, tem uma versão do netbeans que já vem com 2 conteiners. o glassfish e o tomcat. eu particularmente prefiro o tomcat.
instala essa versão. que é filé. já vem tudo de jeito.

e em relação a conexão, posta sua classe de conexão. e uma consulta ao banco p/ ver como está

E

Posta o exception para a gente ver como podemos ajudar.

E dá uma olhada nesse link: http://netbeans.org/kb/docs/web/jsf20-support_pt_BR.html

E

NAO INTENDI CARA;;;; como assim…conectar jsp com oracle??

o que vc quer dizer o conecta o java com o oracle né? JSP e paginass java,… crie uma classe java para conexao do banco…e java essa classe no jsp;;;;

coloca ai o que vc fez

E

Bom, instalei o netbeans e o eclipse, baixei o driver do oracle 10g express e, cofigurei o CLASSPATH no windows 7.
Abaixo meu código:

<%@page import=“java.sql.*”%>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

JSP Page <% int IdTeste = 0; String Nome = ""; int Ativo = 0;
Connection conexao;

    Class.forName("oracle.jdbc.driver.OracleDriver");  
    conexao = DriverManager.getConnection("http://localhost:1521/XE","system","oracle2011");  

    Statement stmt = conexao.createStatement();
    ResultSet rs = stmt.executeQuery("select id_teste,nome,ativo from teste order by nome");

    while (rs.next())
        {
        IdTeste = rs.getInt("id_teste");
        Nome = rs.getString("nome");
        Ativo = rs.getInt("ativo");
        }
    %>
    <tr>
        <td><%=IdTeste%></td>
        <td><%=Nome%></td>
        <td><%=Ativo%></td>
    </tr>
    <%
    rs.close();
    stmt.close();
    conexao.close();
    %>
ID NOME ATIVO

Aqui o erro:

type Exception report

message

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

exception

javax.servlet.ServletException: java.sql.SQLException: No suitable driver found for http://localhost:1521/XE
root cause

java.sql.SQLException: No suitable driver found for http://localhost:1521/XE
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.1 logs.

H

Procure por JDBC. Tem uma apostila da caelum (FJ-21) que ensina como se conectar ao BD. Dá pra baixar ela aqui http://www.caelum.com.br/apostilas/
É bem simples de se fazer.

ps.: Não faz a conexão no jsp. Funciona, mas não é bom.

E

Ai que está, nem sei por onde começar e, confesso que já baixei essa apostila e nem assim deu certo.
Não sei mais o que fazer pois, não acho um tutorial a nível iniciante.

E

é que na verdade não é assim uma estrutura legall…
como eu te falei o certo é criar um classe java para fazer esta conexao e chamar a classe no jsp

veja como criar um conexao jdbc

http://www.guj.com.br/articles/7

E

sobre o seu erro, o problema é que não conseguiu saber que driver usar por essa string connection:

conexao = DriverManager.getConnection("http://localhost:1521/XE","system","oracle2011");

troca essa string por:

conexao = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","oracle2011");

Estou considerando que o service id que você quer acessar no oracle é XE.

Não esquece de tratar as exceções que esses métodos podem disparar (circunda com try e catch)

E dá uma olhada na url que passei antes.

E

Putz, cara vc é fera… Valeu mesmo evefuji troquei a string de conexão e rodou…
Só que, não deu erro mas não mostra nada na tela, o código é o mesmo porém na tela só vem isso:

ID NOME ATIVO
0 0

e, na base possui dados

ID_TESTE NOME ATIVO


1 EDSON AMARAL JUNIOR                                         1
     2 ANDREIA FELIPE                                              1
     3 RAFAEL ANTONIO                                              1
E

edsonaj, aí é erro de lógica, presta atenção nessa parte:

while (rs.next()) 
{ 
IdTeste = rs.getInt("id_teste"); 
Nome = rs.getString("nome"); 
Ativo = rs.getInt("ativo"); 
} 
%> 
<tr> 
<td><%=IdTeste%></td> 
<td><%=Nome%></td> 
<td><%=Ativo%></td> 
</tr> 
<% 
rs.close(); 
stmt.close(); 
conexao.close(); 
%>
E

É, tá complicado, eu vi o erro era uma chave q estava no lugar errado, arrumei mas, mesmo assim agora só fica em branco…
caracas, o troço é complicado mesmo

while (rs.next())

{

int IdTeste = rs.getInt(id_teste);

String Nome = rs.getString(nome);

int Ativo = rs.getInt(ativo);

//               }

%>
<tr>
        <td><%=IdTeste%></td>
        <td><%=Nome%></td>
        <td><%=Ativo%></td>
    </tr>
    <%
    }
    rs.close();
    stmt.close();
    conexao.close();
    %>
E

se está ficando em branco, é porque a consulta não está retornando valores. Dá uma verificada nisso.

E

Descobri o erro e tenho uma pergunta.
Estou usando o oracle express, inseri os dados via sqlplus (foi como aprendi na faculdade)
Inseri então 3 registros e, realmente não eram exibidos pela página JSP
Mas, fiz um teste e, inseri pela página um 4o registro e, só ele foi exibido na página.

Mas, quando dou select pelo sqlplus os 4 registros são mostrados…
alguém sabe me explicar o porque disso ?

Valeu

E

o sql plus por padrão não “dá o commit” nas transações. Para você efetivamente gravar os registros para que possam ser lidos por outras sessões, precisa rodar o “commit;” no sql plus depois dos inserts.

E

Valeu a força, ajudou pra kct

Abraços,

Edson

Criado 29 de outubro de 2011
Ultima resposta 29 de out. de 2011
Respostas 15
Participantes 5