Java - Problema de código por acceso concurrente - Explicación del problema concreto

 
Vista:

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Newbie83 (37 intervenciones) el 27/01/2015 22:35:33
Tengo un problema grave en el código de un servlet de una aplicación... utilizada por 50 usuarios, mas o menos.

Se trata de un servlet simple con el siguiente aspecto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class servletXXX extends HttpServlet{
 
String codigoSolicitud = “”;
 
    metodo get(){
 
	Aquí se da un valor al código solicitud, que obtenemos de la URL.
	(Evidentemente, cada usuario diferente que se conecte “aportará” un código diferente)
 
         - Lo obtenemos leyendo de la URL:
           codigoSolicitud = request.getParameter(“codigoSolicitud”);
 
          - Lo guardamos para utilizar en el post:
            request.setAttribute(“valorCodigo”, codigo);
     }
 
    metodo post(){
 
	codigoSolicitud = ????;
 
	Aquí se produce el problema. Cuando queremos utilizar el códigoSolicitud, “cargado” con el valor que hemos “seteado” en el get, éste se “machaca” en cuanto otro usuario accede a esta página.
 
     }
 
}


¿Cómo puedo controlar esto? ¿Hay algún fallo importante en la estructura del código?

Agradezco muchísimo la ayuda.

Saludos.
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

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Tom (1831 intervenciones) el 28/01/2015 09:20:21
No entiendo mucho de esto pero ... tampoco entiendo muy bien tu problema.
Copio y pego de la red:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class SimpleHttpServlet extends HttpServlet {
 
  protected void doGet( HttpServletRequest request,
                        HttpServletResponse response)
        throws ServletException, IOException {
 
      doPost(request, response);
  }
 
  protected void doPost( HttpServletRequest request,
                         HttpServletResponse response)
        throws ServletException, IOException {
 
      response.getWriter().write("GET/POST response");
    }
}

Según eso ¿ qué problema tienes para hacer, en doPost()
codigoSolicitud = request.getParameter(“codigoSolicitud”); ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Newbie83 (37 intervenciones) el 28/01/2015 17:47:35
Perdón, se me olvidó explicar algo fundamental.

El jsp asociado a este servlet es un jsp de subida de ficheros, por lo que la encriptación del documento es multipart/form-data. Este tipo de encriptado no me permite, hasta donde yo se, recuperar el codigo de la forma request.getParameter(“codigoSolicitud”);

Muchas gracias por la respuesta y perdon por la omisión de este detalle.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Newbie83 (37 intervenciones) el 29/01/2015 21:48:48
Gracias por la respuesta.
Veo que el requisito para utilizar esa metodología es disponer de la versión 3.0 de Servlet. Me temo que yo de momento no voy a tener opción de actualizarla...
Aparte de esta, conoces alguna otra alternativa??
Muchísimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Pedro (81 intervenciones) el 01/02/2015 18:26:50
A ver si me entero. Lo que quieres es procesar un formulario donde hay campos normales y además subes un archivo, ¿correcto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Newbie83 (37 intervenciones) el 01/02/2015 20:13:00
Realmente no.

Es un formulario únicamente para subida de ficheros. Lo que ocurre es que dicho formulario contiene el nombre de la carpeta donde deseo que se suban los ficheros. Es decir, necesito leer del formulario el nombre de la carpeta para incorporarlo a la ruta de subida. Ahí tengo el problema...

Muchísimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Pedro (81 intervenciones) el 01/02/2015 21:14:30
Ah vale. Entonces es sencillo.

Te descargas estas dos librerías:

http://commons.apache.org/proper/commons-io/
http://commons.apache.org/proper/commons-fileupload/

Y lo haces igual que se haría con la especificación Servlet 3.0 ya que realmente son las mismas librerías solo que en la especificación 2.4 no venían incluidas.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema de código por acceso concurrente - Explicación del problema concreto

Publicado por Newbie83 (37 intervenciones) el 02/02/2015 11:43:52
Estupendo, pues voy a probar!

Muchísimas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar