2025年使用Post方式提交数据

使用Post方式提交数据在 Android 中 提供了标准 Java 接口 HttpURLConne 和 Apache 接口 HttpClient 为客户端 HTTP 编程提供了丰富的支持 在 HTTP 通信中使用最多的就是 GET 和 POST 了 GET 请求可以获取静态页面 也可以把参数放在 URL 字符串的后面 传递给服务器

大家好,我是讯享网,很高兴认识大家。

在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持。

  在HTTP通信中使用最多的就是GET和POST了,GET请求可以获取静态页面,也可以把参数放在URL字符串的后面,传递给服务器。POST与GET的不同之处在于POST的参数不是放在URL字符串里面,而是放在HTTP请求数据中。

  本文将使用标准Java接口HttpURLConnection,以一个实例演示如何使用POST方式向服务器提交数据,并将服务器的响应结果显示在Android客户端。

 

1.服务器端的准备

  为了完成该实例,我们需要在服务器端做以下准备工作:

  (1)我们需要在MyEclipse中创建一个Web工程,用来模拟服务器端的Web服务,这里,我将该工程命名为了“myhttp”。

  (2)修改该工程的“index.jsp”文件,添加两个输入框和一个提交按钮,作为该Web工程的显示页面。运行Tomcat,在浏览器中访问该Web工程,可以看到如图1所示的界面。


讯享网

图1 Web工程的显示页面

(3)在该Web工程中,创建一个继承自HttpServlet的LoginAction类,并实现其中的doPost()方法,用来响应图1所示页面的用户操作。具体实现如下

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        
        String username = request.getParameter("username");
        String password = request.getParameter("password");
                
        //判断用户名密码是否正确
        if(username.equals("admin") && password.equals("123")) {
            out.print("Login succeeded!");
        }else {
            out.print("Login failed!");
        }
        
        out.flush();
        out.close();
    }

讯享网 由上述代码可以看出,当我们在图1所示的页面输入用户名“admin”,密码“123”时,点击提交按钮,会得到“Login succeeded!”的提示信息,如图2所示。若用户名、密码错误,则会得到“Login failed!”的提示信息。

图2 登录成功界面


至此,服务器端的准备工作就全部完成了。

 

2.客户端实现

  在Android客户端,我们需要完成的工作是:以POST方式发送用户名密码到上述服务器,并获得服务器的验证信息。

  我们分以下几个步骤来完成。

2.1 UI界面

  在Android工程中,我们需要完成一个简单的UI界面,用来完成用户名密码的输入、发送POST请求、显示服务器的验证结果,完成后的界面如图3所示。


小讯
上一篇 2025-03-30 19:38
下一篇 2025-02-10 09:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/63568.html