web訪問靜態資源
❶ Spring MVC 直接訪問 WEB-INF下的靜態頁面怎麼在配置文件中配置,求大神解答
注意配置的時候如下規則
1、頁面jsp(html等)的訪問必須走controller的訪問和跳轉
2、css、js等可以直接通過地址去訪問不需要走後台控制器
3、怎麼處理的,可以配置訪問限制。也就是放開對css、js等靜態資源的訪問,動態資源(.jsp用控制器去訪問),參考連接網頁鏈接
❷ SpringMVC處理靜態資源,SpringMVC中關於WEB-INF下文件的訪問
前台頁面是訪問不到WEB-INF下的文件的,不管是靜態頁還是js還是css都不行,所以像js和css這類必須放在WebRoot下面,而不能放在WEB-INF下
❸ web工程下WebInfo下的jsp調用WebContent下的靜態資源,比如js文件路徑應該怎麼寫
<script src="/項目名/js/js文件名.js"></script>
❹ 開發web應用程序時,靜態文件一般存放在什麼位置
一般大系統部署,會用Apache或EngineX作為前置Web伺服器,也就是這樣的模型:
互聯網接入路由----硬體負載均衡----前置Web伺服器----中間件----資料庫J2EE中間件在處理純文件訪問的能力其實遠低於Apache,所以一般將所有不需要許可權保護的靜態資源:圖片、視頻、音頻、JS腳本、CSS樣式文件、HTML靜態文件(一般是靜態化後的網頁),全部都放在「前置Web伺服器上」
有條件的話可以考慮使用單獨的域名和伺服器,或者使用雲存儲。可以減輕主web伺服器的負擔,同時提高網頁載入速度
❺ web靜態資源在什麼時候被調用
1應用程序實現的動態頁面緩存應用程序把動態文件生成的html文件緩存到文件伺服器,以後用戶請求動態文件,直接從文件伺服器載入對應的靜態緩存的html文件返回給用戶,這裡面主要節省了動態語言的執行時間和資料庫訪問時間。但是會增加了緩存框架的載入和緩存查找的時間。2把解釋執行的開發語言編譯成為目標代碼這個主要把解釋執行的高級語言,例如java,php直接編譯成為平台相關的目標代碼,匯編代碼。在java裡面,比較著名的就是即時編譯器(JIT),其他的語言也要類似的機制。這裡面主要節省了就是解釋執行代碼的時間。這個會增加即時編譯的時間。3利用反向代理伺服器的緩存利用類似nginx的反向代理伺服器,對請求的url對應的輸出的進行緩存。這個緩存和應用程序實現的動態頁面緩存類似,只不過用反向代理充當了應用程序的緩存實現。主要節省了動態余元執行時間和資料庫訪問時間。4客戶端瀏覽器緩存客戶端瀏覽器緩存主要是通過在http頭部增加Last-Modified,If-Modified-Since,Expires,Cache-Control等標識,和伺服器進行協商,是否是採用客戶的本機緩存來實現。其中這裡面也會分為三種方式1通過Last-Modified,If-Modified-Since方式和伺服器通信,客戶發出http請求中包含If-Modified-Since,如果伺服器端代碼沒有修改,伺服器端返回302響應代碼的請求響應頭(內容不返回)客戶端則直接用本機緩存的內容緩存顯示結果。相當於節省了伺服器執行代碼時間以及數據傳輸時間。2通過Expires,Cache-Control控制,客戶端發現如果上次請求的頁面還未過期,通過Expires或者Cache-Control進行辨別,則直接顯示本機緩存的內容,不與伺服器進行通信。總結一下:1一般的高並發的應用程序,都在web層採用了以上幾種緩存,一般靜態資源(圖片,js,css)都會採用nginx反向代理+客戶端緩存來實現。2對於門戶網站,尤其是首頁的新聞,一般都會緩存起來,可以通過反向代理也可以通過應用程序緩存實現方式3對於下載或者視頻網站,由於數據傳輸比較大,直接採用瀏覽器本地緩存實現。
❻ web應用中的動態資源和靜態資源分別指什麼
直接把相應文件發送到客戶端的文件都是靜態資源。
如果不同的用戶可以得到不同的回答,是動態資源,一般是指資料庫資源。
❼ WEB-INF不能訪問靜態資源
用nginx配個靜態伺服器, 然後直接寫靜態資源地址就行了
❽ SpringMvc訪問靜態資源的幾種方法
第一種:在web.xml中配置名為default的servlet-mapping
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
第二種:在SpringMVC配置文件中添加<mvc:resource>標簽
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:resources mapping="/css/**" location="/css/"/>
<mvc:resources mapping="/img/**" location="/img/"/>
第三種:在SpringMVC配置文件中添加<mvc:default-servlet-handler/>標簽
<mvc:default-servlet-handler/>
第四種:修改SpringMVC的攔截路徑,我這里使用的是/,也就是說所有的鏈接的攔截,
可以修改成*.do或者*.action或者其他,這樣靜態資源就不會攔截了
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
❾ webpack打包後的靜態資源,怎麼直接訪問
一般兩種方案:一種是動靜文件使用不同的域名達到分離效果,缺點是多少會有跨域問題;第二種是從鏈接上使用特殊字元區分,然後多增加一層分流伺服器,使用同一個域名
❿ javaweb項目如何訪問靜態資源
1 在spring框架下,如果讓mvc攔截所有路徑,需要配置靜態資源路徑:
<mvc:resourceslocation="/image"mapping="image/**"/>
<mvc:resourceslocation="/css"mapping="css/**"/>
現在一般都使用rest風格介面, 即mvc攔截/rest/**請求, 所以只要把靜態文件放在其他路徑就可以了
2 原生servlet,struct2 直接訪問即可