Aplicativo de gerenciamento de tarefas para Java. Projeto escolar para os aplicativos de banco de dados baseados na Web de palestras na DHBW Karlsruhe.
Este é um exemplo de um aplicativo Web MVC do lado do servidor realizado em Java. O aplicativo é configurado na "Jakarta Enterprise Edition" (anteriormente "Java Enterprise Edition") e, portanto, é executada em um servidor de aplicativos especialmente projetado. Toda a lógica do aplicativo é implementada pelo servidor, para que uma página HTML totalmente gerada pelo servidor seja chamada para cada padrão de URL do aplicativo e exibida no navegador.
Durante o desenvolvimento, usamos um servidor Tomee especialmente configurado. O banco de dados Derby foi usado como um banco de dados. Ambos estão contidos em nossos arquivos que são enviados para a entrega do projeto. O aplicativo usa o Maven como uma ferramenta de construção e gerenciamento de pacotes. Dessa forma, as APIs necessárias para o Jacarta, mas não há mais dependências, são integradas ao projeto. O código -fonte do aplicativo está estruturado da seguinte forma:
As seguintes ferramentas de desenvolvimento são usadas:
Nas classes justdoit.common.jpa.user e justdoit.common.ejb.userbean, a administração do usuário foi realizada. O aplicativo gerencia uma tabela separada no banco de dados em que os usuários, senhas e grupos de usuários atribuídos são salvos.
No entanto, a autenticação e a autorização são realizadas pelo servidor de aplicativos, que devem ser configuradas de acordo. Isso significa que o servidor de aplicativos deve saber em quais tabelas os usuários estão salvos. Isso é baseado nas configurações nas /Web Pages/WEB-INF/web.xml .
Existem as configurações específicas do aplicativo que requerem ações que são necessárias. No final, a seguinte linha é
<realm-name>justdoit</realm-name>
atribuído o reino. O reino é apenas um bom termo para qualquer banco de dados com usuários, senhas e permissões.
No Tomee, isso acontece através das seguintes linhas no arquivo de configuração conf/server.xml : a definição do reino é feita pelas seguintes linhas nas /Web Pages/META-INF/context.xml :
<Realm
className = "org.apache.catalina.realm.DataSourceRealm"
dataSourceName = "Default-Database-Unmanaged"
userTable = "justdoit.justdoit_user"
userNameCol = "username"
userCredCol = "password_hash"
userRoleTable = "justdoit.user_group"
roleNameCol = "groupname"
>
<CredentialHandler
className = "org.apache.catalina.realm.MessageDigestCredentialHandler"
algorithm = "SHA-256"
/>
</Realm>
A conexão do banco de dados mencionada em dataSourceName deve ser definida como seguinte no arquivo conf/tomee.xml :
<Resource id="Derby-Sample-Managed" type="javax.sql.DataSource">
JdbcDriver = org.apache.derby.jdbc.ClientDriver
JdbcUrl = jdbc:derby://localhost:1527/sample
UserName = app
Password = app
JtaManaged = true
</Resource>
<Resource id="Derby-Sample-Unmanaged" type="javax.sql.DataSource">
JdbcDriver = org.apache.derby.jdbc.ClientDriver
JdbcUrl = jdbc:derby://localhost:1527/sample
UserName = app
Password = app
JtaManaged = false
</Resource>
O exemplo é baseado no banco de dados do Exemplo de Derby, que faz parte do NetBeans.
O envio por email é implementado com a API Javamail. Parte das configurações necessárias é salva em um arquivo JSON: src/main/resources/mailConfig.json
{
"from": "",
"host": "",
"port": "",
"username": "",
"password": ""
}
from : endereço que deve ser exibido como o endereço do remetente.host : Endereço do Gênero de saída postal (servidor SMTP)port : Porta do servidor de saída (servidor SMTP)username : nome de usuário da conta no provedor de correiopassword : senha da conta no provedor de correio Este projeto está licenciado sob o nome do Creative Commons 4.0 Internacional
© 2018 - 2019 André Göller, Tim Schneider, Ansgar Lichter