2010-06-11 6 views
2

En général, comment une applet Java manipule-t-elle les données utilisateur? Prenons par exemple les «caddies» sur les sites marchands - après qu'un utilisateur entre les données, les données sont-elles préchargées chaque fois qu'un utilisateur accède à un site Web? Ou les données sont-elles récupérées lorsque l'utilisateur est sur la page?Java Applet, concernant les données utilisateur

Répondre

0

La question n'est pas claire puisque vous pouvez avoir plusieurs façons de stocker des données sur un site Web.

Habituellement, les paniers d'achat ne sont pas des applets Java, mais seulement des pages qui ont été créées dynamiquement par le serveur Web. Dans ce cas, la plupart des informations sont stockées directement dans le serveur , envoyées et reçues avec les requêtes HTTP normales.

Quand on parle de Java Applets vous devez vous rappeler qu'il est une application intégrée dans une page Web qui a sa propre machine virtuelle . Donc, il stocke les données dans la mémoire et il peut recevoir des paramètres de la page Web pendant le chargement, à partir de javascript dynamiquement et en utilisant de vraies sockets TCP ouvertes (pour http ou plus choses de bas niveau).

0

Plus souvent qu'autrement, les informations relatives au panier sont traitées par JavaScript plutôt que par une applet Java (du moins d'après ce que j'ai vu). Mais une applet pourrait faire des choses intéressantes, je pense. La machine virtuelle de l'applet Java n'existe que tant que la balise est active dans le navigateur, de sorte que l'applet doit collecter ses données sur le serveur lorsque la page est chargée, puis faire ce qu'elle fait avec. Si l'utilisateur navigue, il devra recommencer.

Une alternative serait d'utiliser des jeux de cadres afin de maintenir l'applet active pendant que l'utilisateur navigue dans un cadre séparé. Comme il n'y a pas de bonne façon de communiquer avec l'applet AFAIK, il faudrait "pinguer" périodiquement le serveur pour vérifier les mises à jour du panier. Cependant, cette requête peut être assez légère: l'applet envoie peut-être un identifiant de session au serveur et le serveur répond à la dernière modification du panier de la session. Ensuite, l'applet peut re-demander le contenu du panier mis à jour seulement lorsque cela est nécessaire.

1

Je n'ai jamais vu une applet qui fait du shopping comme du matériel, cela aurait été une approche inefficace et conviviale. Donc, il doit y avoir quelque part une énorme idée fausse. En outre, Java ne devrait vraiment pas être confondu avec JavaScript. Ces informations sont généralement stockées dans la mémoire côté serveur dans la session . En PHP, il est stocké dans $_SESSION et dans JSP/Servlet dans HttpSession. La session est à son tour soutenue par un cookie géré par le serveur qui reste actif tant que l'utilisateur est actif sur la page Web dans la même instance de navigateur. Certains sites Web associent même cela à une connexion et à une base de données, de sorte que les informations peuvent être stockées/récupérées dans/depuis la base de données en fonction de l'utilisateur actuellement connecté qui est à son tour stocké dans la session.

Dans un écrou: le code côté serveur (PHP, Java/JSP/Servlet, C#/.NET/ASP, etc.) stocke simplement l'information elle-même et affiche les informations dans la page.

0

En général, il est interdit aux applets de stocker n'importe quel site client de données. Ainsi, toutes les données seraient inévitablement stockées côté serveur. Le reste dépend de la façon dont l'interaction client-serveur est organisée pour une telle applet, les deux approches que vous avez listées sont réalisables.