Cita:
Iniciado por GreenEyed 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.
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.
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!
Hola GreenEyed, buen dia.
Muchas gracias por tu opinion y por dar tu punto de vista, que es muy bueno.
Pero la respuesta de la pregunta que hiciste de que porque nos permite hacer un forward interno a paginas jsp que se encuentran dentro de WEB-INF, yo pienso que es porque las clases de la aplicacion tienen acceso a cualquier directorio de nuestra aplicacion, aunque tambien es cierto lo que mencionas, que por seguridad y si uno lo desea puede poner sus jsp en WEB-INF.
Aunque hasta ahorita nadie me ha convencido de poner las jsp dentro de WEB-INF, por eso abri este tema para ver puntos de vista, claro, todos son bienvenidos y sera muy respetable su opinion.
saludos!