Author Topic: Problema sesion  (Read 2619 times)

nenuka

  • Guest
Problema sesion
« on: Junio 07, 2007, 01:38:04 am »
Hola!

Tengo en mi aplicacion sesiones para los usuarios, voy invcluyendo en todas las paginas el archivo donde guardo la sesion con:

<%@ include file="sesion.jsp"%>

en el archivo sesion tengo:

<%@ page session="true" %>
<%@ page import="ref.*" %>
<%@ page import="refBD.*" %>
<%@ page import="java.util.Vector" %>

<%
   UsuarioBD usuBD=new UsuarioBD();
   Usuario usu=new Usuario();
   Vector vecTemporal=new Vector();
   String usuario = "";
   int permisos = 0;
   HttpSession sesionOk = request.getSession();
   if (sesionOk.getAttribute("usuario") == null)
   {%>
      <jsp:forward page="frame.jsp">
      <jsp:param name="error" value="Es
      obligatorio identificarse" />
      </jsp:forward>
   <%}
   else
   {
      usuario = (String)sesionOk.getAttribute("usuario");
      usu=usuBD.MostrarUsuario(usuario);
      permisos=usu.getPermisos();
   }%>

Hasta ahora no me habia dado problemas en ningun sitio, pero ahora he agregado una nuevo boton a un formulario que me lleva a una nueva pagina y me da errores, me sale:

Ha tenido lugar un error en la línea: 6 en el archivo jsp: /bonito/sesion.jsp
Error de servlet generado:
C:\Archivos de programa\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\java4try\org\apache\jsp\bonito\agregartemporal_jsp.java:195: usuBD is already defined in _jspService(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
   UsuarioBD usuBD=new UsuarioBD();
                  ^

y asi con todoas las variables que declaro dentro del archivo sesion, alguna idea d xq puede ser? y es que si no lo pongo no me reconoce esas variable, claro, y yo lo que quiero es coger los datos introducidos dentro de vecTemporal

nenuka

  • Guest
Re: Problema sesion
« Reply #1 on: Junio 07, 2007, 01:49:12 am »
Bueno en realidad yo lo que quiero hacer con esto es una especie de "carrito de la compra", es decir yo quiero que el usuario pueda ir eligiendo elementos por las paginas y agregarlas a "algo temporal" y cuando quiera pueda recuperar los datos que ha ido gusardando, yo habia pensado en ir guardando los codigos en el vecTemporal de la sesion , pero es ahi dnd me da el fallo.
Si hay otra manera mejor o mas facil de hacerlo pues admito propuestas, gracias

venkman

  • Jr. Member
  • **
  • Posts: 68
  • Karma: 0
    • View Profile
Re: Problema sesion
« Reply #2 on: Junio 07, 2007, 02:44:56 pm »
El asunto es que no puedes declarar dos veces la misma variable; y que cuando incluyes un jsp, es como si lo estuvieras ejecutando dentro de tu página.

Es decir, que en tu fichero agregartemporal.jsp tendrás algo como esto:

Code: [Select]
...
<%@ include file="sesion.jsp" %>
...
UsuarioBD usuBD=new UsuarioBD();
...


Y esto es como si cogieras el contenido de sesion.jsp y lo pegaras ahí conde pone el include. Así quedaría:

Code: [Select]
...
   <!-- parte incluida: -->
   ...
   UsuarioBD usuBD=new UsuarioBD();
   ...
   <!-- fin de la parte incluida -->
...
UsuarioBD usuBD=new UsuarioBD();
...

Con lo que estás declarando usuDB dos veces.

Si sesion.jsp es el que debe declarar usuDB, luego no lo redeclares en las páginas que lo incluyan.

 

ey