boa tarde pessoal estou iniciando em jstl, por isso estou recorrendo a vcs.
minha duvida e a seguinte:
eu tenho uma package bean e nela uma classe que faz a conexao com o banco de dados, eu quero fazer apenas uma classe com a conexao para em minha paginas.jsp chamar e conectar com o banco de dados.
minha bean
package beans;
import java.sql.*;
import java.util.*;
/**
* @author fernando
*/
public class configuracao {
private static String DRIVER = "org.postgresql.Driver";
private static String URL = "jdbc:postgresql://localhost/site";
private static String USUARIO = "postgres";
private static String SENHA = "postgres2";
private Connection con = null;
ResultSet rs = null;
Statement st = null;
private static configuracao instancia = null;
// construtor
private configuracao(){
inicializa();
}
static synchronized public configuracao getInstancia(){
instancia = new configuracao();
return instancia;
}
public void inicializa(){
try{
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,USUARIO,SENHA);
}catch (Exception e){
System.out.println(e.getMessage());
}
}
public synchronized Connection getConexao(){
return con;
}
public static String getURL(){
return URL;
}
public static String getDRIVER(){
return DRIVER;
}
public static String getUSUARIO(){
return USUARIO;
}
public static String getSENHA(){
return SENHA;
}
}
na minha pagina.jsp estou chamando assim:
<jsp:useBean id="configuracao" class="beans.configuracao"/>
mas esta me retornando o seguinte erro:
org.apache.jasper.JasperException: /index.jsp(30,4) The value for the useBean class attribute beans.configuracao is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227)
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:3272)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
alguém pode me ajudar?
Fala febeckers, seguinte vc importou a classe pra sua pagina?
importei assim:
<%@ page import=""beans.*%>
mas nao funcionou
importa a classe diretamente, e naum o (*) pra ver se funciona
gerdec
Janeiro 25, 2008, 2:10pm
#5
cara posta a página jsp para dar uma olhada pode algum erro lá
<%--
Document : index
Created on : 22/01/2008, 10:20:52
Author : fernando
--%>
<%@page isELIgnored="false" %>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@page import="beans.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<sql:setDataSource var="bd"
driver="org.postgresql.Driver"
url="jdbc:postgresql://localhost/site"
user="postgres"
password="postgres2"
scope="session"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
A:link {COLOR: #FFFFFF; TEXT-DECORATION: none; font-size:12px; font-family:Courier New, Courier, mono; font-weight: bold;}
A:visited {COLOR: #FFFFFF; TEXT-DECORATION: none; font-size:14px; font-family:Courier New, Courier, mono; font-weight: bold;}
</style>
<title>Fernando Becker</title>
</head>
<body background="imgs/fundo_site.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table border="0" cellspacing="0" cellpadding="0" align="center" width="760">
<tr>
<td background="imgs/topo.gif" height="72" valign="bottom">
<table border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td >
<img src="imgs/canto_menu.gif" width="18" height="22">
</td>
<sql:query var="qryEstados" dataSource="${bd}">
select * from MENU order by mn_descricao
</sql:query>
<c:forEach var="menu" items="${qryEstados.rows}">
<td background="imgs/fundo_menu.gif">
<a href="${menu.mn_link}?acao=${menu.mn_acao}" title="${menu.mn_descricao}">${menu.mn_titulo}</a> <font color="#FFFFFF"><strong>|</strong></font><strong> </strong>
</td>
</c:forEach>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<img src="imgs/area-banner.gif" width="760" height="193">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center" background="imgs/fundo_bolinhas.gif" >
<tr>
<td align="center" width="40%">
<font color="#ffffff">
ultima noticia
</font>
</td>
<td align="center" width="40%">
<font color="#ffffff">
ultimo post
</font>
</td>
</tr>
<tr>
<td colspan="2">
<hr width="700" align="center">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<font color="#FFFFFF">
<c:set var="acao" value="${param.acao}"/>
<c:if test="${param.acao == 'paginacao'}">
<c:out value="include de paginacao"/>
</c:if>
<c:if test="${param.acao == 'noticia'}">
<c:out value="include de noticia"/>
</c:if>
<c:if test="${param.acao == 'agenda'}">
<c:out value="include de agenda"/>
</c:if>
<c:if test="${param.acao == 'faleconosco'}">
<c:out value="include de faleconosco"/>
</c:if>
<c:if test="${param.acao == 'principal'}">
<jsp:include page="principal.jsp"/>
</c:if>
<c:if test="${param.acao == 'tutorial'}">
<c:out value="include de tutorial"/>
</c:if>
</font>
<br>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#666666">
</td>
</tr>
</table>
</body>
</html>
ai esta todo o codigo, peço que note que apenas estou importando a package e ja da erro…
dentro da package tem apenas o .class da configuracao
te mais
gerdec
Janeiro 28, 2008, 2:03pm
#8
Amigo no exemplo que tenho aqui não faço a importação de pacotes e funciona uso:
<jsp:useBean id="con" class="form.FormCliente"/>
outra coisa tenta retirar outros parametros da classe e deixar somente atributos e gettes e setters para testar para ver se funciona, pois se não me engano existe uma restrição quanto a uso de outros parametros em javabeans se estiver errado me desculpe apenas tento ajudar
cara na verdade eu estou com problema utilizando JSTl pois usando as tags (<%%>) em jsp puro eu faco tal como esta e funciona.