Proyecto Maven Multi-Module que simula la red social de criaturas Game of Thrones. El usuario administrativo para cualquier perfil es Tyrion Lannister como el carácter más inteligente.
La demostración puede ser observador en Heroku por Link: Social Network.
Las credenciales de Tyrion Lannister para el inicio de sesión son correo electrónico: [email protected], contraseña: AAA123.
Heroku deshabilita la aplicación si no se usa durante mucho tiempo (más de 2 horas o más). Por lo tanto, puede llevar algún tiempo la inicialización de la aplicación y el inicio.
Este proyecto se basa en JSP y Servlets Technology Stack. El propósito del proyecto era dominar estas tecnologías de Java principales para Web sin ningún marco.
El proyecto tiene 2 perfiles para la compilación: Custom y TomCat, de forma predeterminada se usa personalizado. Dependiendo del perfil elegido, la aplicación utilizaría el grupo de conexión personalizado o el grupo de conexión Tomcat.
Quería entrenar mis habilidades de JDBC y escribir mi grupo de conexión personalizada. MODULE Custom.Connection se usa para esto. IS se activa por defecto o explícitamente eligiendo el perfil "personalizado". Si elija este perfil, entonces todos los datos de Stub se inicializarán con todos los personajes de Juego de Tronos.
Me pareció una buena idea tener algún otro módulo para las pruebas de grupo de conexión Tomcat. El módulo Tomcat.connection se usa por este motivo, puede activarse eligiendo el perfil "Tomcat". Se suponía que era una conexión que debería representar la conexión de producción. Es por eso que este módulo inicializará solo el esquema base de datos y el usuario administrador.
Se utiliza un filtro de autorización para la seguridad de la aplicación web. Verifica la sesión del usuario y realiza diferentes acciones según los datos obtenidos.
Para deshabilitar la posibilidad de secuestro de sesiones y ataques de hombre en los medios, algunas preferencias se escribieron en el archivo web.xml. Un bloque "<Session-Config>" contiene dos líneas "<http-only>" y "<secure>", uno de ellos "<secure>" bloquea el desarrollo local porque requiere una conexión HTTPS. Es la razón por la que se comenta de forma predeterminada, pero se supone que no tiene comentado en el entorno de producción. En realidad, Maven puede empacar un archivo web.xml diferente dependiendo del perfil utilizado, pero no quería hacer esto.
Se deben hacer muchas cosas para hacer que este proyecto listo para una producción real, incluidas las pruebas. Pero mi objetivo era prototipos de proyectos de red social basado en servlets y tecnologías JSP. Hice aquí todo lo que quería usar.
Y ... no tengo tiempo.