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


    前言在我的上一篇微博里我已经提出了登陆的方法,当时我采取的是纯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);
        }

  • 相关阅读:
    linux 系统下如何进行用户之间的切换
    Linux下如何切换用户
    判断php的运行模式
    一起谈.NET技术,Application、Session、Cookie、ViewState、Cache、Hidden的区别 狼人:
    一起谈.NET技术,HTTP协议及POST与GET操作差异,C#中如何使用POST、GET等 狼人:
    一起谈.NET技术,敏捷开发的26条至理名言 狼人:
    一起谈.NET技术,重温数据库访问——故事篇 狼人:
    一起谈.NET技术,WPF 基础到企业应用系列3——WPF开发漫谈 狼人:
    一起谈.NET技术,使命必达:深入剖析WCF的可靠会话 狼人:
    一起谈.NET技术,.NET中通过代理实现面向方面编程(AOP) 狼人:
  • 原文地址:https://www.cnblogs.com/zhangxinhua/p/8319255.html
Copyright © 2020-2023  润新知