.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?
или это из-за ваадинской структуры?
Я всего лишь новичок, пытающийся изучить фреймворк JSP и vaadin.
2 ответа:
Я наконец нашел причину этой проблемы. Я только что починил паутину.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>
, который транслируется в книге фреймворк Vaadin, раздел 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
, чтобы разрешить или игнорировать ресурсы.