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