繁体   English   中英

Java Applet,关于用户数据

[英]Java Applet, regarding user data

通常,Java applet如何处理用户数据? 以购物网站上的“购物车”为例-用户输入数据后,每次用户访问网站时数据是否都会预先加载? 还是在用户在页面上时检索数据?

我从未见过像购物车这样的小程序,它本来是一种效率低下且不友好的方法。 因此,在某处一定存在巨大的误解。 另外, Java不应真正与JavaScript混淆。

此类信息通常存储在会话中的服务器端内存中。 在PHP中,它存储在$_SESSIONHttpSession中的JSP / Servlet中。 会话又由服务器管理的cookie支持,只要用户在同一浏览器实例中的网页上处于活动状态,该cookie就会存在。 某些网站甚至将其耦合到登录名和数据库,以便可以根据当前登录的用户(又存储在会话中)在数据库中存储信息/从数据库中检索信息。

简而言之:服务器端代码(PHP,Java / JSP / Servlet,C#/。NET / ASP等)仅存储信息本身并在页面中显示信息。

问题尚不清楚,因为您可以通过多种方式将数据存储在网站中。

通常,购物车不是Java Applet,而是仅由Web服务器动态创建的页面。 在这种情况下,大多数信息都直接存储在服务器中 ,并与正常的http请求一起发送和接收。

在谈论Java Applet时,您必须记住它是嵌入到具有自己的虚拟机的网页中的应用程序。 因此,它将数据存储在内存中,并且可以在加载过程中从网页,动态地从javascript以及使用周围打开的真实TCP套接字(用于http或更多低级对象)接收来自网页的参数。

通常,购物车信息由JavaScript处理,而不是由Java Applet处理(至少从我所看到的情况)。 我认为小程序可以做一些有趣的事情。 Java Applet的VM仅在标记在浏览器中有效的情况下才存在,因此Applet必须在页面加载时从服务器收集其数据,然后对其进行任何处理。 如果用户离开,则必须重新开始。

一种替代方法是使用框架集,以使小程序在用户在单独的框架中四处导航时保持活动状态。 由于没有与applet AFAIK通信的好方法,因此必须定期“ ping”服务器以检查购物车的更新。 但是,可以使此请求非常轻巧-可能是applet向服务器发送了会话ID,并且服务器在会话的购物车最后一次更改时做出了响应。 然后,小程序仅在需要时才可以重新请求更新的购物车内容。

通常,禁止小程序存储任何数据客户端站点。

因此,所有数据将不可避免地存储在服务器端。 其余的取决于这种applet的客户端-服务器交互的组织方式,您列出的两种方法都是可行的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM