① web.xml文件主要配置有哪些,都有什麼含義
①web.xml文件是用來配置:歡迎頁、servlet、filter等配置文件用的。當你的web工程沒用到這些時,你可以不用web.xml文件來配置你的web工程
web.xml的模式文件中定義的標簽並不是定死的,模式文件也是可以改變的,一般來說,隨著web.mxl模式文件的版本升級,裡面定義的功能會越來越復雜,
也即標簽元素的種類會越來越多,但有些是不常用的,我們只需記住一些常用的就可以了。
首先是定義頭和根元素
聲明為xml文件,版本為1.0,編碼為utf-8
聲明該文件的內容可以使用xsi的標簽庫
聲明標簽的使用范圍是被javaee的開發使用的
聲明可以使用的標簽庫和對應的具體的標簽庫版本地址。
web.xml的模式(Schema)文件中定義了多少種標簽元素,它就能擁有定義出來的那些功能
隨著web.mxl模式文件的版本升級,裡面定義的功能會越來越復雜,也即標簽元素的種類會越來越多.
定義項目的名稱.
項目名稱
歡迎頁面
servlet
配置springmvc DispatcherServlet( 前台控制器)-->example這個Servlet的名字是example,可以有多個DispatcherServlet,是通過名字來區分的。
async-supported
啟動一個新的線程去處理你的請求,完成之後調用你指定的回調函數來完成整個非同步操作。
一般的jsp是通過地址欄輸入一個地址,或者提交表單的方式發送請求的,這樣網頁都會被刷新。但是如果你在jsp頁面發送一個ajax請求的話,跟前兩種不同,
後台會返回給jsp頁面內容,頁面不會直接刷新,這樣可以把返回的數據寫在頁面的div中,這樣就完成了頁面的局部刷新。
舉個例子,你做一個查詢功能,頁面上有查詢條件和查詢結果顯示區域,你可以點查詢按鈕的時候通過ajax非同步發送你的查詢條件,
而你得到後台返回的查詢結果後,更新你的jsp頁面的查詢結果,jsp的其他部分,比如查詢條件,都沒有更新,jsp沒有刷新,而是更新了查詢結果這一塊內容
url-pattern 默認匹配所有請求Servlet攔截匹配規則可以自已定義1、攔截*.do、*.htm, 例如:/user/add.do,這是最傳統的方式,最簡單也最實用。不會導致靜態文件(jpg,js,css)被攔截。2、攔截/,例如:/user/add,可以實現現在很流行的REST風格。很多互聯網類型的應用很喜歡這種風格的URL。弊端:會導致靜態文件(jpg,js,css)被攔截後不能正常顯示。
監聽器
Listener獲取的是Web應用ServletContext(application)的配置參數。-為Web應用配置Listener的兩種方式: 使用@WebListener修飾Listener實現類即可 在web.xml文檔中使用進行配置。我們選擇web.xml這種配置方式,只有一個元素指定Listener的實現類.
②啟動WEB項目的時候,Tomcat容器首先會去它的配置文件讀取兩個節點listener和context-param。
然後Tomcat會創建一個ServletContext(application),WEB項目所有部分都將共享這個上下文
將applicationContext.xml存入ServletContext中
Tomcat容器根據class類路徑來創建監聽
上面這些都是在web項目還沒有完全啟動起來就完成的工作,而servlet是在第一次發起請求時被實例化的
而且一般不會被容器銷毀,並服務於多個用戶的請求.
web.xml的載入順序是: context-param-> listener -> filter -> servlet.
filter
Filter可認為是Servlet的「增強版」,因此Filter配置與Servlet的配置非常相似,需要配置兩部分:配置Filter名稱和Filter攔截器URL模式。區別在於Servlet通常只配置一個URL,而Filter可以同時配置多個請求的URL。配置Filter有兩種方式:
在Filter類中通過Annotation進行配置。
在web.xml文件中通過配置文件進行配置。
①網路
②http://blog.csdn.net/believejava/article/details/43229361
1.在web.xml里配置監聽器、過濾器、攔截器,書寫順序有沒有什麼要求?
根據網上資料來分析,應該是沒有書寫順序的要求,容器會按照自己的載入方式去載入順序.
2.監聽器是必須要配置的嗎?
不是必須要配置.
3假設配置了多個listener,那麼會先載入哪個listener
如果有多個listener的情況下,我們可以根據自己的需要去手動設置先去載入哪個listener.
今天的分享就到這里啦,歡迎大家點贊、轉發、留言、拍磚~
技能樹.IT修真院
「我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫」。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一起學習吧~
http://www.jnshu.com/login/1/14708688
PPT : https://ptteng.github.io/PPT/PPT-java/Java-task2-webxml.html#/
② java web中怎麼使用web.xml配置文件
只要配置一個 過濾器就可以了
<!-- struts2過濾器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
③ java web.xml servlet 如何配置 servlet-class
配置方法:
<servlet>
<servlet-name>InitPassword</servlet-name>
<servlet-class>InitPassword</servlet-class>
<init-param>
<param-name>FileName</param-name>
<param-value>WEB-INF/config/ds.config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
編寫servlet程序一定要用包,放到包下面使用,不存在所謂的預設包(即無包)。此處在配置xml文件時時,<servlet-class>InitPassword</servlet-class>中間要放的類所在包及類名。
Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程序或服務連接器,用Java編寫的伺服器端程序,主要功能在於互動式地瀏覽和修改數據,生成動態Web內容。
④ java web的web.xml文件怎麼配置
<servlet>
<servlet-name>register</servlet-name>
<servlet-class>TestServlet(放你的類完整路徑)</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>register</servlet-name>
<url-pattern>/register(jsp的提交)</url-pattern>
</servlet-mapping>
至於 TestBean 是沒有辦法在web.xml中去配置的,除非用到框架
所以,你可以直接在TestServlet類中直接調用TestBean就好
⑤ 用java寫web應用時候,是否需要每寫servlet的時候都要配置web.xml文件
java編寫web應用的時候,當使用servlet 3.0之後,不需要配置web.xml文件,使用如下註解形式即可:
@WebServlet(urlPatterns={"/simple"},asyncSupported=true,
loadOnStartup=-1,name="SimpleServlet",displayName="ss",
initParams={@WebInitParam(name="username",value="tom")}
)
{…}
⑥ 怎樣在java代碼中查看web.xml配置說明
不存在明確的介面讓你去查看web.xml里的東西,但是對於這些配置,你可以有特定的介面,比如spring的配置,spring的代碼有動態查看的方式。
但,如果你就想看web.xml的內容的話,有一個簡單的方法:直接讀取web.xml,路徑你知道,文件名你知道,你自然可以用fileinputstream讀取它。
⑦ JAVA web.xml的配置中
<url-pattern>/</url-pattern>首先,看名字就知道這個是url的模式,就是指過濾器攔截什麼樣的請求,然後,你的程序中是/*,就是指攔截所有的請求,如果配置為/*.do,則表示攔截所有以do為後綴名的請求,以此類推
⑧ java三大框架web.xml怎麼配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>action</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>action</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
我這是struts2
struts1這么配
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<filter>
<display-name>ChracaterFilter</display-name>
<filter-name>ChracaterFilter</filter-name>
<filter-class>xm.sq.filter.ChracaterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ChracaterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
⑨ web.xml配置
大哥不敢當,發一個我的web.xml給你看看,感覺內容差不多
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>e.ontest.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb18030</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>http://www.woodisthebest.org</taglib-uri>
<taglib-location>/pagetag_tld/pagetag.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
試試不要將tag的tld放在WEB-INF目錄下呢
⑩ java web.xml servlet 配置 servlet-class 問題
編寫servlet程序一定要用包,放到包下面使用,不存在所謂的預設包(即無包)。此處在配置xml文件時時,<servlet-class>InitPassword</servlet-class>中間要放的類所在包及類名,如package
com.;則寫為servlet-class>com..InitPassword</servlet-class>此處類一般為自己編寫的,存放於WEB-INF目錄下的classes文件夾下