当我从android访问Java servlet时mysql数据库没有更新
Posted
技术标签:
【中文标题】当我从android访问Java servlet时mysql数据库没有更新【英文标题】:mysql database not updating when I access Java servlet from android 【发布时间】:2016-04-08 11:58:06 【问题描述】:我一直在创建一个安卓应用程序。我设计了一个注册表单。在这里,当人们单击注册按钮时,详细信息将添加到 mysql 表中(包含确认码作为字段。)并且确认码最初设置为 NULL,然后调用 servlet。此 servlet 包含生成 4 位随机数并将其添加到特定条目的 mysql 表中的代码。然后 servlet 调用另一个类中的方法,该方法使用代码向用户发送确认电子邮件。
现在,当我运行应用程序和 servlet 时,会生成一个确认码,并通过电子邮件发送给用户。但问题是 mysql 表没有得到更新。注意:更新 mysql 表的代码在发送电子邮件的代码上方给出。然而,同一个 servlet 会更新 mysql 表并在提交 html 表单时发送电子邮件。
不知道怎么解决。。 有关信息,我将应用程序托管在 Amazon Elastic Beanstalk 上。
这是 Servlet 部分:
protected void processRequest(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException response.setContentType("text/html;charset=UTF-8"); System.out.println("fdsfsdf"); mBean = new MailSenderBean(); 随机 n=新随机(); int no=n.nextInt(); 没有%=10000; 如果(否我在 android 应用中的客户端代码是
DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(AppConfig.serverUrl); 列表 lst =new ArrayList(); lst.add(new BasicNameValuePair("name", name)); lst.add(new BasicNameValuePair("email", email)); httpPost.setEntity(new UrlEncodedFormEntity(lst)); HttpResponse httpResponse = httpClient.execute(httpPost);
【问题讨论】:
请显示您的代码的相关部分...否则我们都只是猜测。 请检查这个..我在这里添加了servlet代码。 请同时发布客户端代码。既然您说当使用 html 表单发出 http 请求时您的代码运行良好,那么问题可能出在客户端(即 Android 应用程序)无论如何,您是否检查过您的应用程序服务器日志? 好吧,你肯定还有其他一些问题......首先,你没有正确使用PreparedStatement
。您应该使用?
个字符...mkyong.com/jdbc/… 将您的输入参数化
我也添加了客户端代码..也检查一下..
【参考方案1】:
从朋友那里得到答案。我在 android 应用程序中使用了错误的字段来更新,但我在 html 表单中使用了适当的键。这就是为什么我单独从android应用程序得到错误的输出..!!
【讨论】:
以上是关于当我从android访问Java servlet时mysql数据库没有更新的主要内容,如果未能解决你的问题,请参考以下文章
如何在 flex 中使用相同的 Httpservice 获取更新的数据
当我从 setWebChromeClient 使用时,我无法从 onPageStarted webView 使用 - Android
当我从 Android 迁移到 AndroidX 时,在我的项目中实现 google play 服务时出错。解决方案可能是啥?