① web.xml怎麼配置資源文件
Web.xml常用元素
<web-app>
<display-name></display-name>定義了WEB應用的名字
<description></description> 聲明WEB應用的描述信息
<context-param></context-param> context-param元素聲明應用范圍內的初始化參數。
<filter></filter> 過濾器元素將一個名字與一個實現<a href="http://www.cnblogs.com/bukudekong/archive/2011/12/26/2302183.html">javax.servlet.Filter</a>介面的類相關聯。
<filter-mapping></filter-mapping> 一旦命名了一個過濾器,就要利用filter-mapping元素把它與一個或多個servlet或JSP頁面相關聯。
<listener></listener>servlet API的版本2.3增加了對事件監聽程序的支持,事件監聽程序在建立、修改和刪除會話或servlet環境時得到通知。
Listener元素指出事件監聽程序類。
<servlet></servlet> 在向servlet或JSP頁面制定初始化參數或定製URL時,必須首先命名servlet或JSP頁面。Servlet元素就是用來完成此項任務的。
<servlet-mapping></servlet-mapping> 伺服器一般為servlet提供一個預設的URL:http://host/webAppPrefix/servlet/ServletName。
<span style="color: #008000;"> 但是,常常會更改這個URL,以便servlet可以訪問初始化參數或更容易地處理相對URL。</span>在更改預設URL時,使用servlet-mapping元素。
<session-config></session-config> 如果某個會話在一定時間內未被訪問,伺服器可以拋棄它以節省內存。
可通過使用HttpSession的setMaxInactiveInterval方法明確設置單個會話對象的超時值,或者可利用session-config元素制定預設超時值。
<mime-mapping></mime-mapping>如果Web應用具有想到特殊的文件,希望能保證給他們分配特定的MIME類型,則mime-mapping元素提供這種保證。
<welcome-file-list></welcome-file-list> 指示伺服器在收到引用一個目錄名而不是文件名的URL時,使用哪個文件。
<error-page></error-page> 在返回特定HTTP狀態代碼時,或者特定類型的異常被拋出時,能夠制定將要顯示的頁面。
<taglib></taglib> 對標記庫描述符文件(Tag Libraryu Descriptor file)指定別名。此功能使你能夠更改TLD文件的位置,
而不用編輯使用這些文件的JSP頁面。
<resource-env-ref></resource-env-ref>聲明與資源相關的一個管理對象。
<resource-ref></resource-ref> 聲明一個資源工廠使用的外部資源。
<security-constraint></security-constraint> 制定應該保護的URL。它與login-config元素聯合使用
<login-config></login-config> 指定伺服器應該怎樣給試圖訪問受保護頁面的用戶授權。它與sercurity-constraint元素聯合使用。
<security-role></security-role>給出安全形色的一個列表,這些角色將出現在servlet元素內的security-role-ref元素
的role-name子元素中。分別地聲明角色可使高級IDE處理安全信息更為容易。
<env-entry></env-entry>聲明Web應用的環境項。
<ejb-ref></ejb-ref>聲明一個EJB的主目錄的引用。
< ejb-local-ref></ ejb-local-ref>聲明一個EJB的本地主目錄的應用。
</web-app>
② web.xml 中怎麼控制css的訪問
web.xml本身不能做這種限制的!
一般是看使用哪個mvc框架,spring mvc可以控制靜態資源
但問題是css這種東西,在前台顯示的。。怎麼會限制訪問呢?
③ /和/*和/**有什麼不同springMVC中無法載入靜態資源,把web.xml中url的/換成
個人理解:
/ 根目錄
/* 跟目錄下的所有文件(含文件夾,但是不含文件夾內容)
/** 根目錄下的所有文件和子文件(含文件夾和文件夾中的子文件的子文件的子文件)
④ spring mvc 3.0 如何解決.css、.js等靜態文件被攔截問題
每個靜態資源都是一次請求不是嗎, 那你應該在web.xml里配置攔截*.action呀. 這樣的話spring就攔截不到以.action結尾的其他所有文件了
登錄的話, 建議還是用Apache shiro 來控制許可權, shiro也可以進行資源的放行
⑤ spring為什麼要對靜態資源的處理
讓靜態資源不被SpringMVC分配器過濾有兩種辦法: ① 把所有的 JS 和 CSS 文件移至別的文件夾 ② 為 resources 文件夾需要被過濾的文件類型分別寫一個 mapping 第二種方法是在web.xml配置靜態資源映射到default去吧。
⑥ springMVC中處理靜態資源的幾種方案
建議直接學習springboot。
springmvc放到webapps下。注意配置web.xml配置過濾不做許可權校驗,在spring.xml配置前後綴和訪問路徑。
⑦ 已經配置了忽略一些靜態資源,怎麼還出現訪問處理
讓靜態資源不被SpringMVC分配器過濾有兩種辦法:
① 把所有的 JS 和 CSS 文件移至別的文件夾
② 為 resources 文件夾需要被過濾的文件類型分別寫一個 mapping
第二種方法是在web.xml配置靜態資源映射到default去吧。
第一種方法意思是,比如之前的目錄結構是把css,js放在webroot下的resources文件夾中,頁面上通過 這樣的請求來訪問。
⑧ 不用web.xml怎麼訪問靜態資源
一般兩種方案:一種是動靜文件使用不同的域名達到分離效果,缺點是多少會有跨域問題;第二種是從鏈接上使用特殊字元區分,然後多增加一層分流伺服器,使用同一個域名
⑨ 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>