android客户端登录&注册的实现
MainActivity多线程的实现:
package com.example.loginconnect; import java.lang.ref.WeakReference;
import java.net.SocketTimeoutException; import org.apache.http.conn.ConnectTimeoutException; import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; import com.example.loginconnect.service.ServiceRulesException;
import com.example.loginconnect.service.UserService;
import com.example.loginconnect.service.UserServiceImpl; public class MainActivity extends ActionBarActivity {
private EditText username1;
private EditText password1; private UserService userService = new UserServiceImpl();
private static final int FLAG_LOGIN_SUCCESS = 1;
private static final String MSG_LOGIN_ERROR = "登录出错。";
private static final String MSG_LOGIN_SUCCESS = "登录成功。";
public static final String MSG_LOGIN_FAILED = "用户名或密码错误。";
public static final String MSG_SERVER_ERROR = "请求服务器错误。";
public static final String MSG_SERVER_TIMEOUT = "请求服务器超时。";
public static final String MSG_RESPONCE_TIMEOUT = "服务器响应超时。";
private static ProgressDialog dialog;
public static String loginName; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button login = (Button) findViewById(R.id.login);
Button resign = (Button) findViewById(R.id.resign);
username1 = (EditText) findViewById(R.id.username);
password1 = (EditText) findViewById(R.id.password); login.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
loginName = username1.getText().toString();
final String loginPassword = password1.getText().toString(); // Toast.makeText(v.getContext(), "用户名:"+username,
// Toast.LENGTH_LONG).show();
// Toast.makeText(v.getContext(), "密码:"+password,
// Toast.LENGTH_LONG).show(); /**
* loading...
*/ if (dialog == null) {
dialog = new ProgressDialog(MainActivity.this);
}
dialog.setTitle("请等待");
dialog.setMessage("登录中...");
dialog.setCancelable(false);
dialog.show(); /**
* 子线程
*/
Thread thread = new Thread(new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
try {
userService.userLogin(loginName, loginPassword);
handler.sendEmptyMessage(FLAG_LOGIN_SUCCESS); } catch (ConnectTimeoutException e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg", MSG_SERVER_TIMEOUT);
msg.setData(data);
handler.sendMessage(msg);
} catch (SocketTimeoutException e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg",
MSG_RESPONCE_TIMEOUT);
msg.setData(data);
handler.sendMessage(msg);
} catch (ServiceRulesException e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg", e.getMessage());
msg.setData(data);
handler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg", MSG_LOGIN_ERROR);
msg.setData(data);
handler.sendMessage(msg);
}
}
});
thread.start();
}
}); resign.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,
ResignActivity.class);
startActivity(intent);
finish();
}
}); } private void showTip(String str) {
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
if (str == MSG_LOGIN_SUCCESS) {
Intent intent = new Intent(MainActivity.this, success.class);
startActivity(intent);
finish();
} } private static class IHandler extends Handler { private final WeakReference<ActionBarActivity> mActivity; public IHandler(MainActivity activity) {
mActivity = new WeakReference<ActionBarActivity>(activity);
} @Override
public void handleMessage(Message msg) { if (dialog != null) {
dialog.dismiss();
} int flag = msg.what;
switch (flag) {
case 0:
String errorMsg = (String) msg.getData().getSerializable(
"ErrorMsg");
((MainActivity) mActivity.get()).showTip(errorMsg);
break;
case FLAG_LOGIN_SUCCESS:
((MainActivity) mActivity.get()).showTip(MSG_LOGIN_SUCCESS);
break; default:
break;
}
}
} private IHandler handler = new IHandler(this); public String setUserName(String username) {
username = loginName;
return username;
} }
UserService 接口:
package com.example.loginconnect.service;
import org.json.JSONObject;
public interface UserService {
public void userLogin(String loginName, String loginPassword)
throws Exception;
public void userResign(String loginName, String loginPassword,String surePassword,
String realName, String cellphone1, String cellphone2,
String cellphone3) throws Exception;
public JSONObject selectUser(String loginName, String realname,
String cellphone1, String cellphone2, String cellphone3)
throws Exception;
}
UserServiceImpl 继承自UserService ,实现与服务器交互:
package com.example.loginconnect.service; import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List; import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
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.impl.client.DefaultHttpClient;
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 org.json.JSONObject; import android.content.Context;
import android.util.Log;
import android.widget.Toast; import com.example.loginconnect.MainActivity;
import com.example.loginconnect.ResignActivity;
import com.example.loginconnect.success;
import com.google.gson.Gson; public class UserServiceImpl implements UserService {
private static final String TAG = "UserServiceImpl"; // MainActivity person=new MainActivity(); @Override
public void userLogin(String loginName, String loginPassword)
throws Exception { Log.d(TAG, loginName);
Log.d(TAG, loginPassword); // Thread.sleep(3000); // 创建http对象
HttpClient client = new DefaultHttpClient(); /**
* post/json传值
*/
// String uri =
// "http://10.138.108.131:8080/Test_MyService/login.action?username="
// + loginName + "&password=" + loginPassword;
// HttpGet get = new HttpGet(uri);
// 响应
// HttpResponse response = client.execute(get);
String uri = "http://192.168.1.106:8080/MyService/login.action";
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
HttpConnectionParams.setSoTimeout(httpParams, 5000);
HttpPost post = new HttpPost(uri);
List<NameValuePair> pair = new ArrayList<NameValuePair>();
try {
JSONObject obj = new JSONObject();
obj.put("username", loginName);
obj.put("password", loginPassword);
// JSONObject json = new JSONObject();
// Gson gson = new Gson();
// String str = gson.toJson(obj);
pair.add(new BasicNameValuePair("json", obj.toString()));
post.setEntity(new UrlEncodedFormEntity(pair, HTTP.UTF_8));
post.setParams(httpParams); } catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
HttpResponse response = client.execute(post);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// String result = EntityUtils.toString(response.getEntity(),
// "UTF-8");
// System.out.println(result); String responseStr = EntityUtils.toString(response.getEntity());
JSONObject json = new JSONObject(responseStr).getJSONObject("json");
String result = json.getString("result");
Log.d(TAG, result);
if (result.equals("success")) {
// return true; } else {
// return false;
throw new ServiceRulesException(MainActivity.MSG_LOGIN_FAILED);
} } else {
throw new ServiceRulesException(MainActivity.MSG_SERVER_ERROR);
} // int statusCode = response.getStatusLine().getStatusCode();
// if (statusCode != HttpStatus.SC_OK) {
// throw new ServiceRulesException(MainActivity.MSG_SERVER_ERROR);
// }
// String result = EntityUtils.toString(response.getEntity(), "UTF-8");
//
// if (result.equals("success")) {
//
// } else {
// throw new ServiceRulesException(MainActivity.MSG_LOGIN_FAILED);
// } } @Override
public void userResign(String loginName, String loginPassword,
String surePassword, String realName, String cellphone1,
String cellphone2, String cellphone3) throws Exception { // if(loginPassword==surePassword){
// }else{
// throw new ServiceRulesException(ResignActivity.MSG_RESIGN_FAILED2);
// } // Thread.sleep(3000);
// 创建http对象
/**
* GET 传值
*/
// String uri =
// "http://10.138.106.30:8080/MyService/regist.action?username="
// + loginName
// + "&password="
// + loginPassword
// + "&realName="
// + realName
// + "&cellphone1="
// + cellphone1
// + "&cellphone2="
// + cellphone2 + "&cellphone3=" + cellphone3;
// http://10.138.108.131:8080/Test_MyService/login.action
String uri = "http://192.168.1.106:8080/MyService/regist.action";
HttpClient client = new DefaultHttpClient();
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
HttpConnectionParams.setSoTimeout(httpParams, 5000);
HttpPost post = new HttpPost(uri);
List<NameValuePair> pair = new ArrayList<NameValuePair>();
try {
JSONObject obj = new JSONObject();
obj.put("username", loginName);
obj.put("password", loginPassword);
obj.put("realname", realName);
obj.put("cellphone1", cellphone1);
obj.put("cellphone2", cellphone2);
obj.put("cellphone3", cellphone3);
// Gson gson = new Gson();
// String str = gson.toJson(obj);
pair.add(new BasicNameValuePair("json", obj.toString()));
post.setEntity(new UrlEncodedFormEntity(pair, HTTP.UTF_8));
post.setParams(httpParams); } catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
HttpResponse response = client.execute(post);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String responseStr = EntityUtils.toString(response.getEntity());
JSONObject json = new JSONObject(responseStr).getJSONObject("json");
String result = json.getString("result"); if (result.equals("success")) {
} else {
throw new ServiceRulesException(
ResignActivity.MSG_RESIGN_FAILED);
}
} // 响应
// HttpResponse response = client.execute(get); // int statusCode = response.getStatusLine().getStatusCode();
// if (statusCode != HttpStatus.SC_OK) {
// throw new ServiceRulesException(ResignActivity.MSG_SERVER_ERROR);
// }
// String result = EntityUtils.toString(response.getEntity(), "UTF-8");
//
// if (result.equals("success")) {
//
// } else {
// throw new ServiceRulesException(ResignActivity.MSG_RESIGN_FAILED);
// } } public JSONObject selectUser(String loginName, String realname,
String cellphone1, String cellphone2, String cellphone3)
throws Exception {
String userName = "tom";
// userName = person.setUserName(userName);
// Thread.sleep(3000);
// 创建http对象
HttpClient client = new DefaultHttpClient();
String uri = "http://192.168.1.106:8080/MyService/select.action";
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 5000);
HttpConnectionParams.setSoTimeout(httpParams, 5000);
HttpPost post = new HttpPost(uri);
List<NameValuePair> pair = new ArrayList<NameValuePair>();
try {
JSONObject obj = new JSONObject();
obj.put("username", userName);
pair.add(new BasicNameValuePair("json", obj.toString()));
post.setEntity(new UrlEncodedFormEntity(pair, HTTP.UTF_8));
post.setParams(httpParams); } catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
HttpResponse response = client.execute(post);
if (response.getStatusLine().getStatusCode() == 200) {
String responseStr = EntityUtils.toString(response.getEntity());
JSONObject json1 = new JSONObject(responseStr)
.getJSONObject("json");
JSONObject object = json1.getJSONObject("user");
return object; } else {
throw new ServiceRulesException(success.MSG_SERVER_ERROR);
}
}
}
ResignActivity 类实现注册的功能:
package com.example.loginconnect; import java.lang.ref.WeakReference;
import java.net.SocketTimeoutException; import org.apache.http.conn.ConnectTimeoutException; import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; import com.example.loginconnect.service.ServiceRulesException;
import com.example.loginconnect.service.UserService;
import com.example.loginconnect.service.UserServiceImpl; public class ResignActivity extends ActionBarActivity { private EditText account;
private EditText password;
private EditText sure_password;
private EditText realname;
private EditText phone1;
private EditText phone2;
private EditText phone3;
private static ProgressDialog dialog;
private UserService userService = new UserServiceImpl(); private static final int FLAG_RESIGN_SUCCESS = 1;
private static final String MSG_RESIGN_ERROR = "注册出错。";
private static final String MSG_RESIGN_SUCCESS = "注册成功。";
public static final String MSG_RESIGN_FAILED = "输入出现错误。";
public static final String MSG_RESIGN_FAILED2 = "密码输入错误。";
public static final String MSG_SERVER_ERROR = "请求服务器错误。";
public static final String MSG_SERVER_TIMEOUT = "请求服务器超时。";
public static final String MSG_RESPONCE_TIMEOUT = "服务器响应超时。"; @Override
protected void onCreate(Bundle savedInsanceState) {
super.onCreate(savedInsanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.resign); account = (EditText) findViewById(R.id.account);
password = (EditText) findViewById(R.id.password);
sure_password = (EditText) findViewById(R.id.sure_password);
realname = (EditText) findViewById(R.id.name);
phone1 = (EditText) findViewById(R.id.phone1);
phone2 = (EditText) findViewById(R.id.phone2);
phone3 = (EditText) findViewById(R.id.phone3); Button register = (Button) findViewById(R.id.register);
register.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final String loginName = account.getText().toString();
final String loginPassword = password.getText().toString();
final String surePassword = sure_password.getText().toString();
final String realName = realname.getText().toString();
final String cellphone1 = phone1.getText().toString();
final String cellphone2 = phone2.getText().toString();
final String cellphone3 = phone3.getText().toString(); /**
* loading...
*/ if (dialog == null) {
dialog = new ProgressDialog(ResignActivity.this);
}
dialog.setTitle("请等待");
dialog.setMessage("注册中...");
dialog.setCancelable(false);
dialog.show(); /**
* 子线程
*/
Thread thread = new Thread(new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
try {
userService.userResign(loginName, loginPassword,
surePassword, realName, cellphone1,
cellphone2, cellphone3);
handler.sendEmptyMessage(FLAG_RESIGN_SUCCESS);
} catch (ConnectTimeoutException e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg", MSG_SERVER_TIMEOUT);
msg.setData(data);
handler.sendMessage(msg);
} catch (SocketTimeoutException e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg",
MSG_RESPONCE_TIMEOUT);
msg.setData(data);
handler.sendMessage(msg);
}catch (ServiceRulesException e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg", e.getMessage());
msg.setData(data);
handler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
Message msg = new Message();
Bundle data = new Bundle();
data.putSerializable("ErrorMsg", MSG_RESIGN_ERROR);
msg.setData(data);
handler.sendMessage(msg);
}
}
});
thread.start();
}
});
} private void showTip(String str) {
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
if (str == MSG_RESIGN_SUCCESS) {
Intent intent = new Intent(ResignActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
} private static class IHandler extends Handler { private final WeakReference<ActionBarActivity> mActivity; public IHandler(ResignActivity activity) {
mActivity = new WeakReference<ActionBarActivity>(activity);
} @Override
public void handleMessage(Message msg) { if (dialog != null) {
dialog.dismiss();
} int flag = msg.what;
switch (flag) {
case 0:
String errorMsg = (String) msg.getData().getSerializable(
"ErrorMsg");
((ResignActivity) mActivity.get()).showTip(errorMsg);
break;
case FLAG_RESIGN_SUCCESS:
((ResignActivity) mActivity.get()).showTip(MSG_RESIGN_SUCCESS);
break; default:
break;
}
}
} private IHandler handler = new IHandler(this); }
ServiceRulesException 异常类:
package com.example.loginconnect.service;
public class ServiceRulesException extends Exception {
/**
* 抛异常
*/
private static final long serialVersionUID = -4213152538874245667L;
public ServiceRulesException(String message){
super(message);
}
}
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/screen"
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"
android:background="@drawable/background_login"> <LinearLayout
android:id="@+id/loginPanel"
android:layout_width="400dp"
android:layout_height="300dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:background="@drawable/background_login_div"
android:orientation="vertical" > <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="为您的出行提供保障"
android:layout_marginTop="15dp"
android:textSize="25dp"/> <TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:text="请先登录" /> <EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="15dp"
android:singleLine="true"
android:background="@drawable/qq_edit_login"
android:hint="请输入您的用户名"
android:ems="10" > <requestFocus />
</EditText> <EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="15dp"
android:singleLine="true"
android:password="true"
android:background="@drawable/qq_edit_login"
android:hint="请输入您的密码"
android:ems="10" /> <Button
android:id="@+id/login"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="18dp"
android:text="登陆"
android:background="@drawable/background_button_div"/> </LinearLayout> <Button
android:id="@+id/resign"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/loginPanel"
android:layout_below="@+id/loginPanel"
android:layout_marginTop="18dp"
android:background="@drawable/background_button_div"
android:text="快速注册" /> <TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/resign"
android:layout_alignBottom="@+id/resign"
android:layout_toLeftOf="@+id/resign"
android:text="没有账号?请先注册" /> </RelativeLayout>
服务器端:
package com.login; import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.json.JSONException;
import org.json.JSONObject; import com.dao.JdbcConnect;
import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport implements ServletRequestAware,
ServletResponseAware { private static final long serialVersionUID = 1L; HttpServletRequest request;
HttpServletResponse response; private String username;
private String password;
private String realname;
private String cellphone1;
private String cellphone2;
private String cellphone3; public void setServletRequest(HttpServletRequest request) {
this.request = request;
} public void setServletResponse(HttpServletResponse response) {
this.response = response;
} public void setUsername(String username) {
this.username = username;
} public void setPassword(String password) {
this.password = password;
} public void insert() throws SQLException, IOException,
ClassNotFoundException {
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
String key = this.request.getParameter("json").toString();
System.out.println(key);
try {
JSONObject obj = new JSONObject(key);
username = obj.getString("username");
password = obj.getString("password"); } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 测试
// System.out.println(username + " " + password);
JdbcConnect.getConnection();
String sql = "select * from userinfo where username='" + username
+ "' and password ='" + password + "'";
ResultSet rS = JdbcConnect.executeQuery(sql);
// 测试
System.out.println(username + " " + password); try {
JSONObject obj2 = new JSONObject();
JSONObject result = new JSONObject();
// PrintWriter out = response.getWriter();
if (rS.next()) {
obj2.put("result", "success");
result.put("json", obj2);
response.getWriter().write(result.toString());
// out.print("success");
System.out.println(result);
} else {
obj2.put("result", "failed");
result.put("json", obj2);
response.getWriter().write(result.toString());
// out.print("failed");
System.out.println(result);
}
// if (out != null) {
// out.close();
// }
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } public void regist() throws SQLException, IOException,
ClassNotFoundException {
JdbcConnect.getConnection();
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
this.request.setCharacterEncoding("UTF-8");
String key = this.request.getParameter("json").toString();
System.out.println(key);
try {
JSONObject obj = new JSONObject(key);
username = obj.getString("username");
password = obj.getString("password");
realname = obj.getString("realname");
cellphone1 = obj.getString("cellphone1");
cellphone2 = obj.getString("cellphone2");
cellphone3 = obj.getString("cellphone3"); } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// username = this.request.getParameter("username");
// password = this.request.getParameter("password");
// realname = this.request.getParameter("realname");
// cellphone1 = this.request.getParameter("cellphone1");
// cellphone2 = this.request.getParameter("cellphone2");
// cellphone3 = this.request.getParameter("cellphone3");
if (username == null && password == null && realname == null
&& cellphone1 == null) {
throw new IOException();
}
System.out.println(username + " " + password);
String sql = "insert into userinfo(username,password,realname,cellphone1,cellphone2,cellphone3) values('"
+ username
+ "','"
+ password
+ "','"
+ realname
+ "','"
+ cellphone1 + "','" + cellphone2 + "','" + cellphone3 + "')";
int flag = JdbcConnect.executeUpdate(sql);
JSONObject obj2 = new JSONObject();
JSONObject result = new JSONObject();
// PrintWriter out = response.getWriter();
try {
if (flag > -1) {
obj2.put("result", "success");
result.put("json", obj2);
response.getWriter().write(result.toString());
System.out.println(result);
} else {
obj2.put("result", "failed");
result.put("json", obj2);
response.getWriter().write(result.toString());
System.out.println(result);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // if (out != null) {
// out.close();
// }
} public void selectUser() throws SQLException, IOException,
ClassNotFoundException {
this.response.setContentType("text/html;charset=utf-8");
this.response.setCharacterEncoding("UTF-8");
String key = this.request.getParameter("json").toString();
try {
JSONObject obj3 = new JSONObject(key);
username = obj3.getString("username"); } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} ResultSet rs = null;
String sql = "select * from userinfo where username='" + username + "'";
try {
JdbcConnect.getConnection();
rs = JdbcConnect.executeQuery(sql);
if (rs.next()) {
JSONObject user = new JSONObject();
user.put("username", rs.getString("username"));
user.put("realname", rs.getString("realname"));
user.put("cellphone1", rs.getString("cellphone1"));
user.put("cellphone2", rs.getString("cellphone2"));
user.put("cellphone3", rs.getString("cellphone3"));
JSONObject tem = new JSONObject();
JSONObject temp = new JSONObject();
tem.put("user", user);
temp.put("json", tem);
response.getWriter().write(temp.toString());
System.out.println(user);
System.out.println(temp);
} else { } } catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
android客户端登录&注册的实现的更多相关文章
- Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能
Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...
- android安卓Sqlite数据库实现用户登录注册
看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...
- 二维码(2)二维码登录原理及Android客户端示例
1,原理 服务器: 数据库: 建立一个2维码登录的数据表,产生一个登录页时,插入一条记录X,X含将要登录的用户名字段(初始为空),2维码中的数据字段(唯一) 登录页面: 在产生的2维码中包含关键数据Y ...
- Android项目实战登录&注册
由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在 res/layout 目录下新建一个 Layout resour ...
- Android项目实战登录&注册
由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在 res/layout 目录下新建一个 Layout resour ...
- 基于SuperSocket的IIS主动推送消息给android客户端
在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...
- 极光推送使用实例(二) Android客户端
上一篇简单介绍了极光推送在Java服务端的实现,如果感兴趣的可以看一下极光推送使用实例(一)JAVA服务端.这篇文章介绍下极光推送在Android客户端的实现. JPush Android SDK 是 ...
- 接入新浪、腾讯微博和人人网的Android客户端实例 接入新浪、腾讯微博和人人网的Android客户端实例
做了个Android项目,需要接入新浪微博,实现时也顺带着研究了下腾讯微博和人人网的Android客户端接入,本文就跟大家分享下三者的Android客户端接入方法. 一.实例概述 说白了,接入微博就是 ...
- Android客户端与服务端交互之登陆示例
Android客户端与服务端交互之登陆示例 今天了解了一下android客户端与服务端是怎样交互的,发现其实跟web有点类似吧,然后网上找了大神的登陆示例,是基于IntentService的 1.后台 ...
随机推荐
- C#操作消息列队
首先安装消息队列MSMQ,在“计算机管理-服务和应用程序-消息队列-专用队列”中新建列队名称Demo: static void SendAndReceiveMsg() { MessageQueue m ...
- 25个经典的Spring面试问答
1.什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问题, ...
- HTML5 的四个亮点
1.XDM cross-document-messaging 跨文档消息传递. 2.原生拖放功能. 3.新媒体元素 audio.video. 4.历史状态管理.
- MongoDB入门学习(1)
什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供 ...
- Java并发编程(一)学习大纲
(一)学习大纲 (二)线程与并发编程的概念 (三)线程安全.原子操作.复合操作.竞态条件.加锁机制(内置锁.重入) (四)对象的共享:可见性.失效数据.非原子的64位操作,加锁与可见性,volatil ...
- Linux进程的虚拟内存区域划分
Linux进程的虚拟内存区域分为:代码区.只读常量区.全局区.BSS段.堆区.栈区 代码区:存储功能代码,函数名所在的区域 只读常量区:存放字符串常量,以及const修饰的全局变量 全局区/数据区:存 ...
- laravel学习之路1:认证相关
Laravel中Auth::guard()表示什么意思? Auth::check() 是判断用户是否登录的方法,如果使用的默认用户系统,那这样使用没问题. 但是使用两组用户的话,如何使用各组用户的功能 ...
- c语言三元组
// Triplet.cpp : 定义控制台应用程序的入口点.//#include "stdio.h"#include "stdlib.h"#define OK ...
- c#中关于compare比较的一点注意事项
一直没有太注意,今天发现在compare比较两个字符串的时候出了点小问题 如果我设置了两个字符串 一个是“2”,一个是“12” 那么在比较的时候 第一个会大于第二个: 如果第一个是“02”,第二个是“ ...
- Java 学习 day09
01-面向对象(内部类访问规则) package myFirstCode; /* 内部类的访问规则: 1. 内部类可以直接访问外部类的成员,包括私有private. 之所以可以直接访问外部类中的成员, ...