Java - Problema acceso a Postgree v13

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Problema acceso a Postgree v13

Publicado por fenix (3 intervenciones) el 10/02/2021 19:30:15
Hola compañeros,

Estoy desarrollando un sitio web y tengo el siguiente problema. A la hora de pasar las credenciales de validación de un usuario desde un formulario web. El sevlet recoge correctamente las credenciales, las evalua e intento establecer la conexion con el gestor Db (Postgree v13) para registrarlo. Sin embargo, no consigo ni siquiera establecer la conexión contrael servidor. Para conectarme al servidor SQL lo he intentado hacerde todas las maneras posibles: usando un fichero properties con los datos de conexión, pasar los parametros de validación al servidor directamente por código, etc. Nada, no consigo establecer conexión con la Bd y se cae.

Sin emabrgo, usando el mismo código, si los parametros de validación (username y password) se los paso directamente por código, en vez de a través de un formulario web, la aplicación funciona correctamente. Se establece la conexión contra el servidor, accedo sin problema a la base de datos que quiero y hago consultas, inserto registros, modifico tablas, etc. Sin problema.

Es decir, si paso los parametros desde un formulario web no se realiza ni la conexión contra la Bd, pero si los parametros los envio desde otra clase normal funciona a la perfección. Los parametros vía web los paso usando doPost. La codificación de la página web es UTF-8. El servlet los recibe correctamente e incluso los puedo tratar como cadenas(String) y los devuelvo tranquilamente si quiero a la página jsp. De hecho, los capturo con: String nombre= req.getparameter("username"); En definitiva, es como si hubiera diferencia entre los argumentos que recibo vía web y los argumentos que envio desde otra clase.

Como gestor de Bd uso Postgree v13, aunque también he usado la versión anterior (v12). La códificación de las Bd es también UTF8 y aparentemente funciona correctamente menos cuando el origen de los argumentos que le llegan es vía web. El servidor corre sobre la dirección local localhost:5432 con una configuración estándar

¿Sabéis si hay alguna diferencia entre unos parametros y otros?

Si quereis os paso el código, pero lo he depurado mil veces y siempre es el mismo error. De hecho, lo gracioso es que cuando le paso los parametros vía web, siempre se me cae en la línea: prop.load(new FileInputStream(propertiesFile)) que es cuando estoy intentando capturar las credenciales de acceso al servidor desde un fichero properties. Y si en vez de leer las credenciales de acceso desde un fichero properties lo hago a través de simples cadenas en código, la aplicación se me cae aquí:
con = DriverManager.getConnection(url, usuario, clave); Pero repito, si los parametros se los envio directamente a través de dos simples String, sin problema. Funciona a la perfección. No entiendo nada.

Un saludo y gracias de antemano por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder