¿Cuáles son algunos buenos libros sobre la tecnología JSP / servlet?

Head First Servlets & JSP

Aprenda cómo escribir servlets y JSP, qué hace que un contenedor web funcione (y qué lo marca), cómo usar el lenguaje de expresión de JSP (EL para abreviar) y cómo escribir descriptores de implementación para sus aplicaciones web. Domina la etiqueta c: out y obtén un control de lo que ha cambiado exactamente desde el examen anterior J2EE 1.4. No solo pasa el nuevo examen J2EE 1.5 SCWCD, comprenderá estas cosas y lo pondrá a trabajar de inmediato.

Compre Head First Servlets y JSP Book en línea a precios bajos en India

  1. Introducción y descripción general del Capítulo 1: ¿Por qué usar Servlets y JSP?
    1. Todos quieren un sitio web
    2. ¿Qué hace tu servidor web?
    3. ¿Qué hace un cliente web?
    4. Los clientes y servidores conocen HTML y HTTP
    5. Guía HTML de dos minutos
    6. Lo que escribes … (el HTML)
    7. Lo que crea el navegador …
    8. ¿Qué es el protocolo HTTP?
    9. HTML es parte de la respuesta HTTP
    10. Si esa es la respuesta, ¿qué hay en la solicitud?
    11. GET es una solicitud simple, POST puede enviar datos de usuario
    12. Es verdad … puedes enviar un poco de datos con HTTP GET
    13. Anatomía de una solicitud HTTP GET
    14. Anatomía de una solicitud HTTP POST
    15. Anatomía de una respuesta HTTP, y ¿qué diablos es un “tipo MIME”?
    16. Todas las piezas En una pagina.
    17. URL Hagas lo que hagas, no lo pronuncies “Earl”.
    18. Estructura de directorios para un sitio web simple de Apache
    19. A los servidores web les encanta servir páginas web estáticas
    20. Pero a veces necesitas más que solo el servidor web
    21. Dos cosas que el servidor web solo no hará
    22. El término que no es Java para una aplicación auxiliar de servidor web es el programa “CGI”
    23. Servlets desmitificados (escribir, desplegar, ejecutar)
    24. JSP es lo que sucedió cuando alguien introdujo Java a HTML
  2. Capítulo 2 Descripción general de alto nivel: Arquitectura de la aplicación web
    1. ¿Qué es un contenedor?
    2. ¿Qué pasa si tenía Java, pero no servlets o contenedores?
    3. ¿Qué te da el contenedor?
    4. Cómo maneja el contenedor una solicitud
    5. Cómo se ve en el código (qué hace que un servlet sea un servlet)
    6. Te preguntas cómo el Contenedor encontró el Servlet …
    7. Un servlet puede tener TRES nombres
    8. Uso del descriptor de implementación para asignar URL a servlets
    9. ¡Pero espera! Hay más que puedes hacer con el DD
    10. Historia: Bob construye un sitio de emparejamiento
    11. Él comienza a construir un montón de servlets … uno para cada página
    12. Pero luego se pone feo, por lo que agrega JSP
    13. Pero luego su amigo dice: “ESTÁS usando MVC, ¿verdad?”
    14. El patrón de diseño Modelo-Vista-Controlador (MVC) corrige esto
    15. Aplicando el patrón MVC a la aplicación web de emparejamiento
    16. Pero entonces su amigo Kim echa un vistazo
    17. ¿Hay una respuesta?
    18. Un descriptor de implementación (DD) “en funcionamiento”
    19. Cómo encaja J2EE en todo esto
  3. Capítulo 3 MVC práctico: Tutorial de Mini MVC
    1. Construyamos una aplicación web real (pequeña)
    2. La vista del usuario de la aplicación web: un asesor de cerveza
    3. Aquí está la arquitectura …
    4. Creando su entorno de desarrollo
    5. Crear el entorno de implementación
    6. Nuestra hoja de ruta para construir la aplicación
    7. El HTML para la página de formulario inicial
    8. Implementar y probar la página de inicio
    9. Asignación del nombre lógico a un archivo de clase de servlet
    10. La primera versión del servlet controlador
    11. Compilar, desplegar y probar el servlet del controlador
    12. Construyendo y probando la clase de modelo
    13. Mejorando el servlet para llamar al modelo, para que podamos obtener consejos REALES …
    14. Código de versión dos de servlet
    15. Pasos clave para la versión dos de servlet
    16. Revise la aplicación web de consejos de cerveza MVC parcialmente completada
    17. Cree la “vista” JSP que da el consejo
    18. Mejora del servlet para “llamar” al JSP (versión tres)
    19. Código para la versión de servlet tres
    20. Compila, implementa y prueba la aplicación final.
    21. Todavía hay mucho que aprender.
  4. Capítulo 4 Solicitud y respuesta: ser un servlet
    1. Los servlets son controlados por el contenedor
    2. Pero hay más en la vida de un servlet
    3. Los tres grandes momentos del ciclo de vida
    4. ¡Cada solicitud se ejecuta en un hilo separado!
    5. Al principio: cargando e inicializando
    6. El método de solicitud HTTP determina si se ejecuta doGet () o doPost ()
    7. En realidad, uno o más de los otros métodos HTTP podrían aparecer (brevemente) en el examen …
    8. La diferencia entre GET y POST
    9. No, no se trata solo del tamaño
    10. La historia de la solicitud no idempotente.
    11. POST no es idempotente
    12. ¿Qué determina si el navegador envía una solicitud GET o POST?
    13. ¡POST NO es el predeterminado!
    14. Enviar y usar un solo parámetro
    15. Enviar y usar DOS parámetros
    16. Además de los parámetros, ¿qué más puedo obtener de un objeto Request?
    17. Revisión: ciclo de vida del servlet y API
    18. Revisión: HTTP y HttpServletRequest
    19. Así que esa es la solicitud … ahora veamos la respuesta
    20. Usando la respuesta para E / S
    21. Imagina que quieres enviar un JAR al cliente …
    22. Código de servlet para descargar el JAR
    23. Whoa ¿Cuál es el trato con el tipo de contenido?
    24. Tiene dos opciones de salida: caracteres o bytes.
    25. Puede configurar encabezados de respuesta, puede agregar encabezados de respuesta
    26. Pero a veces simplemente no quieres lidiar con la respuesta tú mismo …
    27. La redirección de servlet hace que el navegador haga el trabajo
    28. Un despacho de solicitud hace el trabajo en el lado del servidor
    29. Redireccionamiento vs. Envío de solicitud
    30. Revisión: HttpServletResponse
    31. Coffee Cram: Mock Exam Chapter 4
    32. Coffee Cram: Capítulo 4 Respuestas
  5. Capítulo 5 Atributos y oyentes: ser una aplicación web
    1. Kim quiere configurar su dirección de correo electrónico en el DD, no codificarlo dentro de la clase de servlet
    2. Parámetros iniciales al rescate
    3. No puede usar los parámetros de inicio del servlet hasta que el servlet se inicialice
    4. Los parámetros de inicio del servlet son de solo lectura UNA VEZ, cuando el Contenedor inicializa el servlet
    5. Probar su ServletConfig
    6. ¿Cómo puede un JSP obtener parámetros de inicio de servlet?
    7. Establecer un atributo de solicitud funciona … pero solo para el JSP al que reenvió la solicitud
    8. Parámetros de inicio de contexto al rescate
    9. Recuerde la diferencia entre los parámetros de inicio de servlet y los parámetros de inicio de contexto
    10. ServletConfig es uno por servlet ServletContext es uno por aplicación web
    11. Entonces, ¿qué más puedes hacer con tu ServletContext?
    12. ¿Qué sucede si desea un parámetro de inicio de la aplicación que sea una base de datos DataSource?
    13. ¿Qué es exactamente un atributo?
    14. Coffee Cram: Mock Exam Chapter 5
    15. Coffee Cram: Capítulo 5 Respuestas
  6. Capítulo 6 Gestión de sesiones: estado conversacional
    1. Kim quiere mantener el estado específico del cliente en múltiples solicitudes
    2. Se supone que funciona como una conversación REAL …
    3. ¿Cómo puede rastrear las respuestas del cliente?
    4. Cómo funcionan las sesiones
    5. Un problema … ¿cómo sabe el contenedor quién es el cliente?
    6. El cliente necesita una ID de sesión única
    7. ¿Cómo intercambian el Cliente y el Contenedor la información de la ID de sesión?
    8. La mejor parte: ¡el Contenedor hace prácticamente todo el trabajo de las cookies!
    9. ¿Qué sucede si quiero saber si la sesión ya existió o si acaba de crearse?
    10. ¿Qué sucede si SOLO quiero una sesión preexistente?
    11. Puedes hacer sesiones incluso si el cliente no acepta cookies, pero tienes que trabajar un poco más …
    12. No te olvides de HttpSessionBindingListener
    13. HttpSessionActivationListener permite que los atributos se preparen para el gran movimiento …
    14. Oyentes relacionados con la sesión
    15. Coffee Cram: Mock Exam Chapter 6
    16. Coffee Cram: Capítulo 6 Respuestas
  7. Capítulo 7 Uso de JSP: ser un JSP
    1. Al final, un JSP es solo un servlet
    2. Hacer un JSP que muestre cuántas veces se ha accedido
    3. Ella lo despliega y lo prueba
    4. El JSP no reconoce la clase Counter
    5. Use la directiva de página para importar paquetes
    6. Pero luego Kim menciona “expresiones”
    7. Las expresiones se convierten en el argumento para un out.print ()
    8. Kim deja caer la bomba final …
    9. Declarando una variable en un scriptlet
    10. ¿Qué pasa REALMENTE con tu código JSP?
    11. Necesitamos otro elemento JSP …
    12. Declaraciones JSP
    13. Es hora de ver el servlet generado REAL
    14. La variable out no es el único objeto implícito …
    15. Un comentario…
    16. API para el servlet generado
    17. Ciclo de vida de un JSP
    18. La traducción y la compilación solo ocurren UNA VEZ
    19. Inicializando su JSP
    20. Atributos en un JSP
    21. Usando PageContext para atributos
    22. Ejemplos que usan pageContext para obtener y establecer atributos
    23. Mientras estamos en el tema … hablemos más sobre las tres directivas
    24. Scriptlets considerados perjudiciales?
    25. No solía haber una alternativa.
    26. EL: la respuesta a, bueno, todo.
    27. Vistazo a EL
    28. Usando
    29. Puedes elegir ignorar EL
    30. Pero espera … todavía hay otro elemento JSP que no hemos visto: acciones
    31. Coffee Cram: Examen de prueba Capítulo 7
    32. Coffee Cram: Capítulo 7 Respuestas
  8. Capítulo 8 JSP sin guión: páginas sin guión
    1. Nuestra aplicación MVC depende de los atributos.
    2. Pero, ¿qué pasa si el atributo no es una Cadena, sino una instancia de Persona?
    3. Necesitamos más código para obtener el nombre de la persona
    4. Person es un JavaBean, por lo que utilizaremos las acciones estándar relacionadas con bean
    5. Deconstruyendo y
    6. ¡ también puede CREAR un bean!
    7. Puede usar
    8. ¡ puede tener un cuerpo!
    9. Servlet generado cuando tiene un cuerpo
    10. ¿Puedes hacer referencias de frijoles polimórficos?
    11. Agregar un atributo de tipo a
    12. Usando tipo sin clase
    13. El atributo de ámbito predeterminado es “página”
    14. Pasando directamente de la solicitud al JSP sin pasar por un servlet …
    15. El atributo param al rescate
    16. Pero espera ! Se pone aún mejor …
    17. Si puedes soportarlo, se pone aún MEJOR …
    18. Las etiquetas de frijol convierten propiedades primitivas automáticamente
    19. Pero, ¿qué pasa si la propiedad es algo más que una cadena o primitiva?
    20. Intentando mostrar la propiedad de la propiedad
    21. Expression Language (EL) salva el día!
    22. Deconstruyendo el lenguaje de expresión JSP (EL)
    23. Uso del operador punto (.) Para acceder a propiedades y valores de mapas
    24. El operador [] es como el punto solo mucho mejor
    25. El [] te da más opciones …
    26. Usar el operador [] con una matriz
    27. Un índice de cadena se convierte en un int para matrices y listas
    28. Para beans y Maps, puede usar cualquier operador
    29. Si NO es un literal de cadena, se evalúa
    30. Puedes usar expresiones anidadas dentro de los corchetes
    31. No puedes hacer $ {foo.1}
    32. EL representa texto sin formato, incluido HTML
    33. Los objetos implícitos EL
    34. Parámetros de solicitud en EL
    35. ¿Qué sucede si desea obtener más información de la solicitud?
    36. RequestScope NO es el objeto de solicitud
    37. Los objetos implícitos de alcance pueden salvarte
    38. Obtener cookies y parámetros de inicio
    39. Imagina que quieres que tu JSP tire dados
    40. Implementar una aplicación con funciones estáticas
    41. Y algunos otros operadores EL …
    42. EL maneja los valores nulos con gracia
    43. Revisión del lenguaje de expresión JSP (EL)
    44. Piezas de plantilla reutilizables
    45. La directiva include
    46. La acción estándar
    47. NO son lo mismo debajo …
    48. La directiva de inclusión ocurre en el tiempo de traducción sucede en tiempo de ejecución
    49. La directiva de inclusión en la primera solicitud
    50. La acción estándar en la primera solicitud
    51. UH oh. Ella está en lo correcto…
    52. La forma en que DEBEMOS haberlo hecho
    53. Personalizar el contenido incluido con
    54. La acción estándar
    55. Un avance condicional …
    56. Cómo funciona …
    57. Con , el búfer se borra ANTES del reenvío
    58. Revisión de acción estándar relacionada con frijoles
    59. La revisión incluye
    60. Coffee Cram: Mock Exam Chapter 8
    61. Coffee Cram: Capítulo 8 Respuestas
  9. Capítulo 9 Uso de JSTL: las etiquetas personalizadas son potentes
    1. EL y las acciones estándar son limitadas
    2. El caso del HTML que desaparece (reimpreso)
    3. Hay una mejor manera: use la etiqueta
    4. Los valores nulos se representan como texto en blanco
    5. Establecer un valor predeterminado con el atributo predeterminado
    6. Looping sin scripting
    7. Deconstruyendo
    8. Incluso puede anidar etiquetas
    9. Hacer una inclusión condicional con
    10. Pero, ¿y si necesitas otro?
    11. La etiqueta no funcionará para esto
    12. La etiqueta y sus socios y
    13. La etiqueta … mucho más genial que
    14. Usando con beans y Maps
    15. Puntos clave y gotchas con
    16. simplemente tiene sentido
    17. Con , ahora hay TRES formas de incluir contenido
    18. puede llegar FUERA de la aplicación web
    19. Personalizando lo que incluyes
    20. Haciendo lo mismo con
    21. para todas sus necesidades de hipervínculos
    22. ¿Qué pasa si la URL necesita codificación?
    23. NO desea que sus clientes vean esto:
    24. Crea tus propias páginas de error
    25. Configurar páginas de error en el DD
    26. Las páginas de error obtienen un objeto adicional: excepción
    27. La etiqueta . Como probar / atrapar … algo así
    28. Puedes hacer que la excepción sea un atributo
    29. ¿Qué sucede si necesita una etiqueta que NO esté en JSTL?
    30. Usar una biblioteca de etiquetas que NO sea de JSTL
    31. Darle sentido al TLD
    32. Uso de la etiqueta personalizada “consejo”
    33. El manejador de etiquetas personalizadas
    34. Presta atención a
    35. NO es solo para expresiones EL
    36. Qué puede estar en un cuerpo de etiqueta
    37. El manejador de etiquetas, el TLD y el JSP
    38. El taglib es solo un nombre, no una ubicación
    39. El contenedor construye un mapa
    40. Cuatro lugares donde el contenedor busca TLD
    41. Cuando un JSP usa más de una biblioteca de etiquetas
    42. Coffee Cram: Examen de prueba Capítulo 9
    43. Coffee Cram: Capítulo 9 Respuestas
  10. Capítulo 10 Desarrollo de etiquetas personalizadas: cuando incluso JSTL no es suficiente …
    1. Incluye e importaciones puede ser desordenado
    2. Archivos de etiqueta: como incluir, solo mejor
    3. ¿Pero cómo se envían los parámetros?
    4. ¡A un archivo de etiqueta, no envía parámetros de solicitud, envía atributos de etiqueta!
    5. ¿No se declaran los atributos de etiqueta en el TLD?
    6. Los archivos de etiquetas usan la directiva de atributos
    7. Cuando un valor de atributo es realmente grande
    8. Declarar contenido corporal para un archivo de etiqueta
    9. Donde el contenedor busca archivos de etiquetas
    10. Cuando necesita más que archivos de etiquetas … A veces necesita Java
    11. Hacer un manejador simple de etiquetas
    12. Una etiqueta simple con un cuerpo
    13. La API de etiqueta simple
    14. La vida de un manejador simple de etiquetas
    15. ¿Qué pasa si el cuerpo de la etiqueta usa una expresión?
    16. Una etiqueta con datos de fila dinámica: iterando el cuerpo
    17. Una etiqueta simple con un atributo
    18. ¿Qué es exactamente un JspFragment?
    19. SkipPageException: deja de procesar la página …
    20. SkipPageException muestra todo hasta el punto de la excepción
    21. Pero, ¿qué sucede cuando se invoca la etiqueta desde una página incluida?
    22. SkipPageException detiene solo la página que invoca directamente la etiqueta
    23. Todavía tiene que saber sobre los manejadores de etiquetas clásicos
    24. API de manejador de etiquetas
    25. Un manejador de etiquetas clásico muy pequeño
    26. Un manejador de etiquetas clásico con DOS métodos
    27. Cuando una etiqueta tiene un cuerpo: comparar Simple vs. Clásico
    28. Las etiquetas clásicas tienen un ciclo de vida diferente
    29. El ciclo de vida clásico depende de los valores de retorno
    30. IterationTag te permite repetir el cuerpo
    31. Valores de retorno predeterminados de TagSupport
    32. OK, seamos realistas …
    33. Nuestra etiqueta dinámica no está completa …
    34. Podríamos agregar más atributos de etiqueta personalizados …
    35. Hijo de más atributos de etiqueta
    36. El regreso del hijo de más atributos de etiqueta
    37. ¡Me estoy cansando de estos atributos de etiqueta!
    38. Nuestro código de manejador de etiquetas usando la interfaz DynamicAttributes
    39. El resto del código del manejador de etiquetas
    40. OK, hay un poco de configuración en el TLD
    41. ¿Qué pasa con los archivos de etiquetas?
    42. ¿Pero qué pasa si USTED necesita acceso al contenido del cuerpo?
    43. Con BodyTag, obtienes dos métodos nuevos
    44. Con BodyTag, puedes amortiguar el cuerpo
    45. ¿Qué pasa si tienes etiquetas que funcionan juntas?
    46. Una etiqueta puede llamar a su etiqueta principal
    47. Descubra cuán profundo es el anidamiento …
    48. Las etiquetas simples pueden tener padres clásicos
    49. Puedes subir, pero no puedes bajar …
    50. Obteniendo información del niño al padre
    51. Menú y manejadores de etiquetas MenuItem
    52. Conseguir un antepasado arbitrario
    53. Uso de la API PageContext para manejadores de etiquetas
    54. Coffee Cram: Mock Exam Chapter 10
    55. Coffee Cram: Capítulo 10 Respuestas
  11. Capítulo 11 Implementación de aplicaciones web: Implementación de su aplicación web
    1. La alegría del despliegue
    2. ¿Qué ocurre en una aplicación web?
    3. Archivos WAR
    4. Aspecto de un archivo WAR desplegado
    5. Hacer que el contenido estático y los JSP sean directamente accesibles
    6. Cómo funciona REALMENTE la asignación de servlets
    7. Las asignaciones de servlet pueden ser “falsas”
    8. Problemas sutiles …
    9. Configurar archivos de bienvenida en el DD
    10. Cómo el contenedor elige un archivo de bienvenida
    11. Configurar páginas de error en el DD
    12. Configurar la inicialización del servlet en el DD
    13. Hacer un JSP compatible con XML: un documento JSP
    14. Memorizar las etiquetas DD relacionadas con EJB
    15. Memorizar la etiqueta DD JNDI
    16. Memorizar la etiqueta DD
    17. Coffee Crem: Mock Exam Chapter 11
    18. Coffee Crem: Capítulo 11 Respuestas
  12. Capítulo 12 Seguridad de la aplicación web: manténgalo en secreto, manténgalo seguro
    1. Los chicos malos están en todas partes
    2. Y no es solo el SERVIDOR el que se lastima …
    3. Los 4 grandes en seguridad de servlet
    4. Una pequeña historia de seguridad
    5. Cómo autenticarse en HTTP World: el comienzo de una transacción segura
    6. Una mirada un poco más cercana a cómo el Contenedor realiza la Autenticación y Autorización
    7. ¿Cómo hizo eso el contenedor?
    8. ¡Mantenga la seguridad fuera del código!
    9. ¿Quién implementa la seguridad en una aplicación web?
    10. Los grandes trabajos en seguridad de servlets
    11. Solo autenticación suficiente para discutir la Autorización
    12. Paso 1 de autorización: definición de roles
    13. Paso 2 de autorización: definición de restricciones de recursos / métodos
    14. Las reglas para los elementos
    15. Reglas exigentes de para subelementos
    16. La forma en que funciona
    17. Cómo interactúan varios elementos
    18. Duelo de elementos
    19. El servlet de recetas de Alice, una historia sobre seguridad programática …
    20. Métodos de personalización: isUserInRole ()
    21. El lado declarativo de la seguridad programática.
    22. Autenticación revisitada
    23. Implementando Autenticación
    24. Autenticación basada en formularios
    25. Resumen de tipos de autenticación
    26. Ella no sabe acerca de la “conexión de capa de transporte protegida” de J2EE
    27. Asegurando datos en tránsito: HTTPS al rescate
    28. Cómo implementar la confidencialidad e integridad de los datos con moderación y declaración
    29. Proteger los datos de la solicitud.
    30. Coffee Cram: Mock Exam Chapter 12
    31. Coffee Cram: Capítulo 12 Respuestas
  13. Capítulo 13 Filtros y envolturas: el poder de los filtros
    1. Mejorando toda la aplicación web
    2. ¿Qué tal algún tipo de “filtro”?
    3. Los filtros son modulares y configurables en el DD
    4. Los filtros de tres formas son como servlets
    5. Crear el filtro de seguimiento de solicitudes
    6. El ciclo de vida de un filtro.
    7. Piense en los filtros como “apilables”
    8. Declarando y ordenando filtros
    9. Flash de noticias: a partir de la versión 2.4, los filtros se pueden aplicar a los despachadores de solicitudes
    10. Compresión de salida con un filtro del lado de respuesta
    11. Arquitectura de un filtro de respuesta.
    12. Pero, ¿es realmente así de simple?
    13. La salida ha salido del edificio.
    14. Podemos implementar nuestra PROPIA respuesta
    15. Envoltorios de roca
    16. Agregar un Contenedor simple al diseño
    17. Agregar un contenedor de flujo de salida
    18. El código de filtro de compresión real
    19. Código de envoltura de compresión
    20. Contenedor de compresión, código de clase auxiliar
    21. Coffee Cram: Mock Exam Chapter 13
    22. Coffee Cram: Capítulo 13 Respuestas
  14. Capítulo 14 Patrones y puntales: patrones de diseño empresarial
    1. El hardware del sitio web puede complicarse
    2. El software de aplicación web puede complicarse
    3. Por suerte para nosotros, tenemos patrones J2EE
    4. Rendimiento (y las “ilidades”)
    5. Alineando nuestros vernáculos …
    6. Más principios de diseño …
    7. Patrones para soportar componentes de modelos remotos
    8. Cómo el equipo de negocios apoya a los diseñadores web cuando los componentes MVC se ejecutan en una JVM
    9. ¿Cómo manejarán los objetos remotos?
    10. RMI hace la vida fácil
    11. Solo un poco más de revisión de RMI
    12. Agregar RMI y JNDI al controlador
    13. ¿Qué tal un objeto “intermedio”?
    14. El “intermediario” es un delegado comercial
    15. Simplifique sus delegados comerciales con el localizador de servicios
    16. Proteger los JSP del diseñador web de la complejidad del modelo remoto
    17. Compare el diagrama del modelo local con este diagrama del modelo remoto
    18. Hay buenas y malas noticias …
    19. ¿Tiempo para un objeto de transferencia?
    20. Patrones de nivel empresarial: revisión rápida
    21. Nuestro primer patrón revisitado … MVC
    22. MVC en una aplicación web real
    23. Mirando el controlador MVC
    24. Mejorando los controladores MVC
    25. Diseñando nuestro controlador de fantasía
    26. ¡Si! Es Struts en pocas palabras
    27. ¿Struts es un contenedor?
    28. ¿Cómo encaja el controlador frontal?
    29. Refactorizando la aplicación Beer para Struts
    30. La arquitectura de la aplicación Struts Beer
    31. Una forma de frijol expuesto
    32. Cómo funciona un objeto de acción
    33. struts-config.xml: uniéndolo todo
    34. Especificando Struts en el DD web.xml
    35. ¡Instala Struts y simplemente ejecútalo!
    36. Crear el entorno de implementación
    37. Revisión de patrones para el SCWCD
    38. Delegado de negocios
    39. Servicio de localización
    40. Transferir objeto
    41. Filtro interceptor
    42. Modelo, Vista, Controlador (MVC)
    43. Controlador frontal
    44. Coffee Cram: Examen simulado Capítulo 14
    45. Coffee Cram: Capítulo 14 Respuestas
  1. Examen final simulado del apéndice: Café Cram
    1. Coffee Cram: examen final de prueba
    2. Coffee Cram: respuestas del examen final

Servlets Java de Murach y JSP
http://www.amazon.com/gp/product

Mira esto. Me encantan los tutoriales en video porque son una excelente manera de ver a los buenos programadores en acción. Buena suerte.

Servlets Java y JSP: primera aplicación web Java en 25 pasos