Tạo-ứng-dụng-theo-mô-hình-MVC-với-JavaJspServlet

Mô hình MVC trong JAVA web JSP/Servlet là gì?

Written by IT Phú Trần on 10/05/2017 in Câu hỏi phỏng vấn and LẬP TRÌNH JAVA and LẬP TRÌNH WEB VỚI JSP/SERVLET with 8 comments.

Mô hình MVC trong JAVA web JSP/Servlet là gì? Mô hình MVC là một dạng mẫu thiết kế Design Pattern được áp dụng rộng rãi với tất cả các ngôn ngữ lập trình như JAVA,PHP,ANDROID…Ở bài này chúng ta sẽ cùng nhau tìm hiểu và làm rõ mô hình này nói chung và trong java web jsp/servlet nói riêng nhé.

Đầu tiên chúng ta đi đến với một khái niệm rất quan trọng đó là : MVC là gì…?

Mô hình MVC trong JAVA là gì

1. MVC là gì?

MVC viết tắt của 3 từ đó là Model – View – Controller (MVC) là mẫu thiết kế nhằm mục tiêu chia tách phần Giao diện và Code để dễ quản lý, phát triển và bảo trì.

Mỗi phần lại có có một nhiệm vụ xử lý khác nhau, đối với trong mô hình mvc trong java nói riêng và mô hình mvc nói chung thì :

Để các bạn hiểu rõ hơn, các bạn có thể xem mô hình MVC dưới đây:

mô hình mvc trong java

Nhìn vào mô hình trên thì có thể giải thích rằng.Khi có một user (người dùng) truy cập vào một địa chỉ trên url, tất nhiên sẽ có một request đến và lúc này controller nó sẽ lấy yêu cầu của người dùng.Sau đó sẽ gửi yêu cầu đó đến model.Model sẽ tương tác với database nếu có (đa số sẽ truy xuất dữ liệu từ database), sau đó lấy đúng dữ liệu yêu cầu và gữi trả lại cho controller.Controller xử lý nghiệp vụ, logic business và gữi trả lại cho view.View thực hiện nhiệm vụ hiển thị dữ liệu đúng kết quả cho người dùng yêu cầu.

Vậy tại sao cần mô hình MVC?

+MVC khi dùng trong các project nhỏ sẽ gây phức tạp vấn đề cần giải quyết

+ Mặc dù, MVC tỏ ra lợi thế hơn nhiều so với cách lập trình thông thường. Nhưng MVC luôn phải nạp, load những thư viện đồ sộ để xử lý dữ liệu. Chính điều này làm cho mô hình trở nên chậm chạp hơn nhiều so với việc code tay thuần túy.

+ MVC đòi hỏi người tiếp cận phải biết qua OOP, có kinh nghiệm tương đối cho việc thiết lập và xây dựng một ứng dụng hoàn chỉnh. Sẽ rất khó khăn nếu OOP của người sử dụng còn yếu.

+ MVC tận dụng mảng là thành phần chính cho việc truy xuất dữ liệu. Nhất là với việc sử dụng active record để viết ứng dụng. Chúng luôn cần người viết phải nắm vứng mô hình mảng đa chiều.

Một ví dụ cụ thể về mô hình mvc trong Java web JSP/SERVLET

Chúng ta sẽ hiểu,cài đặt và làm phần này theo mô hình mvc trong java.Bằng cách tạo một ứng dụng đăng nhập mẫu sẽ hiển thị một thông báo tên người dùng chào mừng và nếu đăng nhập thất bại thì nó sẽ chuyển hướng đến trang báo lỗi. Đây là những gì chúng ta sẽ tạo ra.

Yêu cầu:

Tạo một dự án Web bằng cách vào Dynamic web project click File -> New -> Dynamic Web Project.

Điền vào các chi tiết như tên dự án, máy chủ. Nhập tên dự án của bạn là “MVCDemo”. Bạn sẽ nhận được cấu trúc thư mục sau cho dự án.

 

Tạo success.jsp, error.jsp và login.jsp và LoginController servlet, Authenticator class, User class trong các packages. Đặt jstl.jar trong thư mục WEB-INF / lib.

 

Bây giờ chúng ta có cấu trúc của dự án, đặt mã này vào các file tương ứng.

LoginController 

Authenticator.java

User.java

error.jsp

success.jsp

và file web.xml

Start server tomcat của bạn và nhấn url : http://localhost:8080/MVCDemo/login.jsp.

Bạn sẽ có thể xem trang này :

 

Nhập tên người dùng là “itphutran” và mật khẩu là “password”. Bạn sẽ thấy thông báo “Welcome itphutran”.

Để bạn đọc dễ hiểu hơn, hãy nhìn vào sơ đồ thể hiện bên dưới  :

  1. Đầu tiên, người dùng truy cập vào trang login.jsp và điền vào dữ liệu và gửi biểu mẫu.
  2. LoginController  được gọi khi người dùng nhấn nút submit  và xử lý vì thuộc tính action của form =“LoginController”.
  3. Trong LoginController , kiểm tra valid từ người dùng và thiết lập thông tin của người dùng.
  4. rd.forward(request, response);  chuyển tiếp sang trang jsp.Tại trang success.jsp in thông tin username bằng cách sử dụng biểu thức Expression Language trong JSP Welcome ${requestScope[‘user’].username}.

Tổng kết :

Trong bài viết này, chúng ta đã tìm hiểu về mô hình MVC trong các ngôn ngữ lập trình nói chung và trong java web jsp/servlet nói riêng. Qua đó chúng ta đã phân tích những ưu và nhược điểm của mô hình mvc. Phân tích bài toán và trường hợp cụ thể của mô hình mvc trong java web jsp/servlet.Chúc các bạn học tốt!

 

8 Responses to “Mô hình MVC trong JAVA web JSP/Servlet là gì?

  1. I’m impressed, I have to admit. Rarely do I come across a
    blog that’s equally educative and amusing, and let me tell you,
    you’ve hit the nail on the head. The issue is something too few
    folks are speaking intelligently about. I am very happy I came across this in my hunt
    for something regarding this.

  2. Hello it’s me, I am also visiting this web site on a regular basis, this site is genuinely pleasant and the visitors
    are genuinely sharing good thoughts.

  3. Today, I went to the beach front with my kids.
    I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She
    put the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear.

    She never wants to go back! LoL I know this is entirely off topic but I
    had to tell someone!

  4. What a information of un-ambiguity and preserveness of precious know-how on the topic of unpredicted emotions.

  5. Greetings! I’ve been following your blog for a while now and
    finally got the courage to go ahead and give you a shout out
    from Dallas Tx! Just wanted to tell you keep
    up the fantastic work!

  6. Working Auto Liker, Auto Like, autoliker, auto like, Photo Auto Liker, Photo Liker, auto liker, autolike, Status Liker, Autolike International, Auto Liker, Status Auto Liker, Autoliker, Autolike, ZFN Liker, Increase Likes, Autoliker

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *