elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda variables JSP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda variables JSP  (Leído 6,350 veces)
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Duda variables JSP
« en: 21 Marzo 2010, 15:46 pm »

Hola a todos, estoy haciendome una web usando el JSP, y he encontrado que a diferencia de mi querido PHP no puedo modificar variables a través de la url al estilo:
index.jsp?secion=1

Simplemente no cambia nada, os muestro el codigo:

Código
  1.  
  2. <head><title>Prueba JSP</title></head>
  3.  
  4. <%! public int secion = 0;%>
  5. <%
  6. out.println("Bienvenido a mi web<br/>");
  7.  
  8. out.println("<b>Pagina de ejemplo JSP</b>");
  9. out.println("<br/>");
  10. switch(secion)
  11. {
  12. case 0:
  13. out.println("Has cojido la uno!");
  14. break;
  15. case 1:
  16. out.println("Has cojido la dos!");
  17. break;
  18. }
  19.  
  20. %>
  21. <br/>
  22. Fecha actual: <%= new java.util.Date() %>
  23.  
  24.  
  25.  
  26. </body>
  27.  
  28. </html>

Tan moderno que es jsp y mira que no se podrá dividir en modulos xD

Saludos


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Duda variables JSP
« Respuesta #1 en: 21 Marzo 2010, 21:50 pm »

xD, aun sigo sin entender. What The Fuck!, que quieres decir con:
... no puedo modificar variables a través de la url al estilo:
index.jsp?secion=1

Supongo que lo que quieres, es recolectar la variable secion, y dependiendo del valor, os muestre un mensaje:
Código
  1. switch(secion)
  2. {
  3. case 0:
  4. out.println("Has cojido la uno!");
  5. break;
  6. case 1:
  7. out.println("Has cojido la dos!");
  8. break;
  9. }


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda variables JSP
« Respuesta #2 en: 21 Marzo 2010, 22:50 pm »

xD, aun sigo sin entender. What The Fuck!, que quieres decir con:
... no puedo modificar variables a través de la url al estilo:
index.jsp?secion=1

Supongo que lo que quieres, es recolectar la variable secion, y dependiendo del valor, os muestre un mensaje:
Código
  1. switch(secion)
  2. {
  3. case 0:
  4. out.println("Has cojido la uno!");
  5. break;
  6. case 1:
  7. out.println("Has cojido la dos!");
  8. break;
  9. }
si pero quiero recolectarla desde la url, nod esde ningun form.

Saludos
En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: Duda variables JSP
« Respuesta #3 en: 22 Marzo 2010, 02:50 am »

Aunque en php se pueda, no es seguro hacerlo, por otro lado utiliza el objeto request para obtener el valor de la variable:

pagina.jsp?dato=1

Código:
String datoUno = request.getParameter("dato");

Pruebalo y me dices.
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda variables JSP
« Respuesta #4 en: 22 Marzo 2010, 18:05 pm »

Aunque en php se pueda, no es seguro hacerlo, por otro lado utiliza el objeto request para obtener el valor de la variable:

pagina.jsp?dato=1

Código:
String datoUno = request.getParameter("dato");

Pruebalo y me dices.
y de donde se supone que lo debo recojer?
Hacer eso es algo tribial, almenos desde mi punto de vista, quiero cambiar el valor de la variable desde la url...


Saludos
« Última modificación: 22 Marzo 2010, 19:08 pm por ..::| D3Bć1 |::. » En línea

admin947

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Duda variables JSP
« Respuesta #5 en: 18 Junio 2010, 01:38 am »

Directamente el parámetro pasado por la URL no puede sobreescribir el valor de la variable (eso sería una catástrofe para la seguridad).
Para conseguir lo que quieres tienes que hacer algo como:
Código:
url = pagina.jsp?p_section=1
Código:
String p_section = request.getParameter("p_section");
public int section = Integer.valueOf(p_section);

switch(section)
{
  case 0:
      out.println("Has cogido la uno!");
      break;
  case 1:
       out.println("Has cogido la dos!");
       break;
}

Ten cuidado con "Integer.valueOf()" porque puede lanzarte una excepción si alguien pone una cadena no convertible a Integer.
Sí, es lo que tiene Java respecto a PHP, hay que hacer conversiones explícitas entre tipos.
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda variables JSP
« Respuesta #6 en: 18 Junio 2010, 19:42 pm »

Directamente el parámetro pasado por la URL no puede sobreescribir el valor de la variable (eso sería una catástrofe para la seguridad).
Para conseguir lo que quieres tienes que hacer algo como:
Código:
url = pagina.jsp?p_section=1
Código:
String p_section = request.getParameter("p_section");
public int section = Integer.valueOf(p_section);

switch(section)
{
  case 0:
      out.println("Has cogido la uno!");
      break;
  case 1:
       out.println("Has cogido la dos!");
       break;
}

Ten cuidado con "Integer.valueOf()" porque puede lanzarte una excepción si alguien pone una cadena no convertible a Integer.
Sí, es lo que tiene Java respecto a PHP, hay que hacer conversiones explícitas entre tipos.
Pero ese mismo handicap puede servirme de sistema de seguridad, pues que yo sepa un XSS no solo consta de valores Integer.
PD: Como esta definido el objeto request?
Saludos
« Última modificación: 18 Junio 2010, 19:45 pm por ..::| D3Bć1 |::. » En línea

admin947

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Duda variables JSP
« Respuesta #7 en: 19 Junio 2010, 04:14 am »

PD: Como esta definido el objeto request?

Podríamos ayudarte mejor si concretases más tus preguntas...

Aquí tienes la especificación del HttpServletRequest:
http://java.sun.com/products/servlet/2.1/api/javax.servlet.http.HttpServletRequest.html

Si con "definido" te refieres al cómo se declara: request se trata de una variable implícita en la petición hecha por el cliente al servidor, así que simplemente "existe".
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda variables JSP
« Respuesta #8 en: 19 Junio 2010, 10:31 am »

PD: Como esta definido el objeto request?

Podríamos ayudarte mejor si concretases más tus preguntas...

Aquí tienes la especificación del HttpServletRequest:
http://java.sun.com/products/servlet/2.1/api/javax.servlet.http.HttpServletRequest.html

Si con "definido" te refieres al cómo se declara: request se trata de una variable implícita en la petición hecha por el cliente al servidor, así que simplemente "existe".
Vale, siento es dudilla tan deslizada, no sabia si en alguna parte de tu codigo habias omitido la declaracion de dicho objeto.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con variables en C#
.NET (C#, VB.NET, ASP)
Jero67 3 2,395 Último mensaje 19 Octubre 2011, 15:18 pm
por Ari Slash
Duda con variables « 1 2 »
Programación C/C++
luistrea 17 5,317 Último mensaje 28 Diciembre 2011, 19:23 pm
por Caster
Duda variables
Programación C/C++
djdac3 1 1,335 Último mensaje 20 Noviembre 2012, 04:27 am
por Ferno
Duda variables estructuradas a POO
PHP
YamiAlx 3 1,845 Último mensaje 5 Enero 2014, 16:47 pm
por YamiAlx
variables privadas, duda!!
Programación C/C++
pablombf 0 1,567 Último mensaje 15 Enero 2018, 03:16 am
por pablombf
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines