Tôi muốn sử dụng anti-samy từ OWASP. Họ có một đối tượng Chính sách, được khởi tạo thông qua một phương thức nhà máy.Mùa xuân: Nạp tài nguyên dưới dạng InputStream vào một phương thức nhà máy
public static Policy getInstance(InputStream inputStream);
InputStream cần được chuyển đến phương thức nhà máy đại diện cho tệp cấu hình cho đối tượng chính sách.
Có thể sử dụng tạo bean chính sách trong cấu hình ngữ cảnh xml mùa xuân không? Tôi biết, có một đối tượng Tài nguyên, có thể tải các tệp từ classpath. Nhưng điều tôi cần là tạo một InputStream từ đối tượng Tài nguyên đó. Tôi có thể làm điều này trực tiếp trong bối cảnh xml-spring không? Hay tôi cần viết mã java để lấy InputStream?
Xin chào, tôi đã không nhận ra Spring có thể ép buộc vào 'InputStream', gọn gàng. Tuy nhiên, lưu ý rằng Spring sẽ không tự đóng 'InputStream', nó giả định rằng bean sẽ làm điều đó. Nếu lớp 'Policy' không đóng luồng đó thì bạn sẽ bị rò rỉ. – skaffman
Quan sát tốt. Chính sách không đóng InputStream: http://code.google.com/p/owaspantisamy/source/browse/trunk/Java/current/antisamy-project/antisamy/src/main/java/org/owasp/validator/html /Policy.java#210. Điều này nên được báo cáo như là một lỗi, tôi đoán –
Hm, sau đó tôi sẽ mở và đóng InputStream trong java-code. Tuy nhiên, cấu trúc trông gọn gàng, nhưng khi tôi dùng thử, tôi nhận được một FileNotFoundException, cho tôi biết nó không thể tìm thấy ' classpath: tempo-antisamy.xml '. Bằng cách nào đó tiền tố classpath không được tách ra khỏi tên tệp –
nebenmir