2014-11-06 112 views
0

我有一个显示在线用户列表的Web应用程序。用户可以从该列表中选择一个其他用户进行连接,从而将其带入新页面。这个新页面将是用户“连接”的地方(使用WebRTC)。对于我的连接方法,我需要两个用户的用户ID。我已经在一个页面中获得了这些ID。我的问题是我需要将这些ID传递到下一页。我想到的一些方法包括:在页面间传递用户数据

  • 包含两个用户的数据库表。然后,我可以通过对REST Web服务的ajax调用或通过支持bean访问。
  • 将变量传递给某种形式的本地存储。
  • 以某种方式将变量传递到URL中。
  • 使用AJAX来改变视图下一个页面视图(整个视图改变?)

但我不知道是否有更好的方法来实现这一目标。知道他们选择哪个用户(通过使用他们的ID)最有效的方法是什么,以便他们可以在下一页内连接?

+0

如果用户ID不敏感的信息,我想将它们作为网址参数。简单,并添加一个“功能”,从而您可以手动输入网址中的ID。 – elzi 2014-11-06 22:07:13

+0

有趣的是,关于大型网络应用程序如何解决这样的问题的任何想法?例如,Facebook。也许,完全不同。我知道他们使用他们的“大管道”方法将信息从后端传输到前端。 – chRyNaN 2014-11-06 22:27:01

+0

使用谷歌环聊查看请求日志时,每次打开聊天窗口时,它都会向客户端处理程序发送一个POST消息,其中包含的标题我想是特定于用户的。尽管如此,在生产中混淆了所有地狱。 – elzi 2014-11-06 22:37:30

回答

0

在URL中传递信息非常容易受到黑客攻击。也许最简单的方法,最强大的是使用豆类

JSP

<html> 
    <head><title>Hello JSP</title></head> 
<body> 
<%! String name, email; %> 

<jsp:useBean id="hello" scope="session" class="greetings.HelloBean" /> 

<jsp:setProperty name="hello" property="name" value='<%= request.getParameter ("name") %>'/> 
<jsp:setProperty name="hello" property="email" value='<%= request.getParameter ("email") %>'/> 

<% 
    name = hello.getName(); 
    email = hello.getEmail(); 
    out.println ("<h3>Hello, your name is " + name); 
    out.println (" and your email address is " + email + ".</h3>"); 
%> 
</body></html> 

public class HelloBean 
{ 
    private String name = ""; 
    private String email = ""; 

    public String getName() {return name;} 
    public String getEmail() {return email;} 

    public void setName (String n) {name = n;} 
    public void setEmail (String e) {email = e;} 
} // HelloBean