Spring MVC validation a interceptor

34 140 0
Spring MVC   validation a interceptor

Đ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

Tìm hiểu tầm quan trọng của Validation Thực hiện kiểm lỗi bằng tay Thực hiện kiểm lỗi bằng annotation Tìm hiểu Interceptor Xây dựng Interceptor Cấu hình Interceptor để lọc action Ứng dụng Interceptor để bảo vệ chức năng riêng tư.

LẬP TRÌNH JAVA BÀI 8: VALIDATION & INTERCEPTOR MỤC TIÊU  Hiểu tầm quan trọng validation  Triển khai validation Spring MVC  Hiểu chế hoạt động Interceptor  Tạo sử dụng Interceptor  Ứng dụng Interceptor để bảo vệ tài nguyên riêng tư GIỚI THIỆU KIỂM LỖI  Dữ liệu vào không hợp lệ gây lỗi khó lường Vì việc kiểm sốt liệu vào ln đóng vai trò quan trọng ứng dung  Các lỗi thường gặp Để trống ô nhập… Không định dạng email, creditcard, url… Sai kiểu số nguyên, số thực, ngày giờ… Giá trị tối thiểu, tối đa, phạm vi… Không giống mật khẩu, captcha, trùng mã Không mong đợi việc tính tốn đó… MINH HỌA KIỂM LỖI CASE STUDY  Kiểm lỗi cho form Không để trống họ tên Không để trống điểm Điểm phải có giá trị từ đến 10 Phải chọn ngành Nhập sai Nhập DEMO Chạy student/validate1.htm + Nhập liệu không hợp lệ + Nhập liệu hợp lệ KIỂM LỖI BẰNG TAY Đối số nên đối số cuối rejectValue() cho phép bổ sung thông báo lỗi cho thuộc tính mark bean student Phương thức hasErrors() cho biết có thơng báo lỗi hay khơng? HIỂN THỊ LỖI Hiển thị lỗi thuộc tính name bean student Thuộc tính element thẻ chứa thơng báo lỗi Mặc định ĐỊNH DẠNG LỖI  Thơng báo lỗi sinh có dạng {thơng báo lỗi}  Ví dụ  Hiển thị lỗi cho thuộc tính họ tên  CSS sau sử dụng để định dạng cho thông báo lỗi *[id$=.errors]{ color:red; font-style: italic; }  Selector *[id$=.errors] chọn thẻ có thuộc tính @id kết thúc chữ “.errors” DEMO Giải thích student/validate1.htm + Student1 + Controller.validate1() + student1.jsp QUI TRÌNH XỬ LÝ CỦA INTERCEPTOR request preHandle() Action postHandle() response afterCompletion() View  Nếu muốn xử lý cơng việc trước action thực thi phải viết mã preHandle  Nếu muốn chuẩn bị điều cho View viêt mã postHandle() XÂY DỰNG LOGGERINTERCEPTOR KHAI BÁO INTERCEPTOR  Interceptor sau xây dựng xong cần phải khai báo với hệ thống Spring để lọc action  Khai báo sau LoggerInterceptor lọc tất action CONTROLLER VÀ VIEW PHÂN TÍCH KẾT QUẢ THỰC HIỆN  Chạy home/index.htm xem kết xuất từ Console  Qua kết thấy thứ tự thực preHandle()=>index()=>postHandle()=>index.jsp=>afterC ompletion() Interceptor Action Interceptor View Interceptor DEMO Chạy home/index.htm giải thích rõ hoạt động LoggerInterceptor CẤU HÌNH INTERCEPTOR  Đơi Interceptor xây dựng để lọc số action khơng phải lọc tất action  Cấu hình sau cho phép LoggerInterceptor lọc action home/index.htm home/about.htm CẤU HÌNH INTERCEPTOR  Một tình khác muốn lọc tất action HomeController loại trừ home/index.htm  Ở thấy sử dụng để loại trừ action không muốn lọc ** ký hiệu đại diện cho nhóm ký tự TÌNH HUỐNG SECURITY  Các action màu vàng controller sau phép truy cập sau đăng nhập GIẢI QUYẾT TÌNH HUỐNG  Xây dựng SecurityInterceptor lọc tất action controller loại trừ action không tô màu vàng  SecurityInterceptor phải chạy trước request đến action thực công việc: Kiểm tra xem session có attribute có tên user hay chưa? Nếu chưa có chuyển hướng sang user/login.htm Ở user/login.htm sau đăng nhập thành công cần tạo attribute user session XÂY DỰNG SECURITYINTERCEPTOR DEMO Chưa đăng nhập: + Chạy user/register.htm + Chạy user/change-password.htm Đã đăng nhập + Chạy user/change-password.htm Giải thích TÌNH HUỐNG NẠP DỮ LIỆU DÙNG CHUNG Module giao diện thuộc layout lại cần nạp liệu từ CSDL Vấn đề: Viết mã đâu để cấp liệu cho module này? Viết action controller view cần liệu Viết postHandle() Interceptor lọc tất action Rõ ràng phương án tối ưu TỔNG KẾT NỘI DUNG BÀI HỌC  Tìm hiểu tầm quan trọng Validation  Thực kiểm lỗi tay  Thực kiểm lỗi annotation  Tìm hiểu Interceptor  Xây dựng Interceptor  Cấu hình Interceptor để lọc action  Ứng dụng Interceptor để bảo vệ chức riêng tư Cảm ơn ... sung thư viện sau validation- api-1.0.0.GA.jar hibernate-validator-4.2.0.Final.jar log4j-1.2.16.jar slf4j-api-1.7.5.jar slf4j-log4j12-1.7.5.jar slf4j-simple-1.6.1.jar CÁC ANNOTATION KIỂM LỖI... @Future() @Past() @Pattern(regexp="[0-9]{9,10}") @Email() @CreditCardNumber() @URL() @SafeHtml()  javax .validation. constraints : : : : : : : : : LẬP TRÌNH JAVA PHẦN GIỚI THIỆU INTERCEPTOR  Interceptor. .. KIỂM LỖI THƯỜNG DÙNG Annotation NotBlank NotNull NotEmpty Length Max Min Size, Range DecimalMax DecimalMin Future Past Pattern Email CreditCardNumber URL SafeHtml Ý ngh a Chuỗi không rỗng Không

Ngày đăng: 05/01/2020, 18:50

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan