????缁???濡?涓?锛?
1. android??servlet涔??寸???存?ヤ俊??浼???锛?涓???杩?json锛?
1.1 android绔?浠g??
1.2 servlet绔?浠g??
2. android??servlet涔??撮??杩?json杩?琛?浜や?
2.1 android绔?浠g??
2.2 servlet绔?浠g??
=============================================================
1. android??servlet涔??寸???存?ヤ俊??浼???
??ndroid绔???杩?httpclient?昏?块?????″???????request璇锋?锛?骞惰?峰??response??
??ervlet绔?????瑕?绠?????瀹?涔?doGet?规???doPost?规??冲????
1.1 android绔?浠g??
?
package com.example.helloworld;
public class MainActivity extends ActionBarActivity {
private String responseMsg = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Thread loginThread = new Thread(new LoginThread());
loginThread.start();
}
});
}
????//????璇锋???涓昏??规?
private boolean loginServer(){
boolean loginValidate = false;
??????????//servlet???″?ㄥ?板????
String urlStr = "http://192.168.1.24:8080/servletTest/test";
HttpPost request = new HttpPost(urlStr);
try {
HttpClient client = getHttpClient();
//?ц?璇锋?
HttpResponse response = client.execute(request);
?????????????? //response??servlet缁??虹??杩???缁???
if(response.getStatusLine().getStatusCode() == 200){
loginValidate = true;
responseMsg = EntityUtils.toString(response.getEntity());
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return loginValidate;
}
public HttpClient getHttpClient(){
BasicHttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5*1000);
HttpConnectionParams.setSoTimeout(httpParams, 10*1000);
HttpClient client = new DefaultHttpClient(httpParams);
return client;
}
class LoginThread implements Runnable{
public void run(){
????????????boolean loginValidate = loginServer();
????????????System.out.println("======================bool is :"+loginValidate+"----------------response: "+responseMsg);
}
}
}
1.2 servlet绔?浠g??
package cn.dragon.servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.sun.corba.se.pept.transport.Connection;
public class ServletDemoFirst extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
// response.setContentType("text/html; charset=GB2312");
// PrintWriter outPrintWriter = response.getWriter();
// outPrintWriter.println("hello");
// outPrintWriter.close();
//Connection conn = null;
??????????//棣???寤虹???版??搴?杩??? String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "admin";
PrintWriter out = response.getWriter();
//out.println("welcom");
try {
Class.forName(driver);
java.sql.Connection conn = DriverManager.getConnection(url, user, password);
//out.println("loading success");
Statement statement = conn.createStatement();
??????????????//杩?琛??版??搴??ヨ????
ResultSet rs = statement.executeQuery("select * from career");
ArrayList<String> list1 = new ArrayList<String>();
while(rs.next()){
//out.println(rs.getString(1));
list1.add(rs.getString(1));
}
??????????????//out?ㄦ?ュ??瀹㈡?风??杩????版????濡????ㄧ?椤佃?块??杩?涓?缃???锛??ヨ?㈡?版??搴???缁???灏辨?剧ず?ㄧ?椤典?锛?濡?????ndroid璁块??锛?灏辫???缁?android???? out.println(list1.toString());
rs.close();
statement.close();
conn.close();
} catch (ClassNotFoundException cnfex) {
//System.err.println("瑁?杞?JDBC/ODBC 椹卞?ㄧ?搴?澶辫触??");
out.println("loading JDBC failed");
cnfex.printStackTrace();
System.exit(1); // terminate program
} catch (SQLException sqlex) {
//System.err.println("??娉?杩??ユ?版??搴?");
out.println("can not connect to the database");
sqlex.printStackTrace();
System.exit(1); // terminate program
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
???????? doGet(request, response);
}
}
?浠ヤ?灏辨??涓ら?ㄥ????浠g?????芥??杈?濂界??瑙o???涓?涔?缁?浜?涓?浜?娉ㄩ????
==================================================================
2. ??杩?JSON杩?琛?瀹㈡?风?????″?ㄧ????璁?
2.1 android绔?
package com.example.helloworld;
public class MainActivity extends ActionBarActivity {
private String responseMsg = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//Intent intent = new Intent(MainActivity.this, InfoActivity.class);
//startActivity(intent);
Thread loginThread = new Thread(new LoginThread());
loginThread.start();
}
});
}
public HttpClient getHttpClient(){
BasicHttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5*1000);
HttpConnectionParams.setSoTimeout(httpParams, 10*1000);
HttpClient client = new DefaultHttpClient(httpParams);
return client;
}
private void sendJson(){
//boolean loginValidate = false;
String urlStr = "http://192.168.1.24:8080/servletTest/test";
HttpPost post = new HttpPost(urlStr);
try{
//?????″?ㄥ??json
JSONObject json1 = new JSONObject();
//Object email = null;
Object email = "hlelo";
json1.put("email", email);
//Object pwd = null;
Object pwd = "wodls";
json1.put("password", pwd);
System.out.println("=============="+json.toString());
//淇?璇?json?版??涓???涔辩??
StringEntity se = new StringEntity(json.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
//????json缁????″?? HttpClient httpClient = getHttpClient();
HttpResponse httpResponse = httpClient.execute(post);
/*int httpCode = httpResponse.getStatusLine().getStatusCode();
if(httpCode == HttpURLConnection.HTTP_OK && httpResponse != null){
//org.apache.http.Header[] headers = httpResponse.getAllHeaders();
HttpEntity entity = httpResponse.getEntity();
//org.apache.http.Header header = httpResponse.getFirstHeader("content-type");
//璇诲?????″?ㄨ?????json
InputStream inputStream = entity.getContent();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader reader = new BufferedReader(inputStreamReader);
String s;
while((s= reader.readLine())!= null){
result.append(s);
}
reader.close();
JSONObject jsonObject = new JSONObject(result.toString());
String nameString = jsonObject.getString("email");
String passString = jsonObject.getString("password");
System.out.println("===============email is: "+nameString+", password is: "+passString);*/
}catch(Exception exception){
exception.printStackTrace();
}
}
class LoginThread implements Runnable{
public void run(){
sendJson();
}
}
}
2.2 servlet绔?浠g??
package cn.dragon.servlet;
public class ServletDemoFirst extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
//澶???json??瀹? response.setCharacterEncoding("UTF-8");
response.setContentType("text/json");
String acceptjson = "";
try {
BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream)request.getInputStream(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String temp;
while((temp = br.readLine()) != null){
sb.append(temp);
}
br.close();
???????????? //浠ヤ???杩?绋??戒?request涓?璇诲??json锛?骞跺?json杞??㈡??string锛?杩??峰??浠ユ?剧ず?烘?ャ????缁?String绫诲????json灏辨??acceptjson????
acceptjson = sb.toString();
System.out.println("=======json is==========="+acceptjson);
if(acceptjson != ""){
//System.out.println("get the json successfully");
JSONObject jo = JSONObject.fromObject(acceptjson);
????????????????????//email?虫??android绔?????杩??ョ??json褰?涓???涓?涓?key锛???浠?浣跨??et?规?璇诲??瀵瑰???value
System.out.println(jo.get("email"));
}
else{
System.out.println("get the json failed");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
?跺??搴?璇ヨ???涓?娈靛??瀹规??servlet灏?json杩?杩?缁?android绔?锛??跺??android绔???瑙f???烘?ャ???充?android绔???瑙f??杩?绋??ㄦ敞???????ㄥ??涓?锛?浣?杩?娈靛??瀹规??杩?娌℃??楠?璇???
涓??㈢?寰?琛ュ??涓??瑰?充?JSONArray????瀹光????JSONArray濡?浣?浼?杈?涓?瑙f??
/**** android: sendJson() *****/
private void sendJson(){
//boolean loginValidate = false;
StringBuilder result = new StringBuilder();
String urlStr = "http://192.168.1.24:8080/servletTest/test";
HttpPost post = new HttpPost(urlStr);
List<NameValuePair> params = new ArrayList<NameValuePair>();
//params.add(new BasicNameValuePair("name", "this is post"));
try{
//?????″?ㄥ??json
JSONObject json1 = new JSONObject();
//Object email = null;
Object email = "hlelo";
json1.put("email", email);
//Object pwd = null;
Object pwd = "wodls";
json1.put("password", pwd);
JSONArray jsonArray = new JSONArray();
?????????????? //????涓?涓?JSONARRAY骞跺?涓??㈢??json瑁??ュ?朵腑
jsonArray.put(0, json1);
JSONObject json = new JSONObject();
?????????????? //??????涓?涓?JSONObject锛?灏???????JSONArray?惧?ュ?朵腑锛????????版???″?ㄧ????
json.put("dao", jsonArray);
System.out.println("=============="+json.toString());
//淇?璇?json?版??涓???涔辩??
StringEntity se = new StringEntity(json.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setEntity(se);
//????json缁????″?? HttpClient httpClient = getHttpClient();
HttpResponse httpResponse = httpClient.execute(post);
}catch(Exception exception){
exception.printStackTrace();
}
/***** servlet: doPost() *****/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{//澶???json??瀹? System.out.println("=======json is===========");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/json");
String acceptjson = "";
try {
BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream)request.getInputStream(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String temp;
while((temp = br.readLine()) != null){
sb.append(temp);
}
br.close();
acceptjson = sb.toString();
System.out.println("=======json is==========="+acceptjson);
if(acceptjson != ""){
//System.out.println("get the json successfully");
????????????????????//???峰??json
JSONObject jo = JSONObject.fromObject(acceptjson);
//???峰??json涓???????jsonarry锛?dao??????android绔?缁??虹??key
JSONArray ja = jo.getJSONArray("dao");
????????????????????//寰????峰??jsonarray涓???姣?涓?json
for(int i = 0; i < ja.size(); i++){
JSONObject object = JSONObject.fromObject(ja.get(i));
???????????????????????? //?峰??json涓???email?硷?email??json涓???key
System.out.println("email is: "+object.get("email"));
}
}
else{
System.out.println("get the json failed");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
?
?
?
?
?
?
?
?
?
?
Bon Appetite~
杞?杞戒?:https://www.cnblogs.com/zhawj159753/p/3949956.html