Tìm Hiểu Sự Khác Nhau Giữa Struts Là Gì, Tổng Quan Về Struts Framework

Dành cho các bạn lập trình web java. Chắc hẳn bạn đã nghe nhiều về Apache Struts. Vậy Apache Struts là gì, sự khác biệt giữa Struts 1 và Struts 2 là gì? Áp dụng Struts 2 vào dự án thực tế. Hãy cùng nhau tìm hiểu trong bài viết này.

Đang xem: Struts là gì

Apache Struts là gì?

Apache Struts là một framework mã nguồn mở để phát triển các ứng dụng web sử dụng J2EE. Nó sử dụng và mở rộng API Java Servlet để giúp các nhà phát triển áp dụng kiến ​​trúc MVC (Model-view-controller).

Các thành phần của Struts Framework

Basic: hỗ trợ các thành phần cơ bản để xây dựng ứng dụng web trên nền tảng MVC2Tag Libraries: hỗ trợ một số thư viện tag để xây dựng ứng dụng, tuy nhiên Struts có khả năng không sử dụng thư viện tag này mà sử dụng trực tiếp controlTiles HTML Plugins: hỗ trợ xây dựng ứng dụng trên nền tảng MVC2Tag. form of Master Page để áp dụng xuyên suốt siteValidator Plugins: hỗ trợ xác thực phía server thông qua việc cấu hình thông tin của các form và điều khiển đầu vào trên xml.

Cách thức hoạt động của Struts Framework.

Khi người dùng gửi yêu cầu truy cập ứng dụng web, yêu cầu sẽ được chuyển đến ActionServlet, đây là một Servlet được tích hợp trong Framework để hoạt động như một ControllerAction Server trích xuất thành phần yêu cầu nhận được để so sánh với nội dung được ánh xạ trong tệp. config struts-config.xml để tìm các thành phần tương ứng cần xử lý Nếu không tìm thấy sẽ báo lỗi 404 hoặc error tương ứng. Ngược lại, nếu tìm thấy, sẽ xác định hành động và Chế độ xem tương ứng của trình xử lý. Chế độ xem ở đây bao gồm một biểu mẫu nhận đầu vào và đầu ra để trả về người dùng. Giá trị tương ứng của form nhập liệu được lưu trong Bean Form, thực chất là một Đối tượng Java (Action Form) chứa các thuộc tính – trạng thái và các thuộc tính khác. phương thức truy cập get, set. Tại đây nếu áp dụng validate thì dữ liệu đã check và đã check thành công sẽ được lưu trữ trong bean của form và trigger chuyển dữ liệu của FormBean sang Action tương ứng để xử lý Action khi nhận được FormBean sẽ gọi thành phần xử lý. tương ứng từ Java Bean hoặc Java Object tương ứng hoặc kết nối để lấy dữ liệu từ DB, nếu có, để xử lý Sau khi xử lý xong, Action sẽ phải trả kết quả về Action Servlet và ánh xạ nó trong struts-config.xml để xác định chế độ xem đầu ra cho người dùng dựa trên kết quả xử lý trên struts-config. Khi thực hiện xong, dữ liệu từ kết quả xử lý Action và Form Bean sẽ được đổ vào trang JSP đầu ra tương ứng và kết quả là thành công. Chuyển về Action ServletAction Kết quả phản hồi của Servlet trở lại máy khách – quá trình xử lý hoàn tất. Tổng quan về Struts2 Framework.

Xem thêm bài viết hay:  Jailbroken Là Gì, Có Nên Jailbreak Iphone Vào Lúc Này, Và Những Điều Mà Bạn Cần Biết !

Struts2 là một framework được sử dụng để tạo các ứng dụng web dựa trên mẫu thiết kế MVC. Struts2 không chỉ là phiên bản tiếp theo của Struts1 mà nó là bản nâng cấp hoàn chỉnh của kiến ​​trúc Struts, giúp đơn giản hóa mô hình Struts 1 Framework như thu nhỏ các tệp cấu hình hoặc sử dụng các chú thích thay thế cho các tệp. cấu hình.

Xem thêm: Man Lư Trung Hoa – Tính cách Man Lu Trung Hoa là gì?

Một số tính năng cải tiến của Strut2 FrameworkJavaBeans là sử dụng thay cho Action form và có phương thức xác định để kích hoạt thực thi (mặc định là phương thức thực thi không truyền tham số và kiểu trả về là String) để tăng khả năng thực thi. khả năng tái sử dụng của các đối tượng trong các ứng dụng và khuôn khổ khác. Đặc biệt, chúng dễ dàng tạo điều kiện kiểm tra từng thành phần chức năng và thành phần. Sử dụng cả chú thích và tệp cấu hình XML được rút gọn Sử dụng Ngôn ngữ ký hiệu đồ họa đối tượng (OGNL) mới thay thế cho EL của JSP Sử dụng bộ taglib duy nhất thay thế cho 4-5 bộ taglib trong Struts 1 Framework và JSTL 1.1 trong JSP. Các biểu mẫu POJO và các hành động POJO: Struts2 đã loại bỏ các Hành động Biểu mẫu là một phần không thể thiếu của khung Struts. Với Struts2, bạn có thể sử dụng bất kỳ POJO nào để lấy dữ liệu từ biểu mẫu. Tương tự như vậy, với Struts2, bạn có thể xem bất kỳ POJO nào dưới dạng một lớp Hành động. Hỗ trợ thẻ: Struts2 đã cải thiện thẻ biểu mẫu và thẻ mới để giúp các nhà phát triển viết ít mã hơn. Hỗ trợ AJAX: Struts2 đã nhận ra sự tiếp quản của các công nghệ Web2.0 và tích hợp hỗ trợ AJAX vào sản phẩm bằng cách tạo các thẻ AJAX có chức năng rất giống với các thẻ Struts2 tiêu chuẩn. Tích hợp dễ dàng: Tích hợp Struts2 với các khung công tác khác như Spring, Tiles và SiteMesh giờ đã trở nên dễ dàng hơn Hỗ trợ .Template: Hỗ trợ tạo các khung nhìn bằng cách sử dụng tamplates. Hỗ trợ plugin: Hành vi cốt lõi của Struts2 có thể được cải thiện tiến độ bằng cách sử dụng các plugin. Có khá nhiều phần bổ trợ dành cho Struts2.Profiling: Struts2 cung cấp cấu hình tích hợp sẵn để gỡ lỗi ứng dụng. Ngoài ra, Struts cũng cung cấp tính năng gỡ lỗi tích hợp với sự trợ giúp của công cụ gỡ lỗi tích hợp. Dễ dàng sửa đổi đánh dấu Thẻ trong Struts2 có thể được điều chỉnh bằng cách sử dụng các mẫu Freemarker. Điều này không yêu cầu kiến ​​thức về JSP hoặc java. Bạn có kiến ​​thức cơ bản về HTML, XML và CSS đủ để sửa đổi các thẻ. Cấu hình ít hơn: Struts2 giúp bạn cấu hình ít hơn với sự trợ giúp của việc sử dụng các giá trị mặc định cho các cài đặt khác nhau. Bạn không cần phải cấu hình bất cứ điều gì trừ khi bạn muốn thiết lập một cái gì đó khác với các thiết lập mặc định được thiết lập bởi các công nghệ Struts2.View: Struts2 có một sự hỗ trợ tuyệt vời cho nhiều tùy chọn khung nhìn (JSP, Freemarker). , Vận tốc và XSLT)

Xem thêm bài viết hay:  Performance Monitor Là Gì - Cách Sử Dụng Resource Monitor Trong Windows 10

Mời các bạn xem hình bên dưới để hiểu rõ hơn về sự khác biệt giữa Struts 1 và Struts 2.

*

Cách thức hoạt động của Struts2 Framework.

Cơ chế hoạt động tương tự như mô hình MVC của Struts1 Framework nhưng khác ở chỗ nó là pull-framework nghĩa là dữ liệu được lấy trực tiếp từ action để đưa ra view.

Controller: FilterDispatcher là một servlet Filter có nhiệm vụ tiếp nhận yêu cầu và dựa vào cấu hình (có thể là xml hoặc annotation) để định nghĩa các hành động cụ thể để nhận yêu cầu xử lý Model: Action là một lớp java đảm bảo các đặc tính của một đối tượng trong đối tượng mô hình được định hướng và đáp ứng các thuộc tính của JavaBeanView: Kết quả là kết xuất hoặc một loại hành động hoặc trang được chỉ định để trả về và hiển thị trên Trình duyệt Web.

*

Dựa trên sơ đồ trên, vòng đời của một yêu cầu người dùng trong Struts2 có thể được giải thích như sau:

Người dùng gửi yêu cầu đến máy chủ để yêu cầu một số tài nguyên (ví dụ: các trang).FilterDispatcher xem xét yêu cầu rồi xác định hành động thích hợp. Chức năng chặn đã định cấu hình được áp dụng như xác thực, tải tệp lên, v.v. Hành động đã chọn được thực thi để thực hiện thao tác được yêu cầu. Một lần nữa, thiết bị chặn đã định cấu hình được áp dụng để thực hiện bất kỳ quá trình xử lý hậu kỳ nào nếu cần. Cuối cùng, kết quả được chuẩn bị bởi khung nhìn. và trả lại kết quả cho người dùng. Ứng dụng xin chào thế giới với Struts 2.

Xem thêm bài viết hay:  Hộ chiếu ngoại giao là gì? Thủ tục xin cấp ra sao?

Xem thêm: Arccos là gì? Các thuật ngữ toán học cơ bản Hàm lượng giác nghịch đảo

Sau đây mình sẽ hướng dẫn các bạn tạo một ứng dụng hello world với Struts 2 trên IDE Intellij.

Tạo một dự án maven với cấu trúc sau:

*

nội dung pom.xml 4.0.0 com.sun.struts.example struts-example war 0.0.1-SNAPSHOT Simple Struts CRUD Ứng dụng ví dụ CRUD Struts 2 trong bộ nhớ đơn giản UTF-8 2.3.16.1 org.apache.struts struts2-core $ {struts2.version} log4j log4j 1.2.17 javax.servlet servlet-api 2.4 được cung cấp javax.servlet jsp-api 2.0 được cung cấp struts-crud maven-compiler-plugin 3.1 1.6 1.6 org.mortbay.jetty jetty-maven-plugin 8.1 .7 .v20120910 CTRL+C 8999 10 src/main/webapp/WEB-INF/web.xml Nội dung tệp web.xml Struts Simple CRUD struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* Tạo tệp Employee.javapackage com.sun.struts.example.model;import java.io.Serializable;public class Nhân viên triển khai Serializable { private Integer employeeId;private Integer age;private String FirstName;private String LastName;public Employee() {}public Employee (Integer employeeId , String firstName, String lastName, Integer age) {this.employeeId = employeeId;this.firstName = firstName;this.lastName = las tName;this.age = age;}public Integer getEmployeeId() {return employeeId;}public void setEmployeeId(Integer employeeId) {this.employeeId = employeeId;}public Integer getAge() {return age;}public void setAge(Integer age ) {this.age = age;}public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getLastName() {return lastName;}public void setLastName(String lastName ) ) {this.lastName = lastName;}}Tạo tệp EmployeeDao.javapackage com.sun.struts.example.dao;import com.sun.struts.example.model.Employee;import java.util.List;public interface EmployeeDao { Danh sách công khai getAllEmployees(); public Employee getEmployee(Integer id); public void update(Employee emp); public void insert(Employee emp); public void delete(Integer id);}Tạo tệp InMemoryEmployeeDao.javapackage com.sun.struts.example.dao;import com.sun.struts.example.model.Employee;import java.util.ArrayList;import java.util.List ; lớp công khai InMemoryEmployeeDao triển khai EmployeeDao { nhân viên ArrayList tĩnh riêng tư; tĩnh {nhân viên = ArrayList mới(); nhân viên.add(nhân viên mới(1, “Quang”, “Hoa”, 26)); nhân viên.add(nhân viên mới(2, “Quân”, “Thuận”, 18)); }

Bạn thấy bài viết Tìm Hiểu Sự Khác Nhau Giữa Struts Là Gì, Tổng Quan Về Struts Framework có khắc phục đươc vấn đề bạn tìm hiểu ko?, nếu ko hãy comment góp ý thêm về Tìm Hiểu Sự Khác Nhau Giữa Struts Là Gì, Tổng Quan Về Struts Framework bên dưới để Trường Cao đẳng Nghề Khách sạn Du lịch Quốc tế IMPERIAL có thể thay đổi & cải thiện nội dung tốt hơn cho các bạn nhé! Cám ơn bạn đã ghé thăm Website: imperialhotelschool.edu.vn của Trường Cao đẳng Nghề Khách sạn Du lịch Quốc tế IMPERIAL

Nhớ để nguồn: Tìm Hiểu Sự Khác Nhau Giữa Struts Là Gì, Tổng Quan Về Struts Framework của website imperialhotelschool.edu.vn

Chuyên mục: Là gì?

Viết một bình luận