}
Properties prop = new Properties(); String driver = null; String url = null; String username = null; String password = null; try {
prop.load(this.getClass().getClassLoader().getResourceA }
\
sStream(
driver = prop.getProperty(%url = prop.getProperty(\
username = prop.getProperty(\password = prop.getProperty(\
Class.forName(driver);
return DriverManager.getConnection(url, username,
password);
} catch (Exception e) { }
return null;
e.printStackTrace();
5) 创建用于封装UserTbl表信息的实体类User
package com.amaker.entity; /* *
* @author hz.guo
* 用于封装UserTbl表的实体类
*/
public class User { // 编号
private int id;
// 账号
private String account; // 密码
private String password; // 用户名称
private String name;
19
// 性别
private String gender; // 权限
private int permission; // 备注
private String remark;
public String getAccount() { return account;
}
public void setAccount(String account) { this.account = account;
}
public String getGender() { return gender;
}
public void setGender(String gender) { this.gender = gender;
}
public int getId() { return id;
}
public void setId(int id) { this.id = id;
}
public String getName() { return name;
}
public void setName(String name) { this.name = name;
}
public String getPassword() { return password;
}
public void setPassword(String password) { this.password = password;
}
public int getPermission() { return permission;
}
public void setPermission(int permission) { this.permission = permission;
}
public String getRemark() {
20
}
return remark;
public void setRemark(String remark) { } }
this.remark = remark;
6) 创建访问数据库的DAO接口类UserDao
package com.amaker.dao;
import com.amaker.entity.User; // UesrDao 接口
public interface UserDao {
// 登录方法
public User login(String account,String password); }
7) 创建UserDao接口实现类UserDaoImpl
package com.amaker.dao.impl;
import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;
import com.amaker.dao.UserDao; import com.amaker.entity.User; import com.amaker.util.DBUtil; /** *
* @author 郭宏志
* 用户登录DAO实现类 */
public class UserDaoImpl implements UserDao { /**
* 通过用户名称和密码登录,登录成功返回User对象,登录失败返回null */
public User login(String account, String password) { // 查询SQL语句 String sql = \ \ \ // 数据库连接工具类
21
DBUtil util = new DBUtil();
// 获得连接
Connection conn = util.openConnection(); try { // 获得预定义语句
PreparedStatement pstmt = conn.prepareStatement(sql); // 设置查询参数
pstmt.setString(1, account); pstmt.setString(2, password); // 执行查询
ResultSet rs = pstmt.executeQuery(); // 判断用户是否存在
if (rs.next()) {
// 获得用户信息 int id = rs.getInt(1); String name = rs.getString(4); int permission = rs.getInt(5); String remark = rs.getString(6); // 封装用户信息 User u = new User(); u.setId(id); u.setAccount(account); u.setPassword(password); u.setName(name); u.setPermission(permission); u.setRemark(remark); return u; } } catch (SQLException e) { e.printStackTrace(); } finally { util.closeConn(conn); } return null; }
public static void main(String[] args) { UserDao dao = new UserDaoImpl(); User u = dao.login(\ System.out.println(u.getAccount()); }
22
}
8) 创建LoginServlet类响应请求。该类通过request.getParameter()方法获得请求参数,调用UsrDaoImpl的login()方法,并根据登陆结果返回相应结果信息。
package com.amaker.servlet;
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.amaker.dao.UserDao;
import com.amaker.dao.impl.UserDaoImpl; import com.amaker.entity.User; /** *
* @author 郭宏志
* 响应 Android客户端发来的请求 */
public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(\ PrintWriter out = response.getWriter(); UserDao dao = new UserDaoImpl();
// 获得客户端请求参数
String username = request.getParameter(\String password = request.getParameter(\
User u = dao.login(username, password); if(u!=null){ // 响应客户端内容,登录成功 out.print(build(u)); }else{
23