Solicitud de gestión de tareas pendientes para Java. Proyecto escolar para las aplicaciones de base de datos basadas en la web en DHBW Karlsruhe.
Este es un ejemplo de una aplicación web MVC del lado del servidor realizada en Java. La aplicación se establece en la "Jakarta Enterprise Edition" (anteriormente "Java Enterprise Edition") y, por lo tanto, se ejecuta en un servidor de aplicaciones especialmente diseñado. El servidor implementa toda la lógica de la aplicación, por lo que se llama a una página HTML generada por el servidor completamente para cada patrón de URL de la aplicación y se muestra en el navegador.
Durante el desarrollo utilizamos un servidor Tomee especialmente configurado. La base de datos de Derby se utilizó como una base de datos. Ambos están contenidos en nuestros archivos que están cargados en la entrega del proyecto. La aplicación utiliza Maven como herramienta de compilación y gestión de paquetes. De esta manera, las API necesarias para Yakarta, pero no más dependencias, se integran en el proyecto. El código fuente de la aplicación está estructurado de la siguiente manera:
Se utilizan las siguientes herramientas de desarrollo:
En las clases justdoit.common.jpa.user y justdoit.common.ejb.userbean, la administración del usuario se realizó. La aplicación administra una tabla separada en la base de datos en la que se guardan los usuarios, contraseñas y grupos de usuarios asignados.
Sin embargo, la autenticación y la autorización son llevadas a cabo por el servidor de aplicaciones, que debe configurarse en consecuencia. Esto significa que el servidor de aplicaciones debe saber en qué tablas se guardan los usuarios. Esto se basa en la configuración en el archivo /Web Pages/WEB-INF/web.xml .
Existen la configuración específica de la aplicación que requieren acciones que requieren los permisos. Al final, la siguiente línea es
<realm-name>justdoit</realm-name>
asignado el reino. Realm es solo un buen término para cualquier base de datos con usuarios, sus contraseñas y permisos.
En el tomoe, esto ocurre a través de las siguientes líneas en el archivo de configuración conf/server.xml : la definición del reino se realiza mediante las siguientes líneas en el archivo /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 conexión de la base de datos mencionada en dataSourceName debe definirse de la siguiente manera en el archivo 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>
El ejemplo se basa en la base de datos de ejemplo de Derby, que forma parte de NetBeans.
El envío de correo electrónico se implementa con la API de Javamail. Parte de la configuración requerida se guarda en un archivo JSON: src/main/resources/mailConfig.json
{
"from": "",
"host": "",
"port": "",
"username": "",
"password": ""
}
from : dirección que debe mostrarse como la dirección del remitente.host : dirección del género de salida postal (servidor SMTP)port : puerto del servidor de salida (servidor SMTP)username : nombre de usuario de la cuenta en el proveedor de correopassword : contraseña de la cuenta en el proveedor de correo Este proyecto tiene licencia bajo Creative Commons Name 4.0 International
© 2018 - 2019 André Göller, Tim Schneider, Ansgar Lichter