JavaWeb-SMBMS 登录流程解析
结构
数据库访问Dao层
public interface UserDao {
public User getLoginUser(Connection connection,String userCode,String password) throws SQLException;
}
- UserDao实现类(UserDaoImpl):实现UserDao接口:
public class UserDaoImpl implements UserDao {
@Override
public User getLoginUser(Connection connection, String userCode,String password) throws SQLException {
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
User user = null;
if(connection!=null)
{
String sql = "select * from smbms_user where userCode=? and password=?";
Object params[] = {userCode,password};
resultSet = BaseDao.execute(connection,resultSet,preparedStatement,params,sql);
if(resultSet.next())
{
user = new User();
user.setId(resultSet.getInt("id"));
user.setUserCode(resultSet.getString("userCode"));
user.setUserName(resultSet.getString("userName"));
user.setPassword(resultSet.getString("password"));
user.setGender(resultSet.getString("gender"));
user.setBirthday(resultSet.getDate("birthday"));
user.setPhone(resultSet.getString("phone"));
user.setAddress(resultSet.getString("address"));
user.setUserRole(resultSet.getString("userRole"));
user.setCreatedBy(resultSet.getString("createdBy"));
user.setCreationDate(resultSet.getDate("creationDate"));
user.setModifyBy(resultSet.getString("modifyBy"));
user.setModifyDate(resultSet.getDate("modifyDate"));
}
BaseDao.closeResource(null,preparedStatement,resultSet);
}
return user;
}
}
业务逻辑Service层
- UserService 接口 :
提供一个接口,规范 实现类的使用
public interface UserService {
public User login(String userCode, String password);
}
- UserServiceImpl 接口:
实现UserService接口,进行具体的业务操作
public class UserServiceImpl implements UserService{
private UserDao userDao;
public UserServiceImpl(){
userDao = new UserDaoImpl();
}
@Override
public User login(String userCode, String password) {
Connection connection = null;
User user = null;
try{
connection = BaseDao.getConnection();
user = userDao.getLoginUser(connection,userCode,password);
}catch (SQLException e)
{
e.printStackTrace();
}finally {
BaseDao.closeResource(connection,null,null);
}
return user;
}
}
控制Servlet层:
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("LoginServlet------start......");
String userCode = req.getParameter("userCode");
String userPassword = req.getParameter("userPassword");
UserService userService = new UserServiceImpl();
User user = userService.login(userCode,userPassword);
if(user!=null)
{
req.getSession().setAttribute(Constants.USER_SESSION,user);
resp.sendRedirect("jsp/frame.jsp");
}else
{
req.setAttribute("error","用户名/密码不正确");
req.getRequestDispatcher("login.jsp").forward(req,resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}