Nếu tôi ánh xạ ứng dụng mùa xuân của mình để xử lý tất cả các yêu cầu gửi đến ('/ *'), thì các yêu cầu cho nội dung tĩnh trả về 404. Ví dụ: yêu cầu "myhost.com/css/global.css" sẽ trả về 404, mặc dù tài nguyên tồn tại khi Spring chặn yêu cầu.SpringMVC có thể được cấu hình để xử lý tất cả các yêu cầu, nhưng không bao gồm các thư mục nội dung tĩnh?
Cách khác là ánh xạ SpringMVC vào thư mục con (ví dụ '/ home/'), nhưng trong trường hợp này, bạn phải vượt qua thư mục này trong tất cả các liên kết trong ứng dụng. Có cách nào để ánh xạ SpringMVC đến '/' và loại trừ một tập hợp các thư mục để xử lý không?
cấu hình web.xml hiện tại của tôi là:
<servlet>
<servlet-name>springApp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springApp</servlet-name>
<url-pattern>/home/*</url-pattern>
</servlet-mapping>
Idealy Tôi muốn có các bản đồ có một cái gì đó như sau:
<servlet-mapping>
<servlet-name>springApp</servlet-name>
<url-pattern>/*</url-pattern>
<exclude>/css/*,/js/*</exclude>
</servlet-mapping>
là loại điều có thể?
Tôi hiện đang sử dụng DefaultAnnotationHandlerMapping để thực hiện ánh xạ dựa trên chú thích của bộ điều khiển. Dựa trên đề xuất của bạn, tôi sẽ mở rộng nó và thêm hỗ trợ cho các loại trừ dựa trên đường dẫn. Cám ơn đã chỉ tôi hướng đi đúng. –
Câu trả lời thú vị! –
Trong trường hợp bất cứ ai bỏ lỡ nó, lưu ý rằng một giải pháp tốt hơn nhiều tồn tại cho mùa xuân 3.x. Hãy xem câu trả lời dưới đây! –