我可以更改现有cookie的值吗?

时间:2013-04-27 16:00:05

标签: javascript jsp java-ee cookies

我想使用由cookie创建的Javascript来更改servlet的值。我有情况,其中2 textfields有一个数量&另一个是Price。首先,我推送一个名为BookID&的cookie。值为数量(最初设置为1)。但是如果用户想要更改数量字段,那么我必须修改尊重的cookie值。情况是:

enter image description here

如您所见,每行都有一个保存按钮。当我点击这个按钮时,它应该乘以价格&数量并将结果总计。我无法使用form代码,因为form按钮已存在一个Make Payment代码。像Flipcart,Homeshop18这样的所有网站都会这样做。对我的情况有什么看法?请建议。

<form action="Pay.jsp" method="post">
<tr>
  <td><%= i+1 %></td>
  <td><img src="<%= image %>" width="55" height="73"/></td>
  <td><%= bookName %></td>
  <td><%= price %></td>
  <td><input type="text" name='quantity<%= i+1 %>' class="round" value="<%= qnty %>"/></td>
  <td><input type="text" name='total<%= i+1 %>' class="round" value="<%= totalPrice %>" readonly="readonly"/></td>
  <td>
      <a href="/ChangeCookie" class="table-actions-button ic-save"></a>
      <a href="#" class="table-actions-button ic-table-delete"></a>
  </td>
</tr>
<input type="submit" value="Pay"/>
</form>

/ChangeCookie是一个servlet。使用servlet看起来无法解决这个问题,这就是为什么我要求Javascripts Experts是否有任何进程可以通过cookie更改JavascriptServlet {1}}。如果是,那么请把代码放在这里我将测试它。

1 个答案:

答案 0 :(得分:2)

你的问题不在于实现,而在于它的架构。

在客户端保留用户交互数据不是一个好主意,因为它可以在那里轻松操作,复制或欺骗。

如果我在你的鞋子里,我只会在客户端cookie上存储用户会话ID,并且在服务器端将该会话ID与用户ID匹配,这将指向我保留在服务器上的数据用户状态和交互。

这将增加应用程序的安全性。由于服务器应用程序通常以这种方式流动,因此您可以在没有障碍的情况下无缝地进行编程。

希望这有帮助。