您的位置:首页 > 移动开发 > Android开发

Android开发简单登录服务器,客户端实现登录服务器

2016-06-02 12:44 573 查看
上一遍讲到Android客户端的设计,这边说道Android简单服务器端的设计,本应用只
4000
是个简单的设计,故服务器端采用Servlet+Medol+MySql的设计模式;

 

LoginServlet代码如下:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//处理中文乱码

response.setContentType("text/html; charset=UTF-8");

request.setCharacterEncoding("UTF-8");

 

PrintWriter out = response.getWriter();  

 

String name=request.getParameter("Login_name");

String pw=request.getParameter("Login_pw");

System.out.println(name+pw);

 

User user=new User();

user.setUser_name(name);

user.setUser_pw(pw);

 

Login denglu=new Login();

User u=denglu.init(user);

System.out.println("1..01");

if (u!=null){

out.print(u.getUser_name()+";"+u.getUser_pw()+";"

+u.getUser_city()+";"+u.getUser_Email()+";"

+u.getUser_cell()+";"+u.getUser_poto()+";");

//out.print("邮箱为:"+u.getUser_Email());

out.flush();  

out.close(); 

System.out.println(u.getUser_Email());

System.out.println("登录成功");

}//if

else{

out.print("");

out.flush();  

out.close(); 

System.out.println("登录失败");

}//else

}//doPost

 

其他外部类如下:

Login类:

public class Login {

 

public User init(User user){

User u=null;

//获取LginServlet传过来的值

String name=user.getUser_name();

String pw=user.getUser_pw();

//List<Object> list=null;

 

ResultSet rs=null;

String strsql="SELECT * FROM user WHERE user_name='"+name+"' AND user_pw = '"+pw+"'";

 

SearchAlgo se= new SearchAlgo();

rs = se.init(strsql);

if (rs != null){//查找结果不为空

try {

rs.last();

rs.beforeFirst();

u=new User();

while(rs.next()){

u.setUser_name(rs.getString("user_name"));

u.setUser_pw(rs.getString("user_pw"));

u.setUser_city(rs.getString("user_city"));

u.setUser_Email(rs.getString("user_email"));

u.setUser_cell(rs.getString("user_cell"));

u.setUser_poto(rs.getBlob("user_poto"));

System.out.println(rs.getString("user_name"));

}

} catch (SQLException e) {

 

e.printStackTrace();

}//catch

}//if

return u;

}//init

 

User类:

public class User {

private String user_name=null;

private String user_pw=null;

private String user_city=null;

private String user_Email=null;

private String user_cell=null;

private Blob user_poto=null;

public Blob getUser_poto() {

return user_poto;

}

public void setUser_poto(Blob user_poto) {

this.user_poto = user_poto;

}

public String getUser_city() {

return user_city;

}

public void setUser_city(String user_city) {

this.user_city = user_city;

}

public String getUser_name() {

return user_name;

}

public void setUser_name(String user_name) {

this.user_name = user_name;

}

public String getUser_pw() {

return user_pw;

}

public void setUser_pw(String user_pw) {

this.user_pw = user_pw;

}

 

public String getUser_Email() {

return user_Email;

}

public void setUser_Email(String user_Email) {

this.user_Email = user_Email;

}

public String getUser_cell() {

return user_cell;

}

public void setUser_cell(String user_cell) {

this.user_cell = user_cell;

}

}

 

链接数据库类(SearchAlgo类):

public class SearchAlgo {

public Connection con;

Statement sql;

ResultSet rs, rst = null;

public void conclose(){

try {

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

public ResultSet init(String strsql){

String url = "jdbc:mysql://localhost:3306/此处填写MySql数据库名称?user=root&password=&useUnicode=true&characterEncoding=UTF-8";

 

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e) {

 

e.printStackTrace();

}

 

try {

con = DriverManager.getConnection(url);

sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

rs = sql.executeQuery(strsql);

 

if (rs.next())

rst = rs;

}

catch (SQLException e) {

 

e.printStackTrace();

}

return rst;

}

}

 

上述便是服务器端登录的代码了,很简单,有什么不懂的可以留言,大家点个赞哦。

注:如果链接不到MySql数据库,可能是你忘记载入数据库链接驱动了,留言给我,我会第一时间给你发驱动。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息