example documentation nói rằng bạn chỉ cần đặt tệp của mình trong chiến tranh/(hoặc thư mục con) và chúng có thể truy cập được từ máy chủ (miễn là chúng không phải là JSP hoặc trong WEB-INF). Ví dụ: nếu bạn đặt foo.css trong chiến tranh/thì bạn sẽ có thể truy cập nó tại http://localhost:8080/foo.css. Tuy nhiên, điều này không làm việc cho tôi cả. Không thể truy cập vào các tệp tĩnh của tôi.Tệp tĩnh trong (Java) App Engine không thể truy cập
Tài liệu trên appengine-web.xml nói rằng bạn cũng có thể biểu thị cụ thể các loại nhất định là tĩnh. Tôi đã thử điều này là tốt và nó làm cho không có sự khác biệt.
Tôi có thiếu thứ gì đó hiển nhiên không?
CẬP NHẬT: Tắt một trong các ánh xạ trong web.xml của tôi hơi quá tích cực. Sau đây là thủ phạm:
<servlet>
<servlet-name>Main</servlet-name>
<servlet-class>MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Main</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Có vẻ như rằng nó đã lấy tất cả những gì đã không được nắm lấy là một trong những quy tắc khác, mà tôi không hiểu vì không có * trên phần cuối của url- mẫu. Nó cũng có vẻ là mâu thuẫn trực tiếp với the documentation nói rằng:
Lưu ý: file tĩnh, tập tin được phục vụ đúng nguyên văn cho người dùng như hình ảnh, CSS hay JavaScript, được xử lý riêng rẽ từ đường dẫn nêu trong deployment descriptor . Một yêu cầu cho đường dẫn URL khớp với đường dẫn đến tệp trong WAR được coi là tệp tĩnh sẽ phân phối tệp, bất kể servlet và ánh xạ bộ lọc trong bộ mô tả triển khai. Bạn có thể loại trừ các tệp khỏi những tệp được coi là tệp tĩnh bằng cách sử dụng tệp appengine-web.xml.
Vì vậy, làm cách nào để có quy tắc phù hợp với cơ sở tên miền của tôi (ví dụ: http://www.example.com/) và vẫn cho phép các tệp tĩnh lọc qua?
Làm mẫu đi kèm với công việc SDK? Cách khởi chạy ứng dụng. Tôi đoán bạn đã kiểm tra xem các tệp có thực sự trong chiến tranh/ – jitter
Vâng, ứng dụng sổ lưu bút cho phép tôi nhấn tệp CSS của nó tốt. –