Android開發簡單登陸服務器,客戶端實現登陸服務器

上一遍講到Android客戶端的設計,這邊說道Android簡單服務器端的設計,本應用只是個簡單的設計,故服務器端採用Servlet+Medol+MySql的設計模式;html

 

LoginServlet代碼以下:mysql

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

//處理中文亂碼數據庫

response.setContentType("text/html; charset=UTF-8");設計模式

request.setCharacterEncoding("UTF-8");服務器

 

PrintWriter out = response.getWriter();  this

 

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

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

System.out.println(name+pw);code

 

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數據庫,多是你忘記載入數據庫連接驅動了,留言給我,我會第一時間給你發驅動。

相關文章
相關標籤/搜索