Partage
  • Partager sur Facebook
  • Partager sur Twitter

Appeler une fonction Java en JavaScript - J2EE

13 avril 2021 à 11:35:19

Bonjour,

Je travaille sur le développement d'un site web et je dois appeler une fonction Java en Javascript.

Cette fonction Java permet de se connecter à une BD pour insérer des données. Je pourrais le faire en Javascript directement mais mon supérieur ne veut pas car en ouvrant le code source de la page on pourrait voir le mot de passe en clair de l'utilisateur lors de la connection à la base de données.

Je sais que c'est impossible d'appeler une fonction Java en JS car Java s'exécute du côté serveur contrairement à JS, mais mon supérieur me dit que non c'est possible lol

Voilà désolée si le sujet a déjà été traité mais cela fait plusieurs jours que je n'arrive pas à avancer et je ne sais pas quoi faire...

Merci d'avance

  • Partager sur Facebook
  • Partager sur Twitter
13 avril 2021 à 15:14:49

Ton code java doit exposer une API, laquelle appellera ta méthode java, et ton code javascript pourra invoquer cette API, le plus courant étant via le protocole http.
  • Partager sur Facebook
  • Partager sur Twitter
13 avril 2021 à 17:44:34

Et privilégier HTTPs pour la sécurité + penser à aujouter une authentification (Basic / OAuth) au niveau de l'API.
  • Partager sur Facebook
  • Partager sur Twitter
16 avril 2021 à 12:20:03

Pour préciser ce qui a été dit, je connais une API JavaScript pour. C'est XMLHttpRequest. Mais tu trouvra je pense beaucoup de tuto en JS/PHP et très peu en JS/Java donc bon courage !:)

-
Edité par VictorCurie-Ismard 16 avril 2021 à 12:23:38

  • Partager sur Facebook
  • Partager sur Twitter
16 avril 2021 à 17:53:14

Après tu peux écrire ton API en

  • JS (avec du node.js côté serveur)
  • Java (en utilisant springboot par exemple)
  • Python
  • C

et j'en passe ! Pour appeler ton API, le code client ne changera pas. C'est le code serveur qui changera en fonction du langage. 

  • Partager sur Facebook
  • Partager sur Twitter
5 octobre 2021 à 10:32:31

Merci pour vos réponses :)
  • Partager sur Facebook
  • Partager sur Twitter