Oi Pessoal, td bem??
Estou com um probleminha na minha pagina JSP.
Ela faz um acesso ao Banco. E, dependendo da situação, ela traz alguns registros.
Mas quando eu acesso a mesma pagina varias vezes, ela começa a repetir os registros. Mesmo depois de eu ter mudado o registro no BANCO DE DADOS! Se eu nao altero o registro no SGBD ele começa a duplicar, triplicar…cada acesso que eu faço na pagina ele coloca mais um registro…e eu ja coloquei um monte de linhas para nao guardar cache. Alguém tem alguma luz???
Segue o trecho do meu codigo
<html>
<head>
<title>Aniversariantes do Dia</title>
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>
<%@page import="java.text.*"%>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<META HTTP-EQUIV="REFRESH" CONTENT="5">
<%
response.setDateHeader("Expires", -1);
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma", "no-cache");
if (request.getProtocol().equals("HTTP/1.1"))
{
response.setHeader("Cache-Control", "no-store");
}
else
{
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
}
%>
</head>
Desde já eu agradeço
[]´s
[quote=“teteorp”]Oi Pessoal, td bem??
Estou com um probleminha na minha pagina JSP.
Ela faz um acesso ao Banco. E, dependendo da situação, ela traz alguns registros.
Mas quando eu acesso a mesma pagina varias vezes, ela começa a repetir os registros. Mesmo depois de eu ter mudado o registro no BANCO DE DADOS! Se eu nao altero o registro no SGBD ele começa a duplicar, triplicar…cada acesso que eu faço na pagina ele coloca mais um registro…e eu ja coloquei um monte de linhas para nao guardar cache. Alguém tem alguma luz???
Segue o trecho do meu codigo
<html>
<head>
<title>Aniversariantes do Dia</title>
<%@page import="java.util.*"%>
<%@page import="java.sql.*"%>
<%@page import="java.text.*"%>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<META HTTP-EQUIV="REFRESH" CONTENT="5">
<%
response.setDateHeader("Expires", -1);
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma", "no-cache");
if (request.getProtocol().equals("HTTP/1.1"))
{
response.setHeader("Cache-Control", "no-store");
}
else
{
response.setHeader("Cache-Control","no-store"); //HTTP 1.1
}
%>
</head>
Desde já eu agradeço
[]´s[/quote]
Ok, posta o código que você lista os dados do DB pra galera dá uma olhada!

Segue o Codigo:
...
...
<%! private ArrayList relacao = new ArrayList(); %>
<%
Connection con = null;
Statement stmt = null;
try
{
Calendar hoje = Calendar.getInstance();
String filtro = "";
if (hoje.get(hoje.DAY_OF_WEEK) != 2 )
{
filtro = "WHERE C03 = TO_CHAR(SYSDATE,'DD/MM') ";
}
else
{
filtro = "WHERE C03 IN (TO_CHAR(SYSDATE,'DD/MM'),TO_CHAR((SYSDATE-1),'DD/MM'),TO_CHAR((SYSDATE-2),'DD/MM')) ";
}
Class.forName ("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@192.168.1.150:1521:PRD";
con = DriverManager.getConnection(url, "USR", "PSW" );
stmt = con.createStatement();
String query = " SELECT C01,";
query = query + " C02, ";
query = query + " C03";
query = query + " FROM TABLE_C ";
query = query + filtro ;
query = query + " ORDER BY C03, C01";
System.out.println(query);
ResultSet rs = stmt.executeQuery(query);
while (rs.next())
{ ArrayList item = new ArrayList(1);
item.add(rs.getString(1));
item.add(rs.getString(2));
item.add(rs.getString(3));
relacao.add(item);
item = null;
}
con.close();
con = null;
stmt.close();
stmt = null;
}
catch(Exception e)
{
con.close();
con = null;
stmt.close();
stmt = null;
System.out.println("Problemas - Verificar");
e.printStackTrace();
return;
}
%>
<table width="100%" cellpadding="8" >
<%
int i=1;
int tam = relacao.size();
String figura1,figura2,figura3,figura4;
for (i=0; i<tam; ++i)
{ if (i%2!=0)
{
figura1 = "anniv-24.gif";
figura2 = "anniv-28.gif";
figura3 = "ballons-20.gif";
figura4 = "cotillons-03.gif";
}
else
{
figura1 = "cotillons-03.gif";
figura2 = "ballons-20.gif";
figura3 = "anniv-28.gif";
figura4 = "anniv-24.gif";
}
%>
<tr>
<td width="10%" rowspan = "3"><img src="Fotos/<%= (String) (((ArrayList) (relacao.get(i))).get(1)) %>" border="0" align="left" width="150" height="200">
</td>
<td> <img src="Fotos/<%=figura1%>" border="0" align="center"> </td>
<td> <img src="Fotos/<%=figura2%>" border="0" align="center"> </td>
</tr>
<tr>
<td width="10%" COLSPAN=2 >
<font size="4">
<b>
<%= (String) (((ArrayList) (relacao.get(i))).get(0)) %>, faz anivers&aacute;rio no dia <%= (String) (((ArrayList) (relacao.get(i))).get(2)) %>
</b>
</font>
</td>
</tr>
<tr>
<td width="50%"> <img src="Fotos/<%=figura3%>" border="0" align="center"> </td>
<td width="50%"> <img src="Fotos/<%=figura4%>" border="0" align="center"> </td>
</tr>
<%
}
//relacao = null;
%>
</table>
</body>
</html>
O engraçado é quando eu coloquei a linha relacao = null;
Quando eu coloquei esta linha, a pagina aparentemente funcionou. Mas depois de 3 acessos seguidos deu exceção de NullPointer. Quando eu comento começa o lance de duplicação…
Valeu
[]´s
Ae galera.
Já resolvi meu problema. 
O problema era a seguinte linha:
<%! private ArrayList relacao = new ArrayList(); %>
Valeu pela atenção :okok: