BÁO CÁO SEMINAR STRUTS 2 pot

50 405 1
BÁO CÁO SEMINAR STRUTS 2 pot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO SEMINAR STRUTS 2 Bộ môn Chuyên Đề Java Giáo Viên Hướng Dẫn Thầy : Ngô Bá Nam Phương Nhóm Thực Hiện MSSV Họ Tên 0512007 Lê Văn Bình 0512337 Trương Trung Thế 0512386 Lê Cung Tưởng Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin Mục lục    !" #$%" %" &$%'%()*%+, -.%/0*123!$%4 -.%/$%5%()*%+4 67%89%(:(%*!$%5%()*%+; <$%%=>(?(@ <%A%*B(@ -?7*$% -?7* C!8D ?-?7* C!E*F* EF*0G(" EF*" G(" 7*1%(%H%I" J(A(%G(, ?G( %(EF*G(, G(, G( %(G(4 Struts 2 Page  Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin ('%((+(%G(4 5(*KG(4 !LM(8G(; M(G(; NOAN( (%G(; B$%(G(@ +P$G(@ *?G( *G(Q M(%(A*% J77(%(A*% R!I *3(%(A*%D 7M!%*!% 'SGME$ T!$%M! ?**EO%?( M('*%M!" M((8U( VA)*% V (M!, (M(?M!, 5M(%((M!, M(?(M!4 ?M(( !4 M((8(%(!4 M((+?*8M!4 Struts 2 Page D Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin (M(V-(KV (O%?(4 5M(% *M!; !M(((M!; $((SAF*%*A!)*A!%*A; $((SAF*%*A!)*A!%*AD@ BM(*?*?*8M!D@ +M(A *)((M!D@ W>WGME$D M(A%*A(%KM!D ?M(M!D M(F*M!D M(A%M!D (M(?(M!D 5M( (M!DD !M( (M!DD M((M!DD M(AM!DD BM(%M!DX +M(5V((V ((5M!DX M((%*%M!D M(AA( M!D M((%!(M!D" *M(!((%*%M!D" AM(*%M!D, Struts 2 Page X Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin :M(?(M!D, PEB80$%D, M(N( M!D, M(JM!D4 DM(M!D; XM($?M!X M(Y M!XD "M( (F(A+(%M!XX ,M(??( A(M!X 4M((8%(M!X, ;M(**A((%M!X, @M(%(( %((* (M!X; PM0+Z*@ I. Giới thiệu mô hình MVC - MVC viết tắt từ cụm từ Model-View-Controller - MVC lần đầu được sử dụng vào năm 1979 trong ứng dụng Smalltalk.Nó được phát triển bởi Trygve Reenskaug - Ngày nay với sự phát triển của công nghệ,một ứng dụng có thể được tách thành nhiều phần (layer) và chúng được chạy ở trên nhiều máy tính khác nhau,chẳng hạn như: tầng giao diện (The presentation/User Interface) ,tầng nghiệp vụ (Business logic/Controller), tầng truy xuất dữ liệu (data access model). Mô hình MVC ra đời để đáp ứng cho những yêu cầu trên,và nó được chọn làm kiến trúc triển khai trên các ứng dụng web application. - Trong ứng dụng web application thì: + Tầng View: là các trang HTML/XHTML + Tần Controller: đóng vai trò trung gian trong việc bắt sự kiện (event) do người dùng tương tác trên tầng giao diện (View Layer),sau đó ứng với các sự kiện này nó sẽ đánh thức các xử lý nghiệp vụ tương ứng ở tầng nghiệp vụ (Model Layer).Kết quả nhận được sau khi xử lý sẽ được gửi trả lại tầng giao diện Struts 2 Page  Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin + Tầng Model: đóng vai trò trong việc xử lý tất cả các thao tác nghiệp vụ,từ việc truy xuất cơ sở dữ liệu,tính toán kết quả trả về… - Một số framework sử dụng mô hình MVC: Swing, Struts, Tapestry, Spring MVC Framework, ASP.NET MVC Framework, PureMVC Framework for Actionscript, CakePHP… 1. Lợi ích của việc sử dụng mô hình MVC Tách biệt rõ ràng nhiệm vụ của từng layer: model-view-controller => giúp cho việc phân công công việc trong nhóm (work team) được dễ dàng. - Mang lại hiệu quả cao trong việc tổ chức và tái sử dụng lại code.Chẳng hạn như với kiến trúc tổ chức của model thì kết quả trả về là trung lập,nó không theo 1 chuẩn formatting (danh sách chuỗi,XML,JSON…) nào cả => có thể tái sử dụng lại cho các tầng View ở ứng dụng khác. - Tính dễ thay đổi (modifiability) tầng View hay tầng Model nếu có nhu cầu vì mỗi tầng nay hoàn toàn tách biệt và không có mối ảnh hưởng ràng buộc với nhau. - Thông thường,HTTP protocol truyền tham số request theo kiểu chuỗi thông thường,và chuỗi này phải được chuyển đổi (convert) sang các định dạng (format) thích hợp tùy theo mỗi ứng dụng.Công việc này đòi hỏi tốn nhiều thời gian và dễ gây ra lỗi.Với kiến trúc Model của mô hình MVC,dữ liệu này sẽ tự động được convert thành giá trị của các biến thuộc tính trong lớp đối tượng. II. Giới thiệu về Struts 2 1. Giới thiệu struts 2 - Vào tháng 12/2005,Struts và webwork framework đã được kết hợp với nhau để phát triển nên Struts 2 Framework. Struts 2 Framework rất thích hợp và dễ dàng mở rộng để phát triển các ứng dụng web với mức độ khác nhau - Trang chủ: http://struts.apache.org/2.x/ - Apache Struts 2 requires: • Servlet API 2.4 • JSP API 2.0 • Java 5 Struts 2 Page " Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin 2. Ích lợi của Struts 2 Framework Struts 2 được xây dựng và phát triển dựa trên nền tảng mô hình MVC nên nó thừa hưởng được đầy đủ các ưu điểm mà mô hình MVC đem lại. - Dễ dàng tùy chỉnh (customize) chu kỳ xử lý (request lifecycles ) cho từng action - Giải quyết hiệu quả vấn đề internationlization và localization trong các ứng dụng web - Tự động chuyển đổi kiểu dữ liệu chuỗi truyền thống trong tham số request parameter thành các đối tượng lớp dữ liệu java => tiết kiệm được thời gian và công sức cho các lập trình viên - Cung cấp các thẻ tag,các themes và templates giúp cho việc làm giao diện GUI trở nên dễ dàng,nhanh lẹ và tăng tính tái sử dụng. - Tính mở rộng (Extensibility) cao thông qua việc hỗ trợ các plug-in - Hỗ trợ portal - Hỗ trợ AJAX - Dễ dàng tích hợp với Spring framework và Hibernate. Struts 2 Page , Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin III. Kiến trúc và hoạt động của Struts 2 1. Kiến trúc của Struts 2 framework Hình 1: Kiến Trúc Của Struts 2 Framework i. ActionContextCleanup : là tùy chọn và được sử dụng khi tích hợp với các công nghệ như SiteMash Plugin. ii. FilterDepatcher: là bộ lọc nó Sử dụng ActionMapper để xác định xem Action nào được call và sau đó giao quyền lại cho ActionProxy iii. ActionProxy: lấy những action từ struts.xml qua sự giúp đỡ của ConfigurationManager từ đó tạo ra những ActionInvocation thực hiện gọi Action mà ta đã config trong struts.xml trước đó nó gọi tới những interceptor (nếu được config). Và sau đó lấy về kết quả thích hợp tái tạo lại các trang jsp theo mẫu nào đó và trả về lại cho người dùng. iv. Action là một lớp do developer tự định nghĩa, đây là lớp làm việc cơ bản , Là một POJO (Plain old java object) có phương thức execute() . Struts 2 Page 4 Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin v. Template: chứa kết quả trả về cho người dùng. Trong Struts2 nó là những result của Action được config trong struts.xml. Có một số loại result sau: • Chain Result • Dispatcher Result • FreeMarker Result • HttpHeader Result • Redirect Result • Redirect Action Result • Stream Result • Velocity Result • XSL Result • PlainText Result 2. Quá trình xử lý request trong Struts2 framework a. Người sử dụng gửi yêu cầu đến server để yêu cầu một số tài nguyên của ứng dụng b. Bộ điều khiển lọc (FilterDispatcher) xem xét yêu cầu và sau đó xác định một Action thích hợp c. Các bộ chặn (Interceptors) được ứng dụng: các cấu hình bộ chặn áp dụng cho các chức năng chung như: luồng công việc, thẩm định, tải file … được tự động ứng dụng vào yêu cầu d. Thực thi Action: sau khi phương thức action được thực thi để thực hiện các hoạt động liên quan đến cơ sở dữ liệu như sắp xếp hoặc nhận dữ liệu từ cơ sở dữ liệu e. Sinh kết quả f. Sau đó kết quả yêu cầu được trả về thông qua bộ chặn theo chiều ngược lại. Kết quả trả về cho phép chúng ta thực hiện thu dọn hoặc thêm quá trình xử lý g. Hiển thị kết quả cho người sử dụng: việc điều khiển cuối cùng được trả về cho trình chứa servlet, nó sẽ gửi kết quả trả về cho trình duyệt của người sử dụng Struts 2 Page ; Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin Hình 2: Tổng quan xử lý request trong Struts 2 Hình 3: Xử lý request trong Struts 2 IV. Cấu hình Struts 2 trên Netbeans 1. Cấu hình struts 2 project Một project của Struts 2 trên netbeans IDE cũng như bao project Web khác trên Netbeans nhưng có thêm một số phần quan trọng để cấu hình cũng như là thư viện để struts 2 hoạt động. Để cấu hình cho struts hoat động thì đầu tiên phải tạo một project bình thường và Struts 2 Page @ [...]... default-autowire="autodetect"> 2 Khai báo Struts 22 cách để thực hiện khai báo cho struts2 là dùng xml để khai báo và dùng Annotation để khai báo Sau đây là 2 cách khai báo đó trên môi trường của Netbeans Struts 2 Page 12 Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin Hình 4 Khai báo struts 2 a Khai báo dùng xml Để hiểu hơn về cách cấu hình này thì chúng ta... của struts 2 chính là Tomcat và framework thì ta không chọn Sau đó download thư viện struts 2 về Bước tiếp theo thực hiện giải nén file thư viện struts ra một nơi nào đó trên ổ cứng Và thực hiện add thư viện vào project của mình Đối với một project Struts 2 đơn giản ta chỉ cần add các file jar sau : commons-logging-1.0.4.jar, ognl -2. 6.11.jar, xwork -2. 0.4.jar, freemarker2.3.8.jar, struts2 -core -2. 0.11.jar... Tiếp đến là file Struts. xml < /struts> Và nội dung file applicationContext.xml... http://java.sun.com/xml/ns/javaee/web-app _2_ 5.xsd"> struts2 org.apache .struts2 .dispatcher.FilterDispatcher struts2 /* 30 Struts 2 Page 11 Trường Đại Học Khoa... cho project struts 2 Bước tiếp ta thực hiện tạo các file cấu hình là struts. xml trong package source, và chỉnh lại file cấu hình web.xml và thêm file applicationContext.xml trong package WEB-INF Để struts 2 hoạt động thì bạn phải viết lại file web.xml như sau: /Registration.jsp i - Struts 2 Action Trong cách khai báo trên thì ứng với mỗi action ta sẽ khai báo trong thẻ “action” trong thẻ action thì có các thuộc tính như • Name: là tên của action mà ta sẽ gọi • Class : là ActionClass thực hiện xử lý action trên • Method: nếu người dùng không khai báo attribute method này thì đồng nghĩa với việc Struts sẽ chọn phương thức execute trong ActionClass... như Struts1 kết quả của một action là một ActionForward Trong Struts2 khi một phương thức thực thi một action hoàn thành thì kết quả nó trả về là một chuỗi và tùy vào chuỗi này mà ta có thể cấu hình để struts mapping với một tập các thể hiện của kết quả trả về cho người dùng Các loại results struts hỗ trợ sẵn • • • • • • • • • • • Struts 2 Depatcher Result Redirect Action Result Chain Result Redirect... attribute method này thì đồng nghĩa với việc Struts sẽ chọn phương thức execute trong ActionClass mà thực hiện Còn nếu người dùng khai báo chổ này thì Page 13 Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin - - ii - - Struts 2 Struts sẽ lấy phương thức được khai báo để thực hiện sử lý cho action đó Ngoài method như trên còn có một dạng gọi là WildCard method o Đôi khi ta thao tác trên một đối... action=”Action_delete.action”>…  Với delete là một phương thức trong ClassAction Thỉnh thoảng thì chúng ta khai báo một action nhưng action đó không tồn tại nên struts sẽ báo lỗi, Chúng ta không muốn đều này xảy ra vì thế mà struts cung cấp thêm cho chúng ta cách config một action gọi là Default action để khi struts thực hiện mapping mà không tìm thấy action nào phù hợp nó sẽ thực hiện action default này . > </beans> 2. Khai báo Struts 2 Có 2 cách để thực hiện khai báo cho struts2 là dùng xml để khai báo và dùng Annotation để khai báo. Sau đây là 2 cách khai báo đó trên môi trường của Netbeans Struts 2. tượng. II. Giới thiệu về Struts 2 1. Giới thiệu struts 2 - Vào tháng 12/ 2005 ,Struts và webwork framework đã được kết hợp với nhau để phát triển nên Struts 2 Framework. Struts 2 Framework rất thích. http:/ /struts. apache.org /2. x/ - Apache Struts 2 requires: • Servlet API 2. 4 • JSP API 2. 0 • Java 5 Struts 2 Page " Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin 2. Ích lợi của Struts

Ngày đăng: 29/06/2014, 15:20

Từ khóa liên quan

Mục lục

  • Mục lục

  • I. Giới thiệu mô hình MVC

    • 1. Lợi ích của việc sử dụng mô hình MVC

    • II. Giới thiệu về Struts 2

      • 1. Giới thiệu struts 2

      • 2. Ích lợi của Struts 2 Framework

      • III. Kiến trúc và hoạt động của Struts 2

        • 1. Kiến trúc của Struts 2 framework

        • 2. Quá trình xử lý request trong Struts2 framework

        • IV. Cấu hình Struts 2 trên Netbeans

          • 1. Cấu hình struts 2 project

          • 2. Khai báo Struts 2

            • a. Khai báo dùng xml

            • b. Khai báo dùng Annotation

            • V. Actions và Results

              • 1. Actions

              • 2. Results

                • Các loại results struts hỗ trợ sẵn

                • a. Depatcher Result

                • b. Redirect Action Result

                • c. Chain Result

                • d. Redirect Result

                • e. FreeMaker Result

                • f. Velocity Result

                • g. Plain Text Result

                • h. Tiles Result

                • i. HttpHeader Result

Tài liệu cùng người dùng

Tài liệu liên quan