Файлы.js и.css загружаются как текст /html на моей странице JSP.
Когда я загружаю свою страницу jsp, вложенные файлы css и js отображаются в формате text/html. Я заметил это из браузера Chrome, где я мог видеть это сообщение об ошибке
"Ресурс интерпретируется как скрипт, но передается с MIME-типом text/html"
Я указал тип MIME в web.xml следующим образом:
<mime-mapping>
<extension>js</extension>
<mime-type>application/javascript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
Сервер, на котором я запускаю свое приложение, - Apache Tomcat 7. Я создал этот файл JSP внутри проекта Vaadin.
Мои вопросы: нужно ли мне менять тип Mime где-то еще в конфигурации Tomcat? Есть ли какие-либо ограничения для включения файлов CSS и JS в страницу JSP?
или это из-за фреймворка Vaadin?
Я только начинающий, пытающийся изучить JSP и vaadin Framework.
2 ответа
Я наконец нашел причину этой проблемы. Я только что исправил web.xml, изменив отображение URL по умолчанию
например. от значения по умолчанию, как показано ниже
<servlet-mapping>
<servlet-name>My Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
в
<servlet-mapping>
<servlet-name>My Application</servlet-name>
<url-pattern>/home/*</url-pattern>
</servlet-mapping>
После изменения этого я все еще получил ошибку, которую я исправил, добавив
<servlet-mapping>
<servlet-name>My Application</servlet-name>
<url-pattern>/VAADIN/*</url-pattern>
</servlet-mapping>
который описан в Книге Ваадина, раздел 4.8 https://vaadin.com/book/-/page/application.environment.html
В моем случае у меня есть фильтр в моем web.xml
это фильтрует все. (Перенаправляет на определенную страницу на основе IP-адреса.)
<filter-mapping>
<filter-name>RedirectFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
При таком сопоставлении фильтров все запросы (включая изображения, таблицы стилей, сценарии и т. Д.) Проходят через фильтр. Вы можете исправить это, удалив filter-mapping
от твоего web.xml
или проверка логики в filter-class
разрешать или игнорировать ресурсы.