Application de gestion à faire pour Java. Projet scolaire pour les applications de base de données basées sur le Web de conférence chez DHBW Karlsruhe.
Ceci est un exemple d'une application Web MVC côté serveur réalisée dans Java. L'application se met en place sur "Jakarta Enterprise Edition" (anciennement "Java Enterprise Edition") et s'exécute donc dans un serveur d'applications spécialement conçu. Toute la logique d'application est implémentée par le serveur, de sorte qu'une page HTML entièrement générée par le serveur est appelée pour chaque modèle URL de l'application et affichée dans le navigateur.
Au cours du développement, nous avons utilisé un serveur Tomee spécialement configuré. La base de données Derby a été utilisée comme base de données. Les deux sont contenus dans nos fichiers téléchargés dans la livraison du projet. L'application utilise Maven comme outil de construction et gestion des packages. De cette façon, les API nécessaires à Jakarta, mais aucune autre dépendance, sont intégrées dans le projet. Le code source de l'application est structuré comme suit:
Les outils de développement suivants sont utilisés:
Dans les classes, juste juste un jugetoit.common.jpa.user et jugetoit.common.ejb.userbean, l'administration utilisateur a été réalisée. L'application gère une table distincte dans la base de données dans laquelle les utilisateurs, les mots de passe et les groupes d'utilisateurs attribués sont enregistrés.
Cependant, l'authentification et l'autorisation sont effectuées par le serveur d'applications, qui doit être configurée en conséquence. Cela signifie que le serveur d'applications doit savoir dans quelles tables les utilisateurs sont enregistrés. Ceci est basé sur les paramètres des /Web Pages/WEB-INF/web.xml .
Il existe les paramètres spécifiques de l'application qui nécessitent des actions que le permet. En fin de compte, la ligne suivante est
<realm-name>justdoit</realm-name>
attribué le royaume. Le domaine n'est qu'un bon terme pour toute base de données avec les utilisateurs, vos mots de passe et vos autorisations.
Dans le Tomee, cela se produit via les lignes suivantes dans le fichier de configuration conf/server.xml : la définition du royaume est effectuée par les lignes suivantes dans les /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>
La connexion de la base de données mentionnée sous dataSourceName doit être définie comme suit dans le fichier 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>
L'exemple est basé sur la base de données d'exemple Derby, qui fait partie de NetBeans.
La livraison par e-mail est implémentée avec l'API Javamail. Une partie des paramètres requis est enregistrée dans un fichier JSON: src/main/resources/mailConfig.json
{
"from": "",
"host": "",
"port": "",
"username": "",
"password": ""
}
from : adresse qui doit être affichée comme l'adresse de l'expéditeur.host : adresse du genre de sortie postal (serveur SMTP)port : port du serveur de sortie (serveur SMTP)username : nom d'utilisateur du compte chez le fournisseur de messageriepassword : mot de passe du compte chez le fournisseur de messagerie Ce projet est sous licence sous Creative Commons Name 4.0 International
© 2018 - 2019 André Göller, Tim Schneider, Ansgar Lichter