Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/08/2008, 00:16
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Respuesta: Para los que ponen sus jsp dentro de /WEB-INF/

Cita:
Iniciado por Bunburyscom Ver Mensaje
Segun la especificacion J2EE dice que NO debemos colocar los archivos de presentacion (jsp, imagenes, etc) dentro de /WEB-INF/ , es decir, no debemos de mezclar la capa de la Vista con el Controlador/Modelo.
La especificación no dice nada de eso. De hecho, en la especificacion JEE ni siquiera se menciona la palabra MVC y solo se hace mencion de WEB-INF para decir que a veces, segun la especificacion de servlets, se colocan librerias .jar en WEB-INF/lib.

Por otro lado, lo de que colocar ficheros JSP e imagenes es mezclar Vista con Controlador/Modelo es algo que no se de donde has sacado, pero como ya menciona Cimballi, no tienen nada que ver. La localizacion física de los ficheros y la separación lógica de tu aplicación en capas son dos cosas diferentes.

Cita:
Iniciado por Bunburyscom Ver Mensaje
Cuando programamos con MVC quiere decir que separamos nuestro sistema en capas, cada una es independiente de la otra, pero..... ¿para que poner nuestra capa de presentacion (Vista) dentro de la capa Controlador-Modelo???, seria como programar en dos capas?? seria como, por ejemplo, no usar Servlets y poner TODO nuestro codigo Java dentro de un JSP.
Como ya se ha dicho, no tiene nada que ver. Desde un punto de vista "físico", la elección es más clara. Lo que no este en WEB-INF se puede llamar desde el navegador. Si tiene sentido poder llamarse directamente desde el navegador, entonces esta fuera de WEB-INF. Si no tiene sentido poder llamar al recurso desde el navegador, no pinta nada fuera de WEB-INF, aunque puede estar si no es por razones de seguridad y realmente no queremos que se pueda hacer.

Es lo mismo que si me dices que poner los ficheros de JavaScript al mismo nivel que las JSP y las HTML es mezclar programacion con vista... no tiene nada que ver, es simplemente organizar físicamente las cosas de una forma o de otra.

Cita:
Iniciado por Bunburyscom
La estructura de directorios, segun la especificacion java, es:
NombreAplicacion/
|_ jsp
|_WEB-INF/
|_ classes
|_ lib
|_ web.xml
De nuevo, la especificación no dice nada sobre donde debes colocar las JSP. Lo que dice es que lo que está dentro de WEB-INF está protegido y no se puede llamar desde fuera. Así que obviamente si pones tus .jsp ahi dentro no las podras llamar si no es a través de un forward interno. La pregunta entonces sería... ¿Si la especificación quiere que pongas las JSP fuera de WEB-INF, por que permite que hagas forwards internos a páginas dentro de WEB-INF? La respuesta es que te deja por que es una cosa deseable que se usa para proteger las JSP de accesos no controlados.


No hay que confundir lo que dice la especificación con "lo que hace mucha gente" o los estandares de facto.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.