Bonjour,
J'ai une applet java (exécutée coté client) qui a besoin d'écrire dans un fichier situé sur le serveur (c'est un tube nommé). J'ai essayé en utilisant la classe FileOutputStream mais j'ai une exception SecurityException (access denied...) à l'ouverture du stream...
Le fichier côté serveur est en 666 et j'ai accès au serveur (s'il y a des modifications à apporter sur la configuration, ou autre...).
Dans un premier temps, est-il possible de faire ce que je souhaite en java ? et si oui, vers quelles classes devrait-je m'orienter ?
Merci.
# instancier un SecurityManager
Posté par Joris Dedieu (site web personnel) . Évalué à 1.
# Client n'est pas serveur
Posté par Sylvain Sauvage . Évalué à 2.
La seule façon pour l'applet d'accéder aux fichiers du serveur est de communiquer via le réseau avec le serveur ; soit en lecture seule, par URL (le cas le plus courant), soit en discutant avec un autre service du même serveur (de toute façon, par défaut, une applet ne peut communiquer qu'avec le serveur depuis lequel elle a été téléchargée).
La solution est donc de passer par un service (web service, cgi, ou autre) offert par le même serveur. Ce service tournera sur le serveur et aura donc directement accès aux ressources du serveur, notamment les fichiers locaux.
Tout est expliqué dans le didacticiel Java et devrait être expliqué dans tout cours sur les applets. Entre parenthèse, c'est quand même le b.a.-ba des applets, du client-serveur, et de la sécurité.
[^] # Re: Client n'est pas serveur
Posté par ben (site web personnel) . Évalué à 1.
http://mailgate.supereva.com/fr/fr.comp.lang.java/msg34159.h(...)
En bonus, si tu veux pouvoir écrire sur le disuqe du client :
http://www.developer.com/java/ent/article.php/3303561
Benjamin
# merci
Posté par Meku (site web personnel) . Évalué à 1.
Il s'agit dans mon cas d'un robot avec un Linux embarqué (projet d'étudiants), qu'on peut contrôler à travers une interface web. On utilise un tube nommé pour la communication apache->appli du robot, et on va avoir une applet java côté client pour un module de reconnaissance de commandes vocales, d'où le besoin d'écrire dans ce tube depuis l'applet...
On va donc sûrement créer un petit serveur UDP pour récupérer les commandes depuis l'applet, ou un système de ce style...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.