2012-07-14 38 views
3

當我加載我的jsp頁面時,附加的css和js文件呈現爲文本/ html格式。 我注意到它從Chrome瀏覽器在那裏我可以看到此錯誤消息.js和.css文件在我的JSP頁面中以文本/ html加載。

「資源解釋爲腳本,但使用MIME類型text/html轉移」

我已指定web.xml中的MIME類型,如下所示,

<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.我在Vaadin項目中創建了這個JSP文件。

我的問題是, 我需要在Tomcat配置中的其他地方更改Mime類型嗎? 在JSP頁面中包含CSS和JS文件是否有任何限制?
還是因爲Vaadin框架?

我只是一個試圖學習JSP和vaadin框架的初學者。

回答

3

我終於找到了這個問題的原因。我只是通過更改默認的URL映射來修復web.xml。 從默認值,如下

<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

0

就我而言,我在我的web.xml中有一個過濾器,可以過濾所有內容。 (它重定向到基於IP地址的某一頁。)

<filter-mapping> 
    <filter-name>RedirectFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

有了這個過濾器映射,所有的請求(包括圖片,樣式,腳本等)經過過濾器。您可以通過從您的web.xml中刪除filter-mapping或檢查filter-class中的邏輯來允許或忽略資源來修復它。

相關問題