Forum Programmation.java AppletJava; écrire dans un fichier sur le serveur

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
fév.
2007
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  (site web personnel) . Évalué à 1.

  • # Client n'est pas serveur

    Posté par  . Évalué à 2.

    Une applet est exécutée côté client. Donc la machine virtuelle est exécutée côté client. Donc le système de fichiers local pour l'applet est celui de la machine cliente. L'applet ne peut en aucun cas accéder directement aux fichiers du serveur.
    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é.
  • # merci

    Posté par  (site web personnel) . Évalué à 1.

    Merci pour vos réponses.

    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.