Tôi biết rằng getWebApplicationContext() tìm WebApplicationContext gốc qua ContextLoaderListener
hoặc ContextLoaderServlet
Sự khác nhau giữa ContextLoaderListener và ContextLoaderServlet
Nhưng tôi cần phải biết sự khác biệt và khi sử dụng nó?
Tôi biết rằng getWebApplicationContext() tìm WebApplicationContext gốc qua ContextLoaderListener
hoặc ContextLoaderServlet
Sự khác nhau giữa ContextLoaderListener và ContextLoaderServlet
Nhưng tôi cần phải biết sự khác biệt và khi sử dụng nó?
Các javadoc cho ContextLoaderServlet nói lên tất cả:
Lưu ý rằng lớp này đã được chấp thuận cho thực hiện container Servlet API 2.4 hoặc cao hơn, có lợi cho ContextLoaderListener.
Dường như trước Servlet API 2.4 thứ tự trong đó người nghe so với servlet được khởi tạo không được ủy quyền theo đặc tả. Vì vậy, để đảm bảo rằng bối cảnh mùa xuân được nạp đúng trước bất kỳ servlet nào khác trong một thùng chứa Servlet 2.3 và thấp hơn, bạn sẽ cần phải sử dụng ContextLoaderServlet và đặt nó làm người đầu tiên tải khi khởi động. Kiểm tra liên kết đó để biết thêm chi tiết.
Một bộ nạp bối cảnh nạp file cấu hình bối cảnh cũ (bên trong web.xml):
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Câu hỏi đặt ra là về 'ContextLoadListener' vs' ContextLoadServlet', cả hai đều gọi [ContextLoader] (http: // docs .spring.io/spring-framework/docs/2.5.x/api/org/springframework/web/context/ContextLoader.html) - lớp có trách nhiệm tải các tệp cấu hình ngữ cảnh. Câu trả lời của laz là trực tiếp hơn cho câu hỏi ban đầu của op. – Tung