1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Seminar- Spring MVC

47 1.3K 2

Đ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

Báo Cáo Seminar- Spring MVC

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN  BÁO CÁO SEMINAR CHUYÊN ĐỀ JAVA GV. Nguyễn Hoàng Anh ĐỀ TÀI SPRING MVC TP Hồ Chí Minh Mục Lục Báo Cáo Seminar- Spring MVC 0841048- 0841171 Trang 2 Báo Cáo Seminar- Spring MVC I. Tổng quan về Spring Framework 1. Giới thiệu về Spring Framework - Spring là một framework ứng dụng mã nguồn mở, được giới thiệu vào năm 2002. Rod Johnson đã đưa ra ý tưởng này từ kinh nghiệm làm việc với kiến trúc J2EE. - Johnson đã viết cuốn sách với tiêu đề: “J2EE Develoment Without Using EJB” để giới thiệu khái niệm trình (lightweight container). Với lý luận:“EJB thì có giá trị của nó, nhưng không phải lúc nào cũng cần thiết và phù hợp cho tất cả các ứng dụng.” - Tuy Spring Framework không bắt buộc người ta phải tuân theo một mô hình lập trình(programming model) cụ thể nào, song nó lan truyền rộng rãi trong cộng đồng những người viết chương trình dùng Java, như một hình thức chủ yếu thay thế cho mô hình Enterprise JavaBean. Theo thiết kế, bộ khung hình này giải phóng lập trình viên dùng Java, cho phép họ nhiều quyền tự do hơn, và đồng thời cung cấp một giải pháp tiện lợi, đầy đủ dẫn chứng bằng tài liệu, dễ dàng sử dụng, phù hợp với những thực hành thông dụng trong công nghệ phần mềm. - Bên cạnh những đặc trưng nền tảng của Spring Framework là những cái có thể dùng được trong bất cứ một chương trình ứng dụng Java nào, rất nhiều các mở rộng và tiến bộ trong việc kiến tạo các trình ứng dụng dành cho nền tảng mạng web (web- based application) dựa trên nền Java Enterprise cũng tồn tại nữa. Spring Framework nổi tiếng cũng một phần do chính đặc thù kể trên và được giới thương mại công nhận như một nền tảng kiến trúc có tầm quan trọng trong chiến lược kiến tạo phần mềm. 2. Spring với Enterprise Java Bean 2.1. Spring - Spring không phải là một kỹ thuật persistence nhưng nó cho phép tích hợp với các kỹ thuật khác. EJB thì tập trung vào kỹ thuật persistence và bây giờ nó đã cộng tác với Hibernate, một ORM tốt nhất ngày nay. Nó đang dự định cộng tác với một kỹ thuật ORM tốt khác là JDO (cung cấp cho Object Database). - Trong Spring, chúng ta có thể sử dụng Java Bean để rút trích các thứ mà lúc trước chỉ có thể với EJB. Mục tiêu chính của Spring là đơn giản việc phát triển J2EE và testing. 2.2. EJB (Enterprise Java Bean) - EJB được xuất hiện vào 1988 và là một chuẩn, đặc tả trong thế giới Enterprise. Mặc dù có một số kỹ thuật Java gần đây, nhưng không có kỹ thuật nào đáng kể so với EJB về mặc tổng các đặc tính của nó. - Theo Rod Johnson thì EJB không phức tạp nhưng nó cố gắng cung cấp cách giải quyết cho các vấn đề phức tạp. - EJB được phát triển chính cho các giao dịch, đối tượng được phân phát ở trên máy khác. Nhưng một số enterprise project không có mức độ phức tạp và vẫn sử dụng 0841048- 0841171 Trang 3 Báo Cáo Seminar- Spring MVC EJB và thậm chí các ứng dụng đơn giản trở nên phức tạp. Trong trường hợp này thì Spring là một sự chọn lựa. - Từ lúc Spring hỗ trợ các dịch vụ ở mức enterprise, thì nó tuyên bố là một sự lựa chọn khác đối với EJB. - Thuận lợi của EJB: o Transaction Management o Declarative Transaction support o Persistence ( CMP & BMP) o Declarative Security o Distributed Computing (Container managed RPC) - Spring không làm mọi thứ nhưng nó hỗ trợ những kỹ thuật tốt nhất cho mỗi yêu cầu.Thay vì CMP(Circuits Multi-Projects) & BMP, nó hỗ trợ một vài kỹ thuật persistence khác như JDO, Hiberbate và OJB. Các ORM tool này thì có nhiều khả năng cài đặt hơn CMP. Để đơn giản coding JDBC, có một tool là iBatis và Spring cũng hỗ trợ nó. 2.3. So Sánh Spring và EJB - Spring sử dụng Acegi, một security framework mã nguồn mở và cung cấp để khai báo security thông qua cấu hình Spring hoặc class metadata, trong khi EJB khai báo security được cấu hình thông qua mô tả deployment. - Spring cung cấp proxying cho RMI(kỹ thuật remoting đặc biệt như Burlap) JAX- RPC & web-service, trong khi EJB cung cấp lời gọi phương thức ở xa được quản lý bởi container. - Spring có thể cung cấp khai báo transaction như EJB. Hơn nữa, Spring còn cung cấp khai báo thủ tục rollback cho các phương thức và exception. - EJB thì cứng và cố gắng làm mọi thứ, một vài công việc tốt nhưng một số thì không. Spring chỉ sử dụng Java Bean và thông qua một số kỹ thuật đặc biệt để cung cấp nhiều chức năng như EJB, bằng cách tích hợp với một số kỹ thuật open source khác. - Sping cung cấp một vài thuận lợi hơn EJB như: o Testing dễ dàng hơn - không cần khởi động EJB container để test. o Spring dựa vào quy ước của chuẩn Java Bean, nên các lập trình viên dễ dàng làm việc với nó. o Spring sử dụng AOP(Aspect-Oriented Programming), mô hình hữu ích để bổ sung vào OOP truyền thống và bảo toàn tính nguyên vẹn của OOP. o Spring uyển chuyển. 3. Mục đích của Spring - Mục đích của Spring là trở thành một framework ứng dụng. Các framework phổ biến khác như Struts, Tapestry, JSF, là các framework tốt cho tầng web nhưng khi chúng ta sử dụng các framework này, chúng ta phải cung cấp thêm framework 0841048- 0841171 Trang 4 Báo Cáo Seminar- Spring MVC khác để giải quyết tầng enterprise mà tích hợp tốt với các framework này. Spring làm giảm bớt vấn đề này bằng cách cung cấp một framework toàn diện bao gồm: o Core bean container o MVC framework o AOP integration framework o JDBC integration framework o EJB integration framework. 4. Các phiên bản của Spring MVC - Tháng 10/2006: phát hành Spring 2.0 - Tháng 11/2007: phát hành Spring 2.5 - Hiện tại: Spring 3.0 - Download: - Document: 5. Yêu cầu về kỹ thuật - Để triển khai ứng dụng web sử dụng Spring framework cần cài đặt PHP 5.1.0 trở lên - Hiểu rõ phương pháp lập trình hướng đối tượng(OOP) vì đây là một framework được thiết kế theo phương pháp hướng đối tượng thuần túy. - Hiểu rõ về mô hình MVC 6. Yêu cầu cài đặt - Operating System: Windows 7 - NetBeans IDE: 6.9 hoặc 6.9.1, phiên bản Java - Java Development Kit(JDK) Phiên bản 6 - GlassFish Server Edition nguồn mở 3.0.2, yêu cầu JDK 6 - PHP: 5.3.0 - Máy chủ cơ sở dữ liệu MYSQL: 5.1.3 - Spring Framework 3.5 7. Module trong Spring Framework - Spring Framework gồm có quy mô của 20 modules, được chia thành các nhóm Core Container, Data Access/Intergration, Web, AOP(Aspect Oriented Programing), Instrumentation, and Test như mô hình dưới đây: 0841048- 0841171 Trang 5 Báo Cáo Seminar- Spring MVC - Spring cũng cung cấp module tích hợp với O/R tool như Hibernate và JDO. Spring có thể được xem như một kiến trúc chứa 7 module. Chức năng của mỗi thành phần như sau: 7.1. Spring Core Container 0841048- 0841171 Trang 6 Báo Cáo Seminar- Spring MVC - Core container cung cấp chức năng cơ bản của Spring. Thành phần chính của nó là Bean Factory, một cài đặt của Factory pattern. BeanFactory áp dụng IoC pattern để đặc tả sự phụ thuộc từ code của ứng dụng. 7.2. Spring Context/ Application Context - Spring context là một file cấu hình để cung cấp thông tin ngữ cảnh của Spring. Spring context cung cấp các service như JNDI access, EJB integration, e-mail, internalization, validation, và scheduling functionality. 7.3. Spring AOP(Aspect- Oriented) - Spring AOP module tích hợp chức năng lập trình hướng khía cạnh vào Spring framework thông qua cấu hình của nó. Spring AOP module cung cấp các dịch vụ quản lý giao dịch cho các đối tượng trong bất kỳ ứng dụng nào sử dụng Spring. Với Spring AOP chúng ta có thể tích hợp declarative transaction management vào trong ứng dụng mà không cần dựa vào EJB component. - Spring AOP module cũng đưa lập trình metadata vào trong Spring. Sử dụng cái này chúng ta có thể thêm chú thích vào source code để hướng dẫn Spring làm thế nào để liên hệ với aspect. 7.4. Spring DAO - Tầng JDBC và DAO đưa ra một cây phân cấp exception để quản lý kết nối đến database, điều khiển exception và thông báo lỗi của database. Tầng exception đơn giản điều khiển lỗi và giảm khối lượng code mà chúng ta cần viết như mở và đóng kết nối. Module này cũng cung cấp các dịch vụ quản lý giao dịch cho các đối tượng trong ứng dụng Spring. 7.5. Spring ORM - Spring có thể tích hợp với một vài ORM framework để cung cấp Object Relation tool bao gồm: JDO, Hibernate, Oracle TopLink, JPA và iBatis SQL Maps 7.6. Spring Web Module - Trên application context module, cung cấp context cho các ứng dụng web. Spring cũng hỗ trợ tích hợp với Struts, JSF và Webwork. Web module cũng làm giảm bớt các công việc điều khiển nhiều request và gắn các tham số của request vào các đối tượng domain. 7.7. Spring MVC Framework - MVC Framework thì cài đặt đầy đủ đặc tính của MVC pattern để xây dựng các ứng dụng Web. MVC framework thì cấu hình thông qua giao diện và chứa được một số kỹ thuật view bao gồm: JSP, Velocity, Tiles và generation of PDF và Excel file. - Ví dụ: Có một số kỹ thuật đặc biệt cho tầng web như: Spring MVC framework, Struts, JSF, WebWork, JSP, Tapestry, FreeMarker, Developer sẽ bị lúng túng đối chiếu những điểm mạnh và xấu của tất cả 0841048- 0841171 Trang 7 Báo Cáo Seminar- Spring MVC chúng. Mỗi khi họ chọn một kỹ thuật và bắt đầu cài đặt, thì sau đó nếu họ muốn thay đổi một kỹ thuật khác thì rất khó. Nhưng Spring đưa ra các module cho tất cả các kỹ thuật trên, và rất đơn giản để thay đổi file cấu hình. - Với phương pháp này, nó có khả năng cho cả team và test thử tất cả các hình thức trên và xem ảnh hưởng cùng tốc độ trước khi quyết định chọn lựa. JSP là một view template mặc định. "InternalResouceViewResolver" có thể được sử dụng cho mục đích này. 8. Kiến trúc MVC(Model – View- Controller) - Phân định rõ ràng các bước kết nối, chuyển hướng và logic hiển thị - Chứng minh cơ chế xây dựng web từng lớp(Web- tier) 8.1. Thành phần của MVC - Có 3 thành phần chính o Controller: quản lý logic chuyển hướng và tương tác với các dịch vụ được cung cấp từ logic kết nối. o Model:  Là lớp giữa Controller và View.  Nơi chứa dữ liệu cần để xử lý và đưa lên View.  Nơi định cư của Controller. o View:  Đáp ứng hiển thị theo yêu cầu  Rút và xuất dữ liệu từ Model 8.2. Motivation for MVC - Bảo trì dễ dàng hơn o Thay đổi logic kết nối ít có khả năng phá vỡ logic hiển thị o Ngược lại: Tăng khả năng làm việc nhóm - Giúp Developers có thể chú trọng nhiều hơn đến việc phát triển code liên tục, mà không cần lo lắng đến việc phá vỡ các thể hiện ban đầu. - Giúp Designers có thể chú trọng nhiều hơn vào việc xây dựng giao diện sao cho tiện dụng và bắt mắt mà không cần lo lắng về code Java. - Sử dụng công cụ tốt nhất cho công việc o Java thích hợp để tạo code logic kết nối o Đánh dấu hay ngôn ngữ mẫu phù hợp để tạo HTML - Dễ kiểm tra o Logic kết nối và chuyển hướng được phân cách rõ ràng với logic hiển thị, nghĩa là có thể áp dụng những thử nghiệm riêng biệt. o Thực tế: ta có thể kiểm tra code bên ngoài servlet 8.3. MVC trong Spring - Front Controller: servlet là các Controller riêng biệt đáp ứng một yêu cầu nào đó. o Chứng minh mô hình trong Struts và Core J2EE Patterns - Yêu cầu định tuyến là hoàn toàn điều khiển bởi Front Controller 0841048- 0841171 Trang 8 Báo Cáo Seminar- Spring MVC o Các Controller riêng biệt có thể sử dụng để điều khiển cho nhiều URL khác nhau. - Controller là POJOs - Controller được là quản lý trực tiếp giống như bất kỳ Bean khác trong Spring ApplicationContext 9. Cơ chế Validation - Validation sử dụng giao diện Spring’s Validator xác nhận đối tượng, chứng thực, báo cáo các lỗi xác thực cho Errorobject. - Ví dụ: xem xét một đối tượng dữ liệu nhỏ: - Cung cấp các hành vi xác nhận cho lớp Person bằng cách thực thi hai phương thức của org.springframework.validation o Supports(class) o Validate(object, org.springframework.validation.Errors - Thực hiện một Validator đơn giản, sử dụng class ValidationUtilshelper do Spring framework cung cấp. 10. Kiến trúc lưu trữ dữ liệu trên Database(Data access with JDBC) 10.1. Giới thiệu về Spring Framework JDBC - Giá trị được cung cấp bởi Spring Framework JDBC trừu tượng thể hiện bởi các chuỗi hành động được nếu trong bảng sau. Bảng này cho thấy những action Spring quan tâm Action Sprin g You Xác định thông số kết nối X Mở các kết nối X 0841048- 0841171 Trang 9 Báo Cáo Seminar- Spring MVC Xác định các câu lệnh SQL X Khai báo các thông số và giá trị cung cấp tham số X Chuẩn bị và thực hiện các statement X Thiết lập vòng lặp để chuyển đổi thông qua kết quả(nếu có) X Làm việc cho mỗi lần lặp X Quy trình các ngoại lệ X Xử lý giao dịch X Đóng kết nối báo cáo và statement và resultset X - Các cách tiếp cận để truy cập cơ sở dữ liệu JDBC o JdbcTemplate o NamedParameterJdbcTemplate o SimpleJdbcTemplate o SimpleJdbcInsert and SimpleJdbcCall o RDBMS Objects including MappingSqlQuery, SqlUpdate and StoredProcedure - Gói phân cấp: Khung JDBC trừu tượng của Spring Framework bao gồm bốn gói khác nhau: core, datasource, object, support o Org.springframework.jdbc.core o Org.springframework.jdbc.datasource o Org.springframework.jdbc.object o Org.springframework.jdbc.support 10.2. Kiểm soát các kết nối cơ sở dữ liệu - DataSource - DataSourceUtils - SmartDataSource - AbstractDataSource - SingleConnectionDataSource - DriverManagerDataSource - TransactionAwareDataSourceProxy - DataSourceTransactionManager - NativeJdbExtractor 11. Kiến trúc ORM(Object Relationship Mapping) 11.1. Giới thiệu về ORM trong MVC - Spring Framework hỗ trợ tích hợp với Hibernate, Java Persistence API (JPA), Java Data Object và iBATIS SQL Maps dành cho quản lý tài nguyên, truy cập dữ liệu đối tượng (DAO) triển khai thực hiện, và chiến lược giao dịch. Ví dụ, đối với Hibernate có lớp đầu tiên hỗ trợ. - Có thể cấu hình - tất cả các tính năng hỗ trợ cho O / R (đối tượng quan hệ) các công cụ lập mapping thông qua Dependency Injection. - Spring thêm những cải tiến đáng kể cho sự lựa chọn các lớp ORM khi tạo truy cập dữ liệu ứng dụng. Có thể tận dụng càng nhiều các hỗ trợ hội nhập như ý muốn và 0841048- 0841171 Trang 10 [...]... Trang 19 Báo Cáo Seminar- Spring MVC - Bất cứ yêu cầu xử lý nào của mapping bị chặn bởi các TimeBasedAccessInterceptor Nếu thời gian hiện tại nằm ngoài thời gianthực thi, người dùng sẽ được chuyển hướng đến một tập tin HTML tĩnh, có nội dung thông báo: bạn chỉ có thể truy cập vào các trang web trong thời gian quy định 0841048- 0841171 Trang 20 Báo Cáo Seminar- Spring MVC - Như các bạn có thể thấy, Spring. .. kết thúc bằng form sẽ được xử lý bởi các DispatcherServlet Điều này chỉ là bước đầu tiên trong việc thiết lập Spring Web 0841048- 0841171 Trang 13 Báo Cáo Seminar- Spring MVC MVC Bây giờ bạn cần phải cấu hình các bean khác nhau được sử dụng bởi các Spring Web MVC framework - Trong khuôn khổ Web MVC, mỗi DispatcherServlet WebApplicationContext của riêng mình, mà thừa hưởng tất cả các bean đã được xác định... business - Khi sử dụng Hibernate, JPA hoặc JDO trong DAO, phải quyết định làm thế nào để xử lý handle the persistence của các lớp ngoại lệ II Web MVC FrameWork 1 Giới thiệu về Web MVC framework 0841048- 0841171 Trang 11 Báo Cáo Seminar- Spring MVC - Spring MVC( Model-View-Controller) framework được thiết kế xung quanh một DispatcherServlet gởi thông điệp yêu cầu xử lý với các cấu hình handler mappings,... web - Việc xử lý yêu cầu công việc của Spring web MVC DispatcherServlet được minh hoạ trong mô hình sau 0841048- 0841171 Trang 12 Báo Cáo Seminar- Spring MVC - DispatcherServlet thực chất là một servlet(nó thừa kế từ lớp cơ sở HttpServlet) - Tiếp nhận tất cả các request từ Browser Điều khiển luồng xử lý và trung chuyển giữa các thành phần trong MVC Được khai báo trong web.xml của ứng dụng web của bạn... khiển tương ứng để trả về một Atom, nguồn cấp dữ liệu RSS cho một 0841048- 0841171 URI có Trang 26 dạng Báo Cáo Seminar- Spring MVC http://localhost/content.atom hoặc http://localhost/content: 6 Using locales - Hầu hết các bộ phận của kiến trúc quốc tế của Spring được hỗ trợ, cũng như khuôn khổ Spring MVC web DispatcherServlet cho phép bạn tự động giải quyết các thông tin sử dụng locales của client Điều... CookieThemeResolver Các theme được chọn là lưu trữ trong một cookie trên client 0841048- 0841171 Trang 30 Báo Cáo Seminar- Spring MVC - Spring cũng cung cấp một ThemeChangeInterceptor cho phép thay đổi theme trên tất cả các yêu cầu với một request parameter đơn giản 8 Spring s multipart(fileupload) support 8.1 Giới thiệu - Spring được tích hợp trong hỗ trợ nhiều phần xử lý tập tin tải lên trong các ứng dụng web Bạn... nhập vào khai báo trong form Trong ví dụ này, không có gì được thực hiện với byte[], nhưng trên thực tế bạn có thể lưu nó vào cơ sở dữ liệu, lưu trữ nó trên hệ thống tập tin và nhiều hơn nữa - Cuối cùng, bạn sẽ phải khai báo bộ controller and the resolver trong context ứng dụng 0841048- 0841171 Trang 32 Báo Cáo Seminar- Spring MVC 9 Handling exceptions 9.1 HandlerExceptionResolver - Spring HandlerExceptionResolvers... scope.Consider cấu hình DispatcherServlet servlet sau đây(trong các file web.xml): 0841048- 0841171 Trang 14 Báo Cáo Seminar- Spring MVC - Với cấu hình servlet trên bạn sẽ cần phải có một tập tin gọi là / WEB-INF/golfing-servlet.xml trong ứng dụng của bạn, tập tin này sẽ chứa tất cả các thành phần của bạn Spring Web MVC- cụ thể (bean) Bạn có thể thay đổi vị trí chính xác của tập tin cấu hình thông qua một tham số... ví dụ, một yêu cầu cho các URL, http://www.sf.net/home.view? siteLanguage=nl sẽ thay đổi ngôn ngữ trang web thành tiếng Hà lan 0841048- 0841171 Trang 28 Báo Cáo Seminar- Spring MVC 7 Using themes 7.1 Tổng quan về themes - Bạn có thể áp dụng Spring Web MVC framework themes để thiết lập khuôn khổ tổng thể cái nhìn và cảm nhận của ứng dụng của bạn, qua đó nâng cao kinh nghiệm người dùng Theme là tập hợp... Đây là một ví dụ: styleSheet=/themes/cool/style.css 0841048- 0841171 Trang 29 Báo Cáo Seminar- Spring MVC background=/themes/cool/img/coolBg.jpg - Các khoá của các thuộc tính là tên tham chiếu đến các themes element từ view code Đối với JSP, bạn thường làm được điều này bằng cách sử dụng Spring: theme custom tag,tương tự như Spring: message tag Các JSP sau sử dụng các theme được định nghĩa trong ví dụ . TIN  BÁO CÁO SEMINAR CHUYÊN ĐỀ JAVA GV. Nguyễn Hoàng Anh ĐỀ TÀI SPRING MVC TP Hồ Chí Minh Mục Lục Báo Cáo Seminar- Spring MVC 0841048- 0841171 Trang 2 Báo Cáo Seminar- Spring MVC I. Tổng quan về Spring. lập Spring Web 0841048- 0841171 Trang 13 Báo Cáo Seminar- Spring MVC MVC. Bây giờ bạn cần phải cấu hình các bean khác nhau được sử dụng bởi các Spring Web MVC framework. - Trong khuôn khổ Web MVC, . persistence của các lớp ngoại lệ. II. Web MVC FrameWork 1. Giới thiệu về Web MVC framework 0841048- 0841171 Trang 11 Báo Cáo Seminar- Spring MVC - Spring MVC( Model-View-Controller) framework được

Ngày đăng: 15/07/2015, 15:13

Xem thêm: Báo Cáo Seminar- Spring MVC

TỪ KHÓA LIÊN QUAN

Mục lục

    I. Tổng quan về Spring Framework

    1. Giới thiệu về Spring Framework

    2. Spring với Enterprise Java Bean

    2.2. EJB (Enterprise Java Bean)

    2.3. So Sánh Spring và EJB

    3. Mục đích của Spring

    4. Các phiên bản của Spring MVC

    5. Yêu cầu về kỹ thuật

    6. Yêu cầu cài đặt

    7. Module trong Spring Framework

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w