STRUTS 2 LÀ GÌ

  -  

Đối cùng với chúng ta lập trình sẵn viên java website. Chắc hẳn đã từng có lần nghe khá nhiều về Apađậy Struts. vậy Apache Struts là gì, sự khác biệt giữa Struts 1 cùng Struts 2 là như thế nào? Ứng dụng Struts 2 vào dự án thực tế. Các bạn hãy thuộc mình tò mò tức thì vào nội dung bài viết này.

Bạn đang xem: Struts 2 là gì

Quý khách hàng đang xem: Struts 2 là gì

Apabịt Struts là gì?

Apabít Struts là một framwork mã mối cung cấp msinh sống mang đến việc trở nên tân tiến những vận dụng web bởi J2EE. Nó thực hiện cùng mở rộng Java Servlet API sẽ giúp đỡ cho các xây dựng viên vận dụng bản vẽ xây dựng MVC (Model-view-controller).

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

Basic: cung cấp các yếu tố cơ phiên bản để desgin ứng dụng website bên trên căn cơ MVC2Tag Libraries: cung cấp một số tag library nhằm sản xuất áp dụng tuy vậy Struts có chức năng không phải sử dụng tag library này nhưng mà cần sử dụng trực tiếp luôn luôn HTML controlTiles Plugins: hỗ trợ vấn đề tạo vận dụng theo dạng Master Page để áp dụng bên trên toàn trang webValidator Plugins: cung ứng validation bên trên phía server thông qua việc cấu hình công bố các form với control nhập liệu trên xml.

Cơ chế hoạt động vui chơi của Struts Framework.


*

khi user gửi thử dùng tầm nã xuất vận dụng website, request được đưa mang lại ActionServlet, đấy là Servlet được tạo nên sẵn vào Framework để gia công tác dụng nlỗi Controllerkích hoạt Server trích xuất yếu tắc request nhận được để đối chiếu với văn bản được mapping trong tập tin thông số kỹ thuật struts-config.xml nhằm tìm thấy những yếu tắc tương xứng cấn xử lýNếu không tìm kiếm thấy đang báo lỗi 404 xuất xắc lỗi tương xứng. Ngược lại, nếu tra cứu thấy vẫn xác minh action cùng View tương xứng của phần xử trí. View ở chỗ này bao gồm form đón cực hiếm nhập với kết xuất nhằm trả về bạn dùngGiá trị tương xứng của size nhập được lưu trữ vào Form Bean, thực tế là một trong những Java Object (Action Form) tất cả đựng những thuộc tính – state và những phương thức truy vấn get, phối. Tại đây, giả dụ tất cả vận dụng validation thì dữ liệu được checking, checking thành công xuất sắc thì mới có thể được lưu trữ vào khung bean cùng kích hoạt chuyển tài liệu của FormBean mang lại kích hoạt khớp ứng để xử lýAction khi tiếp nhận FormBean đang Điện thoại tư vấn yếu tắc giải pháp xử lý khớp ứng bốn Java Bean giỏi Java Object tương xứng xuất xắc liên kết mang tài liệu từ DB về giả dụ tất cả để xử lýSau Khi xử trí hoàn toàn, kích hoạt đang đề nghị trả kết quả trsinh sống về kích hoạt Servlet đôi khi mapping trong struts-config.xml để xác minh view kết xuất cho tất cả những người sử dụng dựa vào tác dụng cách xử lý trên struts-config.khi xác định kết thúc, dữ liệu trường đoản cú công dụng cách xử lý Action với Form Bean sẽ được đổ vào trang JSPhường. kêt xuất khớp ứng với kết quả thành công xuất sắc gửi về kích hoạt Servletkích hoạt Servlet response hiệu quả về client – hoàn chỉnh quy trình giải pháp xử lý.Tổng quan liêu về Struts 2 Framework.Một số công năng đổi mới của Strut2 FrameworkJavaBeans được áp dụng sửa chữa Action form với bao gồm thủ tục chỉ định và hướng dẫn nhằm kích hoạt thực hiện (mang định là cách tiến hành exedễ thương không có ttê mê số truyền với mẫu mã trả về là phong cách String) nhằm mục tiêu tăng tài năng tái thực hiện của những object trong các ứng dụng với những framework không giống. điều đặc biệt, bọn chúng dễ dãi thuật một thể mang lại testing từng yếu tố công dụng và thành phầnSử dụng cả annotation với tập tin thông số kỹ thuật XML rút ít gọnSử dụng ngữ điệu bắt đầu Object Graphic Notation Language (OGNL) thay thế mang đến EL của JSPSử dụng bộ taglib duy nhất gắng đến 4-5 cỗ taglib vào Struts 1 Framework và JSTL 1.một trong JSP.Các POJO size cùng POJO action: Struts2 sẽ thải trừ các Form kích hoạt mà là một phần cần thiết bóc tách tránh của Struts framework. Với Struts2, chúng ta có thể áp dụng ngẫu nhiên POJO nào để thừa nhận dữ liệu từ bỏ khung. Tương từ bỏ như vậy, với Struts2 chúng ta cũng có thể xem ngẫu nhiên POJO như thế nào có tác dụng lớp Action.Hỗ trợ thẻ: Struts2 đang cải tiến những thẻ khung với những thẻ bắt đầu nhằm mục đích góp các công ty cách tân và phát triển viết mã ít hơn.Hỗ trợ AJAX: Struts2 vẫn công nhận sự tiếp quản của những công nghệ Web2.0 và gắn vào hỗ trợ AJAX vào thành phầm bằng cách tạo các thẻ AJAX gồm tác dụng hết sức tương tự với các thẻ Struts2 tiêu chuẩn.Tích phù hợp dễ dàng dàng: Việc tích đúng theo Struts2 cùng với những framework khác như Spring, Tiles và SiteMesh giờ đây đang trở đề xuất dễ ợt hơn.Hỗ trợ Template: Hỗ trợ tạo thành các view bằng vấn đề sử dụng các tamplate.Hỗ trợ Plugin: Các hành động của core Struts2 hoàn toàn có thể được cách tân bằng phương pháp sử dụng các plugin. Lúc bấy giờ có khá nhiều plugin tất cả sẵn mang đến Struts2.Profiling: Struts2 hỗ trợ tích vừa lòng profiling nhằm gỡ lỗi ứng dụng. Dường như, Struts cũng hỗ trợ gỡ lỗi được tích phù hợp với sự hỗ trợ của luật gỡ lỗi được phát hành bên trong.Dễ dàng sửa đổi các thẻ Tag markups vào Struts2 hoàn toàn có thể được điều khiển và tinh chỉnh bằng phương pháp sử dụng các chủng loại Freemarker. Điều này sẽ không thử dùng loài kiến ​​thức JSPhường. hoặc java. Quý khách hàng có kiến thức và kỹ năng cơ bạn dạng về HTML, XML và CSS đủ nhằm sửa thay đổi những thẻ.Cấu hình không nhiều hơn: Struts2 giúp cho bạn cấu hình thấp hơn với việc hỗ trợ của bài toán thực hiện các quý giá mặc định cho những thiết lập khác biệt. Quý Khách không nhất thiết phải cấu hình một chiếc nào đấy trừ khi bạn muốn cấu hình thiết lập không giống các cấu hình thiết lập mang định được tùy chỉnh do Struts2.Các technology View: Struts2 có một sự cung cấp tuyệt vời nhất cho những tuyển lựa view (JSPhường, Freemarker, Velothành phố và XSLT)

Các bạn hãy xem hình dưới đây để nắm rõ hơn về sự việc khác hoàn toàn thân Struts 1 va Struts 2.

Xem thêm: Top 9 Ví Bitcoin Cash (Bch) Là Gì? Bitcoin Wallet


*

Cơ chế hoạt động vui chơi của Struts 2 Framework.

Cơ chế chuyển động tựa như như mô hình MVC của Struts1 Framework tuy thế điểm biệt lập nó là pull-framework tức là dữ liệu được lấy thẳng từ bỏ action để đưa mang đến view.

Controller: FilterDispatcher là servlet Filter có nhiệm vụ tiếp nhận request với dựa trên thông số kỹ thuật (hoàn toàn có thể là xml giỏi annotation) để xác minh action cụ thể nhằm đón nhận request đến xử lýModel: kích hoạt là 1 trong những java class bảo đảm an toàn công dụng của một object trong mô hình phía đối tượng người sử dụng với thỏa đặc thù của JavaBeanView: Result là 1 kết xuất hay một dạng khẳng định action tốt trang chuyển về và trình bày trên Web Browser.

Xem thêm: Là Gì? Nghĩa Của Từ Donated Là Gì Và Cách Donate Như Thế Nào?


*

Dựa trên digram sống trên, rất có thể lý giải vòng đời của một request của người dùng vào Struts2 như sau:

Sau đây bản thân sẽ giải đáp các bạn sản xuất vận dụng hello world với Struts 2 bên trên IDE Intellij.

Tạo project maven với cấu trúc nhỏng sau:
*

ngôn từ file pom.xml 4.0.0 com.sun.struts.example struts-example war 0.0.1-SNAPSHOT Simple Struts CRUD Simple in-memory CRUD Struts 2 example application UTF-8 2.3.16.1 org.apache.struts struts2-core $struts2.version log4j log4j 1.2.17 javax.servlet servlet-api 2.4 provided javax.servlet jsp-api 2.0 provided struts-crud maven-compiler-plugin 3.1 1.6 1.6 org.mortcất cánh.jetty jetty-maven-plugin 8.1.7.v20120910 CTRL+C 8999 10 src/main/webapp/WEB-INF/web.xml Nội dung file website.xml Struts Simple CRUD struts2 org.apabịt.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* Tạo file Employee.javapackage com.sun.struts.example.model;import java.io.Serializable;public class Employee implements 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 = lastName;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 tin EmployeeDao.javapackage com.sun.struts.example.dao;import com.sun.struts.example.model.Employee;import java.util.List;public interface EmployeeDao public List 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 tin InMemoryEmployeeDao.javapackage com.sun.struts.example.dao;import com.sun.struts.example.mã sản phẩm.Employee;import java.util.ArrayList;import java.util.List;public class InMemoryEmployeeDao implements EmployeeDao { private static ArrayList employees; static employees = new ArrayList(); employees.add(new Employee(1, "Quang", "Hòa", 26)); employees.add(new Employee(2, "Quang", "Thuận", 18));