服务器端代码
LoginServlet.java
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;
import com.wut.bean.User;
import com.wut.dao.UserDao;
public class LoginServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String username=request.getParameter("username");
String password=request.getParameter("password");
UserDao dao=new UserDao();
User user = dao.login(username, password);
if (user!=null) {
out.println("succse");
request.getSession().setAttribute("username", username);
}else{
out.println("failure");
}
out.flush();
out.close();
}
}
UserDao数据库操作类
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import com.wut.bean.User;
import com.wut.util.DBUtil;
public class UserDao {
/**
* 用户名密码登录
* @param username
* @param password
*/
public User login(String username,String password){
User user=new User();
Connection conn = DBUtil.getConnection();
QueryRunner queryRunner = new QueryRunner();
try {
user = queryRunner.query(conn, "select * from User where username='"+username+"' and password='"+password+"'", new BeanHandler<User>(User.class));
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
}
这里我运用了commons-dbutils-1.7.jar库
注意JSP的web.xml
<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>LoginServlet</servlet-name>
<servlet-class>com.wut.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
安卓端代码
WebService.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class WebService {
public static String executeHttpGet(String username, String password) {
HttpURLConnection conn = null;
InputStream is = null;
try {ַ
String path = "http://xxx/WebConference/LoginServlet";
path = path + "?username=" + username + "&password=" + password;
conn = (HttpURLConnection) new URL(path).openConnection();
conn.setConnectTimeout(3000);
conn.setReadTimeout(3000);
conn.setDoInput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("Charset", "UTF-8");
if (conn.getResponseCode() == 200) {
is = conn.getInputStream();
return parseInfo(is);
}
}catch (Exception e) {
e.printStackTrace();
} finally {
if (conn != null) {
conn.disconnect();
}
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
private static String parseInfo(InputStream inStream) throws Exception {
byte[] data = read(inStream);
return new String(data, "UTF-8");
}
public static byte[] read(InputStream inStream) throws Exception {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
inStream.close();
return outputStream.toByteArray();
}
}
LoginActivity
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
public class LoginActivity extends BaseActivity {
private AutoCompleteTextView mEmailView;
private EditText mPasswordView;
private Button submit;
private String info=null;
private static Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
init();
}
private void init() {
submit = (Button) findViewById(R.id.email_sign_in_button);
mEmailView=(AutoCompleteTextView) findViewById(R.id.email);
mPasswordView=(EditText) findViewById(R.id.password);
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new MyThread()).start();
}
});
}
public class MyThread implements Runnable {//开启一个线程
@Override
public void run() {
info = WebService.executeHttpGet(mEmailView.getText().toString(), mPasswordView.getText().toString());
handler.post(new Runnable() {
@Override
public void run() {
if(info.equals("succse")){
showToast(info+"登录成功");
}else{
showToast("登录失败");
}
}
});
}
}
}