Mon nouveau projet est capable de générer des documents avec des informations d'une base de données.
Je copie donc le modèle de document à la demande d'un dossier temporaire pour un utilisateur et de le modifier. Je fais cela parce que chaque modèle doit être disponible pendant la modification.
Ensuite, l'utilisateur est attribué avec son document via un lien de téléchargement de My WebApp.
Ma question: Y a-t-il une meilleure pratique pour stocker des données WebApp? Je pensais que Temp serait gentil pour ça. Mais puisque je dois supprimer les données moi-même, je pensais placer à part mon dossier de guerre dans le dossier WebApp Tomcat.
J'utilise Windows 2003 comme système hôte avec Tomcat. J'utilise Grails, Java et Maven pour mon projet ... Je ne sais pas si cette information est nécessaire.
Edit :
La principale raison pour laquelle je demande à cette question triviale est ... Si je prends soin de créer/supprimer mes données temporaires ... Est-ce toujours une bonne pratique d'utiliser le dossier Temp sur le système? Je ne suis pas certain de cela...
Java.io.File
Pour la manipulation, alors que vous stockez uniquement le document de la base de données dans un fichier Temp, démarrez le traitement et lisez-le dans la base de données.Un conteneur Web fournit un attribut de contexte qui pointe vers un répertoire temporaire:
Servlet Spec SRV.3.7.1 Annuaires de travail temporaires
Un répertoire de stockage temporaire est requis pour chaque contexte de servlet. Les conteneurs de servlet doivent fournir un répertoire temporaire privé par contexte de servlet et la rendre disponible via - servleContext.tempdir (javax.servlet.context.tempdir
) Attribut de contexte. Les objets associés à l'attribut doivent être de type java.io.file.
Exemple :
File appTempDir = getServletContext().getAttribute(ServletContext.TEMPDIR);
File tempFile = File.createTempFile("process1", ".txt", appTempDir);
tempFile.deleteOnExit();
try {
...
} finally {
tempFile.delete();
}
Je crois que les fichiers temporaires appartiennent à un dossier temporaire. Dans votre cas, vous supprimez les fichiers vous-même, mais de quoi s'il existe un bogue dans l'opération de suppression de fichier? Ou de quoi s'il y a une fermeture de serveur avant que les fichiers soient supprimés? Si vous écrivez dans un dossier temporaire, vous espérez au moins que les fichiers seront nettoyés ultérieurement (manuellement ou par un processus).
Même lorsqu'une application souhaite stocker des données persistantes (non temporaires), je pense qu'il ne devrait toujours pas être stocké dans le répertoire Tomcat, car ces répertoires ont tendance à être supprimés ou écrasés chaque fois que vous déployez une nouvelle version de votre application (ou même Installez une nouvelle version de Tomcat).
Méthodes utiles:
Java.io.File
.createTempFile
System
.getProperty("Java.io.tmpdir")