Foros del Web » Programación para mayores de 30 ;) » Java »

Pueden darme un ejemplo de mvc con servlet?

Estas en el tema de Pueden darme un ejemplo de mvc con servlet? en el foro de Java en Foros del Web. Entiendo que la "view" serian los jsp con la presentacion, el "controller" seria un java bean con metodos tipo getNombre() o setNombre(), tambien tendria validaciones ...
  #1 (permalink)  
Antiguo 18/08/2009, 08:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Pueden darme un ejemplo de mvc con servlet?

Entiendo que la "view" serian los jsp con la presentacion, el "controller" seria un java bean con metodos tipo getNombre() o setNombre(), tambien tendria validaciones con los datos que se ingresen en un formulario, creo :S (Estoy bien o equivocado?), pero el "model" no se cual seria su funcion. :S

Por favor podrian darme un ejemplo de mvc con servlet y algo de codigo para entender la diferencia entre controller y model. Realmente estoy confundido con eso y no logre entender como implementarlo
Gracias
  #2 (permalink)  
Antiguo 18/08/2009, 13:09
Avatar de cptanalatriste  
Fecha de Ingreso: octubre-2008
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Pueden darme un ejemplo de mvc con servlet?

A ver:

View: Componentes visuales encargados de construir la interfaz de usuario. Ejm: login.jsp:


<html>
<body>
<form action="/login">
<input type="text" name="user"/>
<input type="text" name="password"/>
</form>
</body>
</html>

Controller: Tienen la tarea de administrar el flujo de formularios y de invocar a los componentes con la lógica de negocio (o sea, de la capa Model). Ejm: LoginServlet.java

class LoginServlet extends HttpServlet{
void doPost(HttpServletRequest request, HttpServletResponse response){
Validador validador = new Validador();
boolean tieneAcceso = validador.validarUsuario(request.getParameter("use r"), request.getParameter("password"));

if (tieneAcceso){
response.sendRedirect("/bienvenido.jsp");
}else{
response.sendRedirect("/error.jsp");
}
}
}

Model: Componentes con acceso a las entidades persistentes y la lógica propia del negocio. Ejm: Validador.java

class Validador{
boolean validarUsuario(String user, String pass){
boolean resultado = false;
//accede a base de datos
//verifica si el usuario existe, y si su contraseña es correcta
return resultado;
}
}

Espero que ahora esté más claro.
__________________
Carlos G. Gavidia
Sun Certified Professional
IBM Certified Solution Designer
http://certified-es.blogspot.com/
  #3 (permalink)  
Antiguo 18/08/2009, 19:23
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Pueden darme un ejemplo de mvc con servlet?

Muchas gracias, ya he quedado claro con el ejemplo, otra consulta si creo la clase class LoginServlet como controller y la clase class Validador como model, esas clases las debo dejar en el directorio WEB-INF/classes?
  #4 (permalink)  
Antiguo 19/08/2009, 02:56
 
Fecha de Ingreso: diciembre-2007
Mensajes: 194
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Pueden darme un ejemplo de mvc con servlet?

Cita:
Iniciado por -thor- Ver Mensaje
Muchas gracias, ya he quedado claro con el ejemplo, otra consulta si creo la clase class LoginServlet como controller y la clase class Validador como model, esas clases las debo dejar en el directorio WEB-INF/classes?
Las clases java van en el src, y los jsp (vistas) en web.
__________________
Aprender J2EE en www.programacionj2ee.com.
Mi framework PHP D Framework.
  #5 (permalink)  
Antiguo 19/08/2009, 08:45
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Pueden darme un ejemplo de mvc con servlet?

Pero en WEB-INF/src van los fuentes? y las classes deberian ir en WEB-INF/classes?
asi estaria bien?
  #6 (permalink)  
Antiguo 19/08/2009, 09:09
 
Fecha de Ingreso: diciembre-2007
Mensajes: 194
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Pueden darme un ejemplo de mvc con servlet?

Cita:
Iniciado por -thor- Ver Mensaje
Pero en WEB-INF/src van los fuentes? y las classes deberian ir en WEB-INF/classes?
asi estaria bien?
Te repito, en src/java, van los paquetes y las clases de java, dentro de web (donde esta WEB-INF que es una carpeta a la que solo se puede acceder a traves de un serlvet, por especificacion de la tecnologia) van las vistas, los css, los js, imagenes, etc...
__________________
Aprender J2EE en www.programacionj2ee.com.
Mi framework PHP D Framework.
  #7 (permalink)  
Antiguo 19/08/2009, 11:56
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Pueden darme un ejemplo de mvc con servlet?

Gracias, ya ha quedado claro. Mi ultima consulta si tengo el directorio "primerservlet" que contiene el directorio "mostrarservlet" y dentro de "mostrarservlet" esta la clase servidor.class, todo eso esta en WEB-INF/classes

como deberia configurar el web.xml para llamar ese servlet desde el navegador?

Código:
<servlet>
		<servlet-name>primerservlet.mostrarservlet</servlet-name>
		<servlet-class>primerservlet.mostrarservlet.servidor</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>primerservlet.mostrarservlet</servlet-name>
		<url-pattern>mensaje</url-pattern>
	</servlet-mapping>
luego en el navegador escribi http://localhost:8080/primerservlet/...ervlet/mensaje

pero me da el error 404
  #8 (permalink)  
Antiguo 20/08/2009, 02:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Pueden darme un ejemplo de mvc con servlet?

Cita:
Iniciado por MiLLeN Ver Mensaje
Te repito, en src/java, van los paquetes y las clases de java, dentro de web (donde esta WEB-INF que es una carpeta a la que solo se puede acceder a traves de un serlvet, por especificacion de la tecnologia) van las vistas, los css, los js, imagenes, etc...
Eummm no . La especificación dice que los .class van en WEB-INF/classes, los .jar en WEB-INF/lib, el web.xml en WEB-INF y todo lo demás te lo organizas como te de la gana, sabiendo que WEB-INF está protegido y no se puede acceder directamente.

La especificación no dice nada de una carpeta "web" y menos aun que tengas que poner tus fuentes en una carpeta src/java. De hecho poner tus fuentes en una aplicación es un riesgo para la seguridad y se recomienda no hacerlo excepto en casos concretos.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:06.