android+Servlet
2015-03-14 08:55
78 查看
转载博主:http://blog.csdn.net/yanzi1225627/article/details/24882569
1、Servlet端代码
2、Android客户端代码
2.1activity_main.xml
2.2MainActivity
1、Servlet端代码
package org.yanzi.testtomcat; 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 TestTomcat extends HttpServlet { private static final long serialVersionUID = 1L; private static final int NAME_CODE_RIGHT = 0; // private static final int CODE_WRONG = 1; // private static final int NAME_WRONG = 2; // public TestTomcat(){ } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub if(req == null){ return; } resp.setContentType("text/html;charset=utf-8"); req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); PrintWriter out = resp.getWriter(); String name = req.getParameter("NAME"); String code = req.getParameter("CODE"); /* //浏览器访问,没传递任何参数。用HTML格式给浏览器返回数据 out.println("<html>"); out.println("<head>"); out.println("<title>Tomcat Servlet测试</title>"); out.println("</head>"); out.println("<body>"); out.println("Hello,哥知道你是浏览器访问的."); out.println("</body>"); out.println("</html>"); out.println("Hello,第一个Tomcat!!!"); out.close();*/ //手机客户端访问 int ret = checkSubmit(name, code); out.print(ret); out.flush(); out.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub if(req == null){ return; } resp.setContentType("text/html;charset=utf-8"); req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); PrintWriter out = resp.getWriter(); String name = req.getParameter("NAME"); String code = req.getParameter("CODE"); int ret = checkSubmit(name, code); out.print(ret); out.flush(); out.close(); } /** * 判断登录名和密码 * @param name * @param code * @return */ private int checkSubmit(String name, String code){ int ret = -2; if(name.equals("admin")){ if(code.equals("123")){ ret = NAME_CODE_RIGHT; }else{ ret = CODE_WRONG; } }else{ ret = NAME_WRONG; } return ret; } }
2、Android客户端代码
2.1activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <EditText android:id="@+id/edit_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入用户名" /> <EditText android:id="@+id/edit_code" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/edit_name" android:hint="输入密码" /> <LinearLayout android:id="@+id/layout_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:orientation="horizontal" > <Button android:id="@+id/btn_submit_post" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="POST登录 " /> <Button android:id="@+id/btn_submit_get" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="GET登录 " /> </LinearLayout> <ScrollView android:id="@+id/info_scroll_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/layout_btn" > <TextView android:id="@+id/tv_info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="结果显示........." /> </ScrollView> </RelativeLayout>
2.2MainActivity
package org.yanzi.testtomecat; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.params.ConnManagerParams; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.DefaultClientConnection; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ScrollView; import android.widget.TextView; public class MainActivity extends Activity { public static final String URL = "http://192.168.16.8:8080/TestTomcat/login"; Button submitBtnPost = null; Button submitBtnGet = null; TextView infoTextView = null; EditText nameEdit = null; EditText codeEdit = null; ScrollView scrollView = null; boolean isPost = true; //默认采取post登录方式 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); scrollView = (ScrollView)findViewById(R.id.info_scroll_view); submitBtnPost = (Button)findViewById(R.id.btn_submit_post); submitBtnGet = (Button)findViewById(R.id.btn_submit_get); infoTextView = (TextView)findViewById(R.id.tv_info); nameEdit = (EditText)findViewById(R.id.edit_name); codeEdit = (EditText)findViewById(R.id.edit_code); submitBtnPost.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub isPost = true; new SubmitAsyncTask().execute(URL); } }); submitBtnGet.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub isPost = false; new SubmitAsyncTask().execute(URL); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public class SubmitAsyncTask extends AsyncTask<String, Void, String>{ String info = ""; @Override protected String doInBackground(String... params) { // TODO Auto-generated method stub String url = params[0]; String reps = ""; if(isPost){ info = "HttpPost返回结果: "; reps = doPost(url); }else{ info = "HttpGet返回结果: "; reps = doGet(url); } return reps; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub infoTextView.append("\n" + info + result +"\n"); String res = result.trim(); if(res.equals("0")){ info = "验证通过....."; }else if(res.equals("1")){ info = "密码错误....."; }else if(res.equals("2")){ info = "用户名错误....."; }else if(res.equals("-1")){ info = "返回结果异常!"; } infoTextView.append(info + "\n"); scrollView.fullScroll(ScrollView.FOCUS_DOWN); super.onPostExecute(result); } } private String doGet(String url){ String responseStr = ""; try { String name = nameEdit.getText().toString().trim(); String code = codeEdit.getText().toString().trim(); String getUrl = URL + "?NAME=" + name+"&"+"CODE=" + code; HttpGet httpRequest = new HttpGet(getUrl); HttpParams params = new BasicHttpParams(); ConnManagerParams.setTimeout(params, 1000); HttpConnectionParams.setConnectionTimeout(params, 3000); HttpConnectionParams.setSoTimeout(params, 5000); httpRequest.setParams(params); HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest); final int ret = httpResponse.getStatusLine().getStatusCode(); if(ret == HttpStatus.SC_OK){ responseStr = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8); }else{ responseStr = "-1"; } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return responseStr; } /** * 用Post方式跟服务器传递数据 * @param url * @return */ private String doPost(String url){ String responseStr = ""; try { HttpPost httpRequest = new HttpPost(url); HttpParams params = new BasicHttpParams(); ConnManagerParams.setTimeout(params, 1000); //从连接池中获取连接的超时时间 HttpConnectionParams.setConnectionTimeout(params, 3000);//通过网络与服务器建立连接的超时时间 HttpConnectionParams.setSoTimeout(params, 5000);//读响应数据的超时时间 httpRequest.setParams(params); //下面开始跟服务器传递数据,使用BasicNameValuePair List<BasicNameValuePair> paramsList = new ArrayList<BasicNameValuePair>(); String name = nameEdit.getText().toString().trim(); String code = codeEdit.getText().toString().trim(); paramsList.add(new BasicNameValuePair("NAME", name)); paramsList.add(new BasicNameValuePair("CODE", code)); UrlEncodedFormEntity mUrlEncodeFormEntity = new UrlEncodedFormEntity(paramsList, HTTP.UTF_8); httpRequest.setEntity(mUrlEncodeFormEntity); HttpClient httpClient = new DefaultHttpClient(); HttpResponse httpResponse = httpClient.execute(httpRequest); final int ret = httpResponse.getStatusLine().getStatusCode(); if(ret == HttpStatus.SC_OK){ responseStr = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8); }else{ responseStr = "-1"; } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return responseStr; } }<strong> </strong>
相关文章推荐
- Android手机客户端与Servlet交换数据(by quqi99)
- Servlet和Android网络交互基础(3)
- 使用MySQL和Servlet编写Android接口样例
- 采用android客户端+Servlet(HttpServletRequest)进行文件批量上传
- 前台android与后台Servlet交互---上传文件
- http servlet服务器和android客户端(二)第一个android客户端
- Android中发送Http请求实例(包括文件上传、servlet接收)
- Android、IOS 图片上传接口(Java实现Servlet)。
- Android网络编程之搭建一个属于你自己的简单servlet服务端。
- Android 向Servlet端(J2ee)发送请求
- Android通过Http连接MySql数据库(servlet服务器)
- android接收servlet返回值
- Android 与 web服务器Servlet联调
- Android 的网络编程(14)-ttpClient访问服务器的servlet
- http servlet服务器和android客户端(一)第一个servlet
- Android客户端页面提交数据到tomcat的servlet插入mysql中的信息表遇到的中文乱码问题
- android通过HttpURLConnection上传文件袋servlet服务器
- android通过HttpURLConnection上传文件袋servlet服务器
- servlet服务器端和android端json交互
- android 上传文件到服务器段(servlet)