gpt4 book ai didi

java - 为什么生成的 key 总是不同,即使生成 key 的字符串在 appengine 中相同?

转载 作者:搜寻专家 更新时间:2023-11-01 03:54:34 25 4
gpt4 key购买 nike

我是 google-app-engine 的新手,在开发测试应用程序的过程中我遇到了一个问题。我正在使用用户的电子邮件 ID 生成 key 来保存用户实体。

Key key = KeyFactory.createKey("email",email );

现在看到数据存储查看器的大部分 key 是相同的,即使我提供相同的电子邮件 ID 来生成 key , key 的最后几个字母也会发生变化。

其实我是希望使用代码通过key获取用户实体

Entity user = datastore.get(key);

但由于 key 与之前的 key 不同,我得到了 noEntityFoundException

我想问的是为什么每次输入相同时生成的 key 都不一样。

另外,如果每次都不同,我如何让它每次都生成相同的 key ,以便我可以直接通过该 key 获取实体?

更多说明:这里是 codeindex.jsp 是欢迎文件。我创建了一个具有电子邮件 ID 的用户,例如:abc@example.com。这会将表单详细信息发送到

com.siolabs.tambola.Createuser.java

Createuser servlet 检查电子邮件 ID 是否存在。如果没有,则将信息保存到数据存储区。

createUser code here

然后为了登录,我在 index.jsp 页面上提交信息。它将请求转发到 com.siolabs.tambola.Login.javaLogin Servlet 检查电子邮件 ID 是否存在,如果存在,则将请求转发到 home.jsp 页面。

login servlet code

问题是 login servlet 在更改时永远找不到 email-id。

谢谢

最佳答案

createKey 函数接受两个字符串。

Key key = KeyFactory.createKey("email",email);

您确定第二个电子邮件参数是字符串吗?很可能是其他类型错误地转换为字符串。

关于java - 为什么生成的 key 总是不同,即使生成 key 的字符串在 appengine 中相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com