VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Java Cơ Bản

Java là gì? Lịch sử Java Các tính năng của Java Cài đặt môi trường Java (cho người mới bắt đầu) Thiết lập PATH cho java Chương trình Hello World JDK, JRE và JVM Biến trong java Các kiểu dữ liệu trong java Ép kiểu (Type casting) Các toán tử trong Java Hệ thống Unicode trong java

Câu Lệnh Điều Khiển

Mệnh đề If-else Mệnh đề Switch-case Vòng lặp For Vòng lặp While Vòng lặp Do-While Break trong java Continue trong java Chương trình java kinh điển

Các Tính Chất Của Java OOPs

Tính đóng gói trong java Tính kế thừa trong java Tính đa hình trong java Nạp chồng phương thức Ghi đè phương thức Overloading vs Overriding

Các Khái Niệm Java OOPs

Tổng quan java OOPs Lớp và đối tượng Package trong java Constructor trong java Từ khóa this trong java Từ khóa super trong java Từ khóa final trong java Từ khóa static trong java Access Modifier trong java Abstract class trong java Interface trong java Abstract vs Interface trong java Lớp Object trong java Object Cloning trong java equals() và hashCode() Array (mảng) trong java Khai báo mảng trong java Duyệt mảng trong java Lớp Wrapper trong java Đệ quy trong java Truyền giá trị và tham chiếu trong java Toán tử instanceof trong java Sử dụng regex trong java

Mô Hình MVC

Mô hình MVC là gì? - Ví dụ login sử dụng mô hình MVC trong Java

Java Programs

Tính giai thừa trong java Check số nguyên tố trong java Dãy số Fibonacci trong java Chuyển đổi hệ cơ số trong java Liệt kê n số nguyên tố đầu tiên trong Java
Java String Xử Lý Ngoại Lệ Các Lớp Lồng Nhau Đa Luồng (Multithreading) Java AWT Java Swing Java I/O Ví Dụ Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Java Math Bài Tập Java Có Lời Giải Câu Hỏi Phỏng Vấn Java
1 / 3
❮ ❯

Mô hình MVC là gì? - Ví dụ login sử dụng mô hình MVC trong Java


Bài tập java có lời giải
Bài tập quản lý sinh viên trong java

Nội dung chính

  • MVC là gì?
  • Các thành phần trong MVC
    • Model
    • View
    • Controller
  • Ưu điểm và nhược điểm của MVC
    • Ưu điểm
    • Nhược điểm
  • Ví dụ login sử dụng mô hình MVC trong Java
    • Tạo model: LoginModel.java
    • Tạo view: LoginView.java
    • Tạo controller: LoginController.java
    • Tạo lớp App.java chứa hàm main để chạy ứng dụng.
    • Kết quả:

MVC là gì?

MVC (viết tắt của Model-View-Controller) là một mẫu kiến trúc phần mềm hay mô hình thiết kế để tạo lập giao diện người dùng trên máy tính. MVC chia một ứng dụng thành ba phần tương tác được với nhau, mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.

  • Model: Quản lý, xử lý dữ liệu.
  • View: Hiển thị dữ liệu cho người dùng.
  • Controller: Điều khiển sự tương tác giữa Model và View.
Mô hình MVC là gì?

Mô hình MVC giúp tách biệt giữa cách thức mà dữ liệu được xử lý phía nội hàm và phần dữ liệu hiển thị phía người dùng. Ở đây Controller nhận được tất cả các yêu cầu cho ứng dụng và sau đó làm việc với Model để chuẩn bị dữ liệu cần thiết cho View. View sau đó sử dụng các dữ liệu được chuẩn bị bởi Controller để hiển thị cho người dùng.


Các thành phần trong MVC

Model

  • Là bộ phận có nhiệm vụ quản lý dữ liệu của ứng dụng.
  • Chức năng biểu diễn, vận chuyển thông tin để trình diễn (view) và xử lý (control)
  • Chứa tất cả các nghiệp vụ logic, đối tượng mô tả dữ liệu, ...

View

  • Tương tác với người sử dụng.
  • Show kết quả từ tầng Controller.
  • Thu nhận các hoạt động, request của người sử dụng và chuyển cho tầng Controller xử lý.
  • Hiểu một cách đơn giản, View là hệ thống các frame, cửa sổ của ứng dụng; các trang giao diện web: html, jsp; Các bảng, mẫu biểu, báo cáo.

Controller

  • Định nghĩa các hành vi, hoạt động, xử lý của hệ thống.
  • Đối chiếu hành động của người sử dụng từ View. Đồng thời tương tác Model để gọi View và hiển thị thông tin tương ứng cho người dùng.

Ưu điểm và nhược điểm của MVC

Ưu điểm

Do được chia thành các thành phần độc lập nên Mô hình MVC giúp phát triển ứng dụng có code dễ đọc, dễ nâng cấp, bảo trì.

Thể hiện tính chuyên nghiệp trong việc tạo ứng dụng.

Nhược điểm

Đối với dự án nhỏ việc áp dụng mô hình MC gây cồng kềnh, tốn thời gian trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu của các thành phần.


Ví dụ login sử dụng mô hình MVC trong Java

Tạo một project có cấu trúc như sau:

Ví dụ login sử dụng mô hình MVC trong Java

Tạo model: LoginModel.java


package vn.viettuts.mvc;

public class LoginModel {
    private String userName;
    private String password;

    public LoginModel() {
    }

    public LoginModel(String userName, String password) {
        super();
        this.userName = userName;
        this.password = password;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

Tạo view: LoginView.java

Lớp này chứa 2 phương thức:

  • Phương thức showMessage(): hiển thị thông tin cho người dùng.
  • Phương thức getUserInfo(): được sử dụng để thu thập thông tin user mà người dùng nhập.

package vn.viettuts.mvc;

import java.util.Scanner;

public class LoginView {
    public static Scanner scanner = new Scanner(System.in);

    public void showMessage(String smg) {
        System.out.println(smg);
    }

    public LoginModel getUserInfo() {
        LoginModel user = new LoginModel();
        System.out.print("Username: ");
        user.setUserName(scanner.next());
        System.out.print("Password: ");
        user.setPassword(scanner.next());
        return user;
    }
}

Tạo controller: LoginController.java


package vn.viettuts.mvc;

public class LoginController {
    private LoginView view;

    public LoginController(LoginView view) {
        this.view = view;
    }

    public void login() {
        while (true) {
            LoginModel user = view.getUserInfo();
            if (checkLogin(user)) {
                view.showMessage("success!");
                break;
            } else {
                view.showMessage("wrong username or password!");
            }
        }
    }

    private boolean checkLogin(LoginModel user) {
        if ((user.getUserName().equals("admin")) 
                && (user.getPassword().equals("admin"))) {
            return true;
        }
        return false;
    }

    public LoginView getView() {
        return view;
    }

    public void setView(LoginView view) {
        this.view = view;
    }
}

Tạo lớp App.java chứa hàm main để chạy ứng dụng.


package vn.viettuts.mvc;

public class App {
    public static void main(String[] args) {
        LoginView view = new LoginView();
        LoginController control = new LoginController(view);
        // goi ham login
        control.login();
    }
}

Kết quả:

Ví dụ login sử dụng mô hình MVC trong Java
Bài tập java có lời giải
Bài tập quản lý sinh viên trong java

Recent Updates

Xuất dữ liệu ra màn hình console trong JavaCài đặt môi trường JavaJava Swing - Bài tập quản lý sinh viên trong javaLinkedList trong javaArrayList trong javaBài tập java có lời giảiSử dụng Javascript trong HTMLToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - Sắp xếp nổi bọt (Bubble Sort) trong JavaSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml