Android通过Tomcat用JSP做服务器实现用户登录(MySQL数据库)
程序员文章站
2024-01-16 22:33:52
服务器端代码
loginservlet.java
import java.io.ioexception;
import java.io.printwriter;
import javax...
服务器端代码
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.class)); } catch (sqlexception e) { e.printstacktrace(); } return user; } }
这里我运用了commons-dbutils-1.7.jar库
注意jsp的web.xml
this is the description of my j2ee component this is the display name of my j2ee component loginservlet com.wut.servlet.loginservlet loginservlet /loginservlet
安卓端代码
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 = "https://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("登录失败"); } } }); } } }
上一篇: 分析函数的高级SQL功能介绍