Tuesday, June 7, 2016

J2EE - Basic component of struts 2

- Các component chủ yếu của Struts 2 bao gồm :
     - Action : là component của server, là tầng gọi tất cả các xử lí logic, bussiness để xử lí request của người dùng. Và nó sẽ tương tác trực tiếp với các model, cũng như cung cấp dữ liệu cho View.
     - Interceptor : Interceptor tương tự như servlet filter. Interceptor được gọi trước khi action được gọi và sau khi action xử lí xong.
     - The value stack : là nơi chứa tất cả các thông tin cần thiết.
     - The OGNL : The object graph navigation language, giúp lấy dữ liệu từ value stack. Ngoài ra nó còn giúp chuyển đổi và truyền dữ liệu.
     - Validation : cung cấp khả năng validation các dữ liệu.

Monday, June 6, 2016

J2EE - Design Pattern MVC

Là mẫu thiết kế ứng dụng theo 3 tầng : View - Model - Controller. Mỗi phần có một chức năng, nhiệm vụ riêng biệt với các phần khác.

- Tại sau cần phải tách ứng dụng của mình thành 3 phần ?
     - Thứ nhất : làm như vật sẽ dẽ dàng trong công việc quản lí code. Bởi các thành phần này tách biệt lẫn nhau. Sự ràng buộc của nó rất ít. 
     - Thức hai : dẽ dàng nâng cấp, bảo trì.Bởi vì các thành phần MVC là các thành phần đọc lập và mỗi thành phần đảm nhiệm một chức năng, cũng như nhiệm vụ riêng biệt.

- Thành phần trong MVC : như tên gọi của nó thì ta có 3 thành phần:
     - View : là tầng hiển thị các component tương tác với người dùng. Tức và phần giao diện mà người dùng có thể nhìn thấy.
     - Model : là tầng chứa bussiness, logic của ứng dụng. 
     - Controller : nhiệm vụ điều hướng các yêu cầu của người dùng tương ứng với các model.

- MVC làm việc như thế nào ?
     - Đầu tiên thông qua View, người dùng sẽ gửi 1 request lên server. Và yêu cầu này sẽ được gửi đến Controller.

     - Tiếp theo controller sẽ chuyển dữ liệu của request vào model. Và model sẽ xử lí và truyền dữ liệu lên View.

     - Sau khi view đã có dữ liệu từ model. Nó sẽ transforms thành các output tương ứng. Và cuối cũng trả về response cho người dùng.

Sunday, June 5, 2016

J2EE - Giới thiệu tổng quan về Framework Struts 2

- Đầu tiên mình xin nói qua một chút khái niệm cũng như đặc điểm của một framework :
     - Framework là một tập hợp của các interface và các class giúp phát triển một ứng dụng.
     - Một framework cung cấp cách phương thức sử dụng ở nhiều trường hợp khác nhau.
     - Vai trò của một framework, framework cung cấp sẵn các công cụ, các phương thức cho một công việc nào đó cụ thể.
     - Đặc điểm của một framework :
           - Dễ dàng cho việc nâng cấp và bảo trì.
           - Có khả năng mở rộng và dẽ sử dụng.
           - Cho phép tái sử dụng code.

- Tiếp theo mình sẽ giới thiệu struts 2:
      - Struts 2 : là một open resource được phát triển với Craig McClanahan và được hỗ trợ The Apache Software Foundation.
       - Struts 2 : là một framework theo mô hình MVC. Dựa trên Struts 1 và là cải thiện của struts 1. Struts 2 việc định nghĩa các thành phần trở nên đơn gian và sáng sủa hơn.
       - Mô hình làm việc của Struts 2 :

     - Trong struts 2 là chỉ bao gồm 1 controller và controller này có thể chứa các controller khác.
     - Sau khi nhận request của người dùng, controller sẽ xác định xem sẽ gọi đến Action nào.Sau đó dữ liệu truyền vào model.
     - Sau đó Action sẽ chuyển hướng đến View và View sẽ lấy dữ liệu từ model và trả về response cho người dùng.
     - Mô hình chi tiết hơn :

          - Khi người dùng có 1 request lên server. Thì request sẽ chuyển đến ActionMapper và sau đó nó sẽ đi qua các filter.
           - Sau đó nó sẽ đọc file struts.xml, tùy thuộc vào config trong file struts.xml. ActionProxy sẽ chuyển đến Action tương ứng. Trước khi gọi Action thì nó sẽ các gọi các interceptor nếu có. Sau đó nó gọi đến Action thật sự và nó trả về resuilt.
          - Sau khi có Resuilt nó sẽ định hướng đến View, sau đó nó tiếp tục đi qua các interceptor và trả về Response cho người dùng.