Fórum Utilizando classes JAVA dentro do JSP #569153

09/04/2009

0

vc tendo as classes compiladas(.class) em mãos, coloque-as na pasta WEB-INF/classes no diretorio de sua aplicação web. *obs. se a classe fizer parte de um package, crie um diretorio com o nome do pacote dentro de classes e jogue as classe dentro do diretorio com o nome identico ao do pacote... Para utilizar uma classe dentro de uma pagina jsp vc inclui o seguinte codigo no cabeçalho do arquivo jsp. <%@page laguage="Java" import="NomeDaClasse ou NomeDoPacote.NomeDaClasse"%> apartir disso vc pode utilizar os recursos da classe dentro da pagina... agora tem o jeito mas comum de fazer, que é utilizando java bean, no topo da pagina incluir <jsp:useBean id="NomeDoBean" scope="session ou page" class="NomeDaClasse ou NomeDoPacote.NomeDaClasse"/> para utilizar os recursos da classe dentro do jsp... basta referenciar o nome do bean . o recurso ( método, variaveis) ex.: <% MeuBean.CadastrarCliente("Thiago", "Campinas", "SP"); %> obs.: SCOPE se igual a SESSION, voce podera compartilhar os mesmos dados entre paginas, bastando apenas declarar o mesmo bean, com mesmo nome e mesmo scope em outra pagina jsp, podendo ler variaveis e executar métodos, caso haja alteração em seu bean em uma pagina, todas as outras paginas que usam o bean verão as alterações... caso use scope PAGE, os dados só terão efeito naquela pagina, e não poderá ser visualizado as alterações em outras paginas que utilizam o mesmo bean... qualque coisa, manda a duvida... abraços...
Thiago

Thiago

Responder

Post mais votado

09/04/2009

[quote="alice5"]Deu certo!!! :idea: Só faltava o try... catch na hora de fazer o loop pelo rs! Muitíssimo obrigada!!! :pray: Se vc não tivesse me ajudado, não sei como seria aqui!!! Valeuuuuuuuuu!!! :evil:
hehe... ok... abraços!

Thiago

Thiago
Responder

Gostei + 1

Mais Posts

09/04/2009

Alice Guimarães

estou fazendo deste jeito: <%@page language="Java" import="NomeDaClasse ou NomeDoPacote.NomeDaClasse"%> Da uma olhada no meu código e ve se tem alguma coisa absurda! é q eu comecei em JSP há dois dias! Antes só programava em Java!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<%@ page language="Java" import="ConexaoBD"%>
<%@ page import="java.sql.*"%>
 
<%String nome, codigo;
 
codigo = request.getParameter("cod_fornecedor");
 
ConexaBD con = new ConexaoBD();
 
String selectFornecedores = "SELECT cod_fornecedor, nome_fantasia FROM cd_fornecedor ORDER BY cod_fornecedor";
 
ResultSet rs = null;
try {
  rs = stmt.executeQuery(selectFornecedores);
} catch ( SQLException sqle ) {
  String msg = "Erro executando query : " + selectFornecedores + " : " +
               sqle.getMessage();
  throw new Exception(msg);
}
 
%>
<html>
<head>
<title>Fornecedores</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="CssLib/estilos.css" rel="stylesheet" type="text/css">
 
<script language=javascript>
<!--
function voltar(codigo, nome)
{
    window.close();
    window.opener.location = "TESTE.jsp?cod_fornecedor=" + codigo + "&nome=" + nome;
}
// -->
</script>
</head>
 
<body>
<table width="400" border="0">
  <tr>
  <td bgcolor="#DFDFDF">
      <div align="center">Cód.</div>
    </td>
    <td colspan="2"  bgcolor="#DFDFDF">
      <div align="center">Fornecedores</div>
    </td>
  </tr>
 
<%
while ( rs.next() ) {
  String codigo = rs.getString("cod_fornecedor");
  String nome = rs.getString("nome_fantasia");
%>
 
  <tr>
        <td width="50" align="center" bgcolor="#EEEEEE"><%= codigo %></td>
        <td bgcolor="#EEEEEE"><%= nome %></td>
        <td><a href="javascript:voltar(<%= codigo %>,'<%= nome %>')" >
            <img border="0" src="ImgLib/lupa_p.GIF"/>
            </a></td>
 </tr>
<%
}
%>
</table>
</body>
</html>
Quando eu tava fazendo a conexao aí dentro, dava certo... agora q eu deixei a conexão no ConexaoBD.class separado, dá erro. Esse é o erro q aparece:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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: Unable to compile class for JSP
 
Generated servlet error:
The import ConexaoBD cannot be resolved
 
An error occurred at line: 4 in the jsp file: /JanelaFornecedores.jsp
Generated servlet error:
ConexaBD cannot be resolved to a type
...
Responder

Gostei + 0

09/04/2009

Thiago

as duas primeiras linhas vc pode transformar em uma! antes: <%@ page language="Java" import="ConexaoBD"%> <%@ page import="java.sql.*"%> depois: <%@page language="Java" import="ConexaoBD" import="java.sql.*"%> agora eu preciso saber a estrutura da sua classe ConexaoDB... e percebi também que vc usou uma variavel do tipo Statement chamada stmt sem declarar... vc precisa declarar a variavel... Statement stmt = null; agora vc precisa instanciar usando uma conexão... stmt = VariavelConnection.createStatement(); acho que no seu caso trocaria VariavelConnection por "conn", mas naum sei, preciso ver sua classe de conexão antes... feito isso... vc pode fazer ResultSet = Statement.rexecuteQuery("SQL"); ou seja... rs = stmt.executeQuery(.....); .. agora vc tem que verificar também se o arquivo ConexaoDB.class está no diretório correto... vc tem que colocar o .class no diretorio da aplicação na pasta WEB-INF/classes/ tenta fazer isso... se naum conseguir... poste a classe java aki no topico, que dou uma olhada... abraços...
Responder

Gostei + 0

09/04/2009

Alice Guimarães

Thiago, primeiramente gostaria de agradecer toda a ajuda que vc está me dando! Sério mesmo... muito obrigada! Agora, voltando ao programa... a minha classe java está certinha, pq é a mesma q eu uso no meu aplicativo desktop! eu alterei umas coisas q estavam erradas antes no código e ele ficou assim: Mas ainda da aquele mesmo erro... o q significa aquele erro??? tem que ter alguma coisa especial instalada no meu pc pra fazer esse acesso à classe???
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<%@page language="Java" import="ConexaoBD" import="java.sql.*"%>
 
<%
 
String nome, codigo;
ResultSet rs = null;
 
ConexaBD con = new ConexaoBD();
 
String selectFornecedores = "SELECT cod_fornecedor, nome_fantasia FROM cd_fornecedor ORDER BY cod_fornecedor";
try {
  rs = con.pesquisa(selectFornecedores);
} catch ( SQLException sqle ) {
  String msg = "Erro executando query : " + selectFornecedores + " : " +
               sqle.getMessage();
  throw new Exception(msg);
}
 
%>
 
<html>
<head>
<title>Fornecedores</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="CssLib/estilos.css" rel="stylesheet" type="text/css">
...
Responder

Gostei + 0

09/04/2009

Alice Guimarães

Deu certo!!! :idea: Só faltava o try... catch na hora de fazer o loop pelo rs! Muitíssimo obrigada!!! :pray: Se vc não tivesse me ajudado, não sei como seria aqui!!! Valeuuuuuuuuu!!! :evil:
Responder

Gostei + 0

09/04/2009

Thiago

você precisa instalar a biblioteca de classes para comunicação com o banco... que banco vc esta usando?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar