程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> javaweb中靜態文件的經常使用處置辦法匯總

javaweb中靜態文件的經常使用處置辦法匯總

編輯:關於JAVA

javaweb中靜態文件的經常使用處置辦法匯總。本站提示廣大學習愛好者:(javaweb中靜態文件的經常使用處置辦法匯總)文章只能為提供參考,不一定能成為您想要的結果。以下是javaweb中靜態文件的經常使用處置辦法匯總正文


本文實例匯總了javaweb中靜態文件的經常使用處置辦法,在Javaweb法式開辟中很有適用價值,詳細辦法匯總以下:

辦法一:激活Tomcat的defaultServlet來處置靜態文件

在web.xml中添加:

<servlet-mapping>  
  <servlet-name>default</servlet-name> 
  <url-pattern>*.jpg</url-pattern>   
</servlet-mapping>  
<servlet-mapping>    
  <servlet-name>default</servlet-name>  
  <url-pattern>*.js</url-pattern>  
</servlet-mapping>  
<servlet-mapping>    
  <servlet-name>default</servlet-name>    
  <url-pattern>*.css</url-pattern>   
</servlet-mapping>

解釋:要寫在DispatcherServlet的後面, 讓 defaultServlet先攔阻要求,如許要求就不會進入Spring了,我想機能是最好的吧。

Tomcat, Jetty, JBoss, and GlassFish 自帶的默許Servlet的名字 -- "default"
Google App Engine 自帶的 默許Servlet的名字 -- "_ah_default"
Resin 自帶的 默許Servlet的名字 -- "resin-file"
WebLogic 自帶的 默許Servlet的名字 -- "FileServlet"
WebSphere 自帶的 默許Servlet的名字 -- "SimpleFileServlet"

辦法二: 在spring3.0.4今後版本供給了mvc:resources ,  應用辦法:

<!-- 對靜態資本文件的拜訪 -->  
<mvc:resources mapping="/images/**" location="/images/" /> 

  解釋:/images/**映照到ResourceHttpRequestHandler停止處置,location指定靜態資本的地位.可所以web application根目次下、jar包外面,如許可以把靜態資本緊縮到jar包中。cache-period 可使得靜態資本停止web cache

辦法三 ,應用<mvc:default-servlet-handler/>

<mvc:default-servlet-handler/> 

  會把"/**" url,注冊到SimpleUrlHandlerMapping的urlMap中,把對靜態資本的拜訪由HandlerMapping轉到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler處置並前往。
DefaultServletHttpRequestHandler應用就是各個Servlet容器本身的默許Servlet.

彌補解釋:多個HandlerMapping的履行次序成績:

DefaultAnnotationHandlerMapping的order屬性值是:0
<mvc:resources/ >主動注冊的 SimpleUrlHandlerMapping的order屬性值是: 2147483646

<mvc:default-servlet-handler/>主動注冊 的SimpleUrlHandlerMapping 的order屬性值是: 2147483647

spring會先履行order值比擬小的。當拜訪一個a.jpg圖片文件時,先經由過程 DefaultAnnotationHandlerMapping 來找處置器,必定是找不到的,由於我們沒有叫a.jpg的Action。然後再按order值升序找,因為最初一個 SimpleUrlHandlerMapping 是婚配 "/**"的,所以必定會婚配上,便可以呼應圖片。
 
拜訪一個圖片,還要走層層婚配。不知機能若何?

最初再解釋一下,計劃2、計劃三 在拜訪靜態資本時,假如有婚配的(近似)總攔阻器,就會走攔阻器。假如你在攔阻中完成權限檢討,要留意過濾這些對靜態文件的要求。

若何你的DispatcherServlet攔阻 *.do如許的URL後綴,就不存上述成績了。照樣有後綴便利。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved