三层架构(MVC)实现简单登陆注册验证(含验证码)

来源:互联网 发布:男生帽子 知乎 编辑:程序博客网 时间:2024/05/19 06:19

前言在我的上一篇微博里我已经提出了登陆的方法,当时我采取的是纯servlet方式,因为当时刚接触到servlet,正好网上没有这方面的全面讲解,所以我就发飙了。不过在现实生产中我们大多采用的三层架构。所谓三层架构(web层+service层+dao层)。下面我就详细讲解一下
一、dao层——数据访问层

  • 模拟数据库:依然像钱一张一样,我们无法将数据库拿到文档中,所以我还是模拟了数据库(Dao).只不过这里我用的是xml文件来实现数据库
  • <?xml version="1.0" encoding="UTF-8" ?>
    <users>
    <user username="Admin" password="Admin" nickname="Admin" email="1@qq.com"></user>
    <user username="张新华" password="123" nickname="烟花散尽13141" email="870775401@qq.com"></user>
    </users>
  • 然后再数据库中我实现了查找了和增加功能,查找呢又细分通过用户名查找和通过用户名密码查找,前者是查找后者则偏向于验证。通过后者可以验证用户名和密码是否匹配,这两个函数在后面的web层中起到关键因素。

    • 通过用户名查找:

      • `public User FindUserByUsername(String username)
        {
        Document dom=XmlDaoUtil.GetDom();//�õ�dom����
        Element root=dom.getRootElement();

      List list = root.selectNodes(“//user[@username=’”+username+”’]”);
      if(list.size()>0)
      {
      Element userele=list.get(0);
      User user=new User();
      user.setUsername(userele.attributeValue(“username”));
      user.setPassword(userele.attributeValue(“password”));
      user.setNickname(userele.attributeValue(“nikename”));
      user.setEmail(userele.attributeValue(“email”));
      return user;
      }
      else
      {
      return null;
      }
      }`

    • 通过用户名和密码进行验证

      • public User FindUserByUNameAndPsw(String username,String password)
        {
        Document dom=XmlDaoUtil.GetDom();//�õ�dom����
        Element root=dom.getRootElement();

      List list = root.selectNodes(“//user[@username=’”+username+”’ and @password=’”+password+”’]”);
      if(list.size()>0)
      {
      Element userele=list.get(0);
      User user=new User();
      user.setUsername(userele.attributeValue(“username”));
      user.setPassword(userele.attributeValue(“password”));
      user.setNickname(userele.attributeValue(“nikename”));
      user.setEmail(userele.attributeValue(“email”));
      return user;
      }
      else
      {
      return null;
      }
      }

    • 添加用户
    • public void AddUser(User user)
      {
      Document dom=XmlDaoUtil.GetDom();
      Element root=dom.getRootElement();//��ȡ���ڵ�

      //����һ��Ԫ�ض���
      Element userele=DocumentHelper.createElement(“user”);
      Attribute attr1=DocumentHelper.createAttribute(userele, “username”, user.getUsername());
      Attribute attr2=DocumentHelper.createAttribute(userele, “password”, user.getPassword());
      Attribute attr3=DocumentHelper.createAttribute(userele, “nickname”, user.getNickname());
      Attribute attr4=DocumentHelper.createAttribute(userele, “email”, user.getEmail());

      userele.add(attr1);
      userele.add(attr2);
      userele.add(attr3);
      userele.add(attr4);

      root.add(userele);
      }

5 1
原创粉丝点击