Projeto Multi-Module, da Maven, que simula a rede social de criaturas de Game of Thrones. O usuário administrador de qualquer perfil é Tyrion Lannister como o personagem mais inteligente.
A demonstração pode ser observadora no Heroku por Link: Social Network.
As credenciais de Tyrion Lannister para Login estão email: [email protected], senha: AAA123.
O Heroku desativa a aplicação se não for usada por um longo tempo (mais de 2 horas ou mais). Portanto, pode levar algum tempo para a inicialização do aplicativo e iniciar.
Este projeto é baseado na pilha de tecnologia JSP e Servlets. O objetivo do projeto era dominar essas principais tecnologias Java para Web sem qualquer estrutura.
O projeto possui 2 perfis para construção: Custom e Tomcat, por padrão, o costume é usado. Dependendo do perfil escolhido, o aplicativo usaria pool de conexão personalizado ou pool de conexão Tomcat.
Eu queria treinar minhas habilidades JDBC e escrever meu pool de conexões personalizado. Module Custom.Connection é usado para isso. IS é ativado por padrão ou explicitamente escolhendo o perfil "personalizado". Se escolher esse perfil, todos os dados do Stub serão inicializados com todos os personagens de Game of Thrones.
Pareceu -me uma boa ideia ter outro módulo para testes de pool de conexão Tomcat. Módulo tomcat.Connection é usado por esse motivo, pode ser ativado escolhendo o perfil "tomcat". Era para ser uma conexão que deve representar a conexão de produção. É por isso que este módulo inicializará apenas o esquema de base de dados e o usuário administrador.
Um filtro de autorização é usado para segurança do aplicativo da web. Ele verifica a sessão do usuário e executa ações diferentes, dependendo dos dados obtidos.
Para desativar a possibilidade de seqüestro de sessão e homem nos ataques do meio, algumas preferências foram escritas no arquivo web.xml. Um bloco "<Session-Config>" contém duas linhas "<Http-somLy>" e "<Secure>", uma delas "<secure>" bloqueia o desenvolvimento local porque requer conexão HTTPS. É a razão pela qual é comentado por padrão, mas deveria ser não cumprido no ambiente de produção. Na verdade, o Maven pode embalar o arquivo web.xml diferente, dependendo do perfil usado, mas eu não queria fazer isso.
Muitas coisas devem ser feitas para tornar este projeto pronto para uma produção real, incluindo testes. Mas meu objetivo era prototipar o projeto de rede social com base em servlets e tecnologias JSP. Fiz aqui tudo o que queria usar.
E .... não tenho tempo.