Foros del Web » Programación para mayores de 30 ;) » Java »

Recoger parámetros del contexto

Estas en el tema de Recoger parámetros del contexto en el foro de Java en Foros del Web. En mi aplicación web, guardo un objeto que representa a la base de datos en el contexto mediante un oyente del contexto servlet. lo guardo ...
  #1 (permalink)  
Antiguo 27/12/2005, 10:26
 
Fecha de Ingreso: octubre-2005
Mensajes: 15
Antigüedad: 18 años, 6 meses
Puntos: 0
Recoger parámetros del contexto

En mi aplicación web, guardo un objeto que representa a la base de datos en el contexto mediante un oyente del contexto servlet.
lo guardo tal que asi:

Código:
try {
        LibrosBD LibrosBD = new LibrosBD ();
        servletContext.setAttribute ("BaseDatos", LibrosBD);
    } 
    catch (Exception e)  {
        servletContext.log ("No se pudo crear el atributo BaseDatos: " + e.getMessage());
    }
bien, luego en cada método donde accedo a la base de datos, pongo la siguiente linea:

Código:
BaseDatos bd = (BaseDatos) application.getAttribute ("BaseDatos");
para recuperar el objeto de la base de datos y trabajar con él, pero cuando compilo la clase me dice que la variable application no la encuentra

¿A que es debido? muchas gracias

Saludos
  #2 (permalink)  
Antiguo 27/12/2005, 10:29
 
Fecha de Ingreso: octubre-2005
Mensajes: 15
Antigüedad: 18 años, 6 meses
Puntos: 0
errata

las clases del primer fragmento de código no correponden con el del segundo fragmento de código, en el primero, la clase se llama "LibrosBD" y en el segundo "BaseDatos".

Sorry. Gracias
  #3 (permalink)  
Antiguo 27/12/2005, 13:33
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
¿Acaso la variable application existe en tu codigo?

PD: El error y el por qué está claro, pero lo que hay que hacer es enseñar a la gente a solucionar los errores por si mismos.
  #4 (permalink)  
Antiguo 27/12/2005, 16:54
 
Fecha de Ingreso: octubre-2005
Mensajes: 15
Antigüedad: 18 años, 6 meses
Puntos: 0
la variable application no existe en el código,debe de ser una variable que esta presente en las páginas webs porque puse la citada línea en una página JSP y si que me recoge el parámetro de ServletContext, lo que todavia no he conseguido es que me lo recoja el método de la clase, he intentado con el siguiente código:

Código:
package paquete;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
public class Clase{
	public int metodo (){
		ServletContext context;
		context = super.getServletContext();
		BaseDatos bd = (BaseDatos) context.getAttribute("BaseDatos");
	}
}
pero me dice que no encuentra el método getServletContext

Si me podeis ayudar os lo agradeceria enormemente.

Saludos
  #5 (permalink)  
Antiguo 27/12/2005, 21:33
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Esa clase no es hija de HttpServlet, creo que tienes una gran confusion...

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #6 (permalink)  
Antiguo 28/12/2005, 10:59
 
Fecha de Ingreso: octubre-2005
Mensajes: 15
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo

vale, gracias, ya vere como lo hago porque llevo desde ayer intentando obtener el dichoso parámetro.

Muchas Gracias.

P.D. no te imaginas la confusión que tengo
  #7 (permalink)  
Antiguo 28/12/2005, 14:11
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Lo que pasa esk para poder recoger el contexto de la forma que estas tratando, estas usando un metodo que pertenece a la clase HttpServlet o su padres, es decir, para poder usarlo, primero tu clase debe ser hja de HttpServlet (extenderla) de lo contrario es una clase cualquiera y no un servlet.

Bastara con que agregues esto

extends HttpServlet

a la definicion de tu clase y ya.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:07.