Android(安卓)实现Http get 和post操作
16lz
2021-01-24
配置服务器
这个是我的Web实体
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <h3>GET方法</h3> <form action="Test" method="get"><P>学号:<input name="id" type="text" /></P><p>姓名:<input name="name" type="text" /></p><p><input name="" type="submit" value="确定" /> <input name="cancel" type="reset" value="取消" /></p></form><h3>POST方法</h3> <form action="Test" method="post"><P>学号:<input name="id" type="text" /></P><p>姓名:<input name="name" type="text" /></p><p><input name="" type="submit" value="确定" /> <input name="cancel" type="reset" value="取消" /></p></form> </body> </html>
配置Servlet
Test.java
package rw.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Test extends HttpServlet {/** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");PrintWriter out = response.getWriter(); String idString=request.getParameter("id"); String nameString=request.getParameter("name"); out.println(idString); out.println(nameString);out.flush();out.close();}/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");PrintWriter out = response.getWriter(); String idString=request.getParameter("id"); String nameString=request.getParameter("name"); out.println(idString); out.println(nameString);out.flush();out.close();}}
web.xml配置情况
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>Test</display-name> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>Test</servlet-name> <servlet-class>rw.servlet.Test</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/Test</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <login-config> <auth-method>BASIC</auth-method> </login-config></web-app>
Android get方法实现
/* * GEt请求 */ void GetDate(){ String idString=G_textView01.getText().toString(); String nameString=G_textView02.getText().toString(); String url=urlString+"?"+"id="+idString+"&name="+nameString; HttpGet get=new HttpGet(url); HttpClient client=new DefaultHttpClient(); try {response=client.execute(get);//执行Post方法resultString=EntityUtils.toString(response.getEntity());R_textView01.setText(resultString);} catch (Exception e) {// TODO: handle exception} }
Post请求
/* * POST请求 */ void PostDate(){ String idString=P_textView01.getText().toString(); String nameString=P_textView02.getText().toString(); NameValuePair pair1=new BasicNameValuePair("id", idString); NameValuePair pair2=new BasicNameValuePair("name", nameString); List<NameValuePair> list=new ArrayList<NameValuePair>(); list.add(pair1); list.add(pair2); try {HttpEntity httpEntity=new UrlEncodedFormEntity(list);//使用编码构建Post实体HttpPost post=new HttpPost(urlString); post.setEntity(httpEntity);//设置Post实体 HttpClient client=new DefaultHttpClient(); response=client.execute(post);//执行Post方法 resultString=EntityUtils.toString(response.getEntity()); R_textView01.setText(resultString);} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }
加入联网权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
更多相关文章
- Android(安卓)SDK Manager更新 != 问题解决方法
- 关于greenDao函数报错
- Android之文件保存 — Bitmap保存到SD卡指定文件
- ViewPager用法(一)图片+原点+循环播放
- ANDROID NDK makefile 链接静态库的方法
- Android两种 旋转Bitmap方法
- Android(安卓)GPS学习 (二) :GPS 服务启动以及初始化流程
- Android(安卓)studio新建activity运行出错解决方法
- android gpuimage显示的缩放和剪裁模式