Configuring SpringMVC

Một phần của tài liệu Báo Cáo Seminar- Spring MVC (Trang 38)

- Chú ý: Các lớp con của AbstractCachingViewResolver, cache view sẽ giải quyết

12. Configuring SpringMVC

- Spring 3 giới thiệu mvc XML cấu hình namespace làm đơn giản hóa quá trình cài đặt Spring MVC vào trong ứng dụng web của bạn. Thay vì đăng ký các bean cấp thấp như là AnnotationMethodHandlerAdapter, đơn giản là chúng ta có thể dùng namespace và nhữn g thiết lập cấp cao.

- Các namespace mvc bao gồm 3 tag: mvc: annotation-driven, mvc:interceptors và mvc: view-controller. Mỗi tag này đượcghi dưới đây và trong lược đồ XML:

12.1. mvc:annotation-driven

- Tag này đăng ký các bean DefaultAnnotationHandlerMapping và AnnotationMethodHandlerAdapter, đây là yêu cầu của Spring MVC để gửi request đến @Controllers. Tag cấu hình 2 bean đó với giá trị mặc định là những gì có trong classpath. Các giá trị mặc định là:

- Hỗ trợ cho Spring 3 là kiểu ConversionService được bổ sung thêm vào JavaBeans PropertyEditors trong Data Binding. Ví dụ về ConversionService được thiết lập ra bởi

org.springframework.format.support.FormattingConversionServiceFactoryBean được dùng mặc định. Cái này có thể được ghi đè bằng cách thiết lập các thuộc tính

- Hỗ trợ cho formatting các trường Date, Calendar, Long, và Joda Time sử dụng diễn giải @DateTimeFormat

- Hỗ trợ cho validating các đầu vào @Controller với @Valid, nếu JSR-303 Provider hiện hữu trong classpath. Xác thực hệ thống có thể được cấu hình 1 cách rõ ràng bằng cách thiết lập các thuộc tính validator.

- Hỗ trợ cho việc đọc và viết XML, nếu JAXB hiện hữu trong classpath.

- Hỗ trợ đọc và viết JSON, nếu Jackson hiện hữu trong classpath. Một cách sử dụng điển hình được hiển thị dưới đây:

12.2. mvc:interceptors

- Tag này cho phép bạn đăng ký tùy chọn HandlerInterceptors hoặc WebRequestInterceptors cần được áp dụng vào trong các bean HandlerMapping. Bạn cũng có thể giới hạn đường dẫn URL bị chặn cụ thể được áp dụng.

- Sau đây là ví dụ về việc đăng ký ngăn chặn áp dụng cho các đường dẫn URL:

- Một ví dụ về việc đăng ký ngăn chặn có giới hạn 1 đường dẫn URL cụ thể:

12.3. mvc:view-controller

- Tag này là 1 shorcut để định nghĩa 1 ParameterizableViewController , khi được gọi ngay lập tức chuyển tiếp 1 view

12.4. mvc:resources

- Tag này cho phép các yêu cầu resource static theo sau 1 mẫu URL liên quan để phục vụ bởi 1 ResourceHttpRequestHandler từ bất kỳ 1 list các Resource.

- Ví dụ, để phục vụ các yêu cầu resource với 1mẫu URL của /resources/** từ thư mục public-resources trong root ứng dụng của web, tag sẽ được sử dụng như sau:

- Các thuộc tính mapping phải là 1mẫu Ant , có thể được dùng bởi SimpleUrlHandlerMapping và các thuộc tính vị trí phải được chỉ định 1 hoặc nhiều giá trị resource vị trí thư mục. Đa số các resource đều có thể được chỉ định sử dụng dấu phẩy ngăn cách giữa list các các giá trị . Các vị trí quy định sẽ được check vào order cho sự hiện hữu của resource cho bất kỳ yêu cầu nào.

- Ví dụ, có thể phục vụ các resource từ cả 2 thư mục root ứng dụng web và từ 1 đường dẫn đã có /META-INF/public-web-resources/ trong bất kỳ file jar trên classpath, tag sẽ được chỉ định như sau:

12.5. mvc:default-servlet-handler

- Thẻ tag này cho phép mapping DispatcherServlet đến "/" (theo như cách ghi đè mapping của Servlet mặc định), trong khi vẫn cho phép các yêu cầu static resource được xử lý bởi các Servlet mặc định. Nó cấu hình 1 DefaultServletHttpHandler với URL mapping của "/**". Xử lý này sẽ chuyển tất cả các yêu cầu đến Servlet mặc định. Để kích hoạt tính năng này thì dùng cài đặt mặc định, chỉ cần include tag trong form:

- Thông báo trước để ghi đè "/" Servlet mapping là RequestDispatcher cho Servlet mặc định nên được lấy theo tên hơn là lấy theo path. DefaultServletHttpHandler sẽ cố gắng tự động detect các Servlet mặc định cho các container tại thời gian khởi động, sử dụng 1 danh sách các tên được biết đến như là hầu hết các container Servlet(bao gồm Tomcat, Jetty, Glassfish, JBoss, Resin, WebLogic, và WebSphere). Nếu Servlet mặc định đã được tùy chỉnh cấu hình với 1 tên khác nhau, hoặc nếu khác nhau Servlet dử dụng nơi mà Sevlet mặc định Servlet chưa

III. Demo HelloSpringMVC

1. Bước 1: Tạo Project

- Click the Configuration tab, chỉ định tên của dispatcher servlet Spring

- Nhấn F6 chạy thử project trong IDE

2. Bước 2: Tạo Service

- Tạo class Name với nội dung

4. Bước 4: Tạo View

- Tạo helloView

- Run Project

- Nhập tên, helloView hiển thị:

5. Bước 5: Cấu hình

IV. Ứng Dụng: Đồ án Java Lý thuyết: Chợ Lớn- Gia Dụng

V. Tham Khảo

Một phần của tài liệu Báo Cáo Seminar- Spring MVC (Trang 38)

w