• MVC模式在Java Web应用程序中的实例分析


    结合六个基本质量属性

    可用性:在正常登录操作期间,进程收到了一个未曾预料的外部消息。该进程操作人员受到了这一消息,并继续操作。

    可修改性:开发人员想改变用户界面,就需要改变代码,并且不会产生有副作用的变化。这其中就用到了mvc模式。model层也就是数据库层和controller控制器层不发生改变,只需改变与用户交互的view层代码即可。

    性能:在正常操作下,输入登录名密码,系统处理登录请求为0.5秒。

    安全性:登录注册时,要加入对用户输入的账户名和密码实现md5加密。这也用到了mvc模式

    易用性:用户希望在运行时取消系统操作,取消在1秒内发生。

    分析具体功能模块的MVC设计实现(例如登录、用户权限等功能模块)

    在实际项目中的具体应用或分析MVC设计模式在具体网站中的应用(需要列举实例)

    例如登录

    view层

    <form action="login.action" method="post" name="login">
      用户登录<br>
      用户名:<input type="text" name="user.username" size=20 id="username"><br>
      密码:<input type="password" name="user.password" size=21 id="username"><br>
      <input type="submit" value="登录">
    </form>

    controller层

    业务逻辑:

    public String execute() throws Exception

      {
        Usertable u = userService.validateUser(user.getUsername(), user.getPassword());
        if (u != null) {
        Map session = ActionContext.getContext().getSession();
        session.put("user", u);
        return SUCCESS;
      }

      else

      {

        return ERROR;

      }
    }

    控制跳转XML中

    <action name="login" class="userAction">
      <result name="success">/login_success.jsp</result>
      <result name="error">/login.jsp</result>
    </action>

    model层包含数据库映射文件:

    1.实体类和对应的hbm.xml文件

    2.对数据库的增删改查

    public class UserDAO extends HibernateDaoSupport implements IUserDAO {
      public void saveUser(Usertable user) {
      this.getHibernateTemplate().save(user);
    }

    public Usertable validateUser(String username, String password) {
      String str[] = { username, password };
      List list = this.getHibernateTemplate().find("from Usertable u where u.username=? and u.password=?", str);
      if (list.size() > 0) {
        Usertable user = (Usertable) list.get(0);
        return user;
      } else
      return null;
    }

    public boolean exitUser(String username) {
      List list = this.getHibernateTemplate().find("from Usertable where username=?", username);
      if (list.size() > 0)
        return true;
      else
      return false;
      }
    }

  • 相关阅读:
    mysql 8.0.18 mgr节点状态长时间处于RECOVERING 状态
    mgr安装 加入第二个节点报错-[ERROR] [MY-011526] [Repl] Plugin group_replication reported: 'This member has more executed transactions than those present in the grou
    mgr安装-启动主节点报错-[ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Unable to announce tcp port
    sqlserver维护计划无法删除处理
    ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
    keepalived-2.0.15 编译安装报错
    论自由与素质
    乘法表
    python函数和方法
    python三引号的用法
  • 原文地址:https://www.cnblogs.com/hyluckydog/p/6825534.html
Copyright © 2020-2023  润新知