java - 为什么数据在 Google App Engine Java 中调度为无效后插入

标签 java google-app-engine

我正在尝试验证并插入数据。在这里,如果用户名存在于文件服务中,则应发送错误消息,但在验证后,将发送错误消息,并在文件服务中插入数据。我无法确定代码中哪里出错了。

我的 JSP:

<form name="create" id="myform" action="/create" method="post">
User Name:  <input type="text" name="cliname"/>
<input type ="submit" value="submit"/>
</form>

我的Servlet:

public class CreateForm  extends HttpServlet {
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
       String uname = req.getParameter("cliname");
       Query query1 = new Query("Users");
List<Entity> cli_id = datastore.prepare(query1).asList(FetchOptions.Builder.withDefaults());
for (Entity client : cli_id){
username = (String)client.getProperty("User Name");
if(username.equals(uname)) {
RequestDispatcher rd = req.getRequestDispatcher("/Create.jsp");
req.setAttribute("errormsg", "User Name Already Exists");
rd.forward(req, resp);}}
Entity userInput = new Entity("Users");
userInput.setProperty("User Name", uname);
datastore.put(userInput);
}}

请给我一个想法,

感谢您的帮助。

最佳答案

我已经更新了您的代码。

public class CreateForm  extends HttpServlet {
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
   String uname = req.getParameter("cliname");
   Query query1 = new Query("Users");
   List<Entity> cli_id = datastore.prepare(query1).asList(FetchOptions.Builder.withDefaults());
   RequestDispatcher rd = null;
for (Entity client : cli_id){
    username = (String)client.getProperty("User_Name");
    if(username.equals(uname)) {
        req.setAttribute("errormsg", "User Name Already Exists");
        rd = req.getRequestDispatcher("/error.jsp");
     }else{
        Entity userInput = new Entity("Users");
        userInput.setProperty("User_Name", uname);
        datastore.put(userInput);
        req.setAttribute("success", "User Name Added");
        rd = req.getRequestDispatcher("/Create.jsp");
     }
 }
     rd.forward(req, resp);
   }
 }

关于java - 为什么数据在 Google App Engine Java 中调度为无效后插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14158502/

相关文章:

java - Log4j 打印到控制台两次

java - 如何使用 Java 创建桌面应用程序并通过浏览器运行?

google-app-engine - 如何使用go语言在google app engine中按键获取实体

google-app-engine - 如何将我的 Sqlite 数据库移植到 GAE?

google-app-engine - Google App Engine Flex 环境中的一个实例如何与另一个实例通信?

java - 如何让两种不同类型的用户自动登录不同的 Activity 而无需再次登录?

java - HTTP 服务器不发送输出流中的最后一个字符

php - Google App Engine 上的 Mediawiki 链接缺少标题参数

google-app-engine - Go 的 AppAssertionCredentials 在哪里?

JAVA 正则表达式与 XML