Ⅰ WEB.xml文件中可不可以配2個servlet
WEB.xml文件中配置多個servlet是可以的,但是請求地址不能相同
Ⅱ 在 web項目中如何配置 Servlet
在web項目的web.xml中配置servlet
<servlet>
<servlet-name>action</servlet-name><!--servlet的名稱-->
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class><!--servlet的實現類-->
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>><!--跟上面的servlet的名稱相對應-->
<url-pattern>*.jsp</url-pattern><!--要攔截的元素-->
</servlet-mapping>
希望能幫到你,我說的不明白的,你再問!
Ⅲ 怎麼配置servlet
一、servlet的配置
servlet有兩種配置的方法
1.在web.xml文件中配置
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.hwua.servlet.LoginServlet</servlet-class></servlet><servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/login</url-pattern></servlet-mapping>
2.在servlet中用Java註解的方式配置
使用註解配置Servlet的步驟:
1. 在Servlet類上貼@WebServlet註解2. 在web.xml文件中進行如下的配置
metadata-complete="true":表示是否忽略Servlet上面的註解
metadata-complete="false"表示是否不忽略Servlet上面的註解,預設值
二、servlet生命周期
public void init(ServletConfig config):初始化方法,在第一次請求時調用,只在最初的時候調用一次.
public void service(ServletRequest req, ServletResponse res):服務方法
public void destroy():銷毀方法
- <init-param>
- <param-name>name</param-name>
- <param-value>admin</param-value></init-param>
- String name = config.getInitParameter("name");
- <context-param>
- <param-name>driver</param-name>
- <param-value>oracle.jdbc.OracleDriver</param-value></context-param>
- ServletContext servletContext = config.getServletContext();
- String initParameter = servletContext.getInitParameter("driver");
- <load-on-startup>1</load-on-startup>
- load-on-startup 的參數是大於等於0的 負數沒有效果load-on-startup 必須在參數init-param標簽的下面 否則init-param會失效
- String getContextPath():獲取上下文路徑,<Context path="上下文" ../>
- String getHeader(String headName):根據指定的請求頭獲取對應的請求頭的值. String getRequestURI():返回當期請求的資源名稱. 上下文路徑/資源名
- StringBuffer getRequestURL():返回瀏覽器地址欄的內容 String getRemoteAddr():返回請求伺服器的客戶端的IP
- String getParameter(String name):根據參數名稱,獲取對應參數的值.String[] getParameterValues(String name):根據參數名稱,獲取該參數的多個值.
- Enumeration<String> getParameterNames():獲取所有請求參數的名字Map<String,String[]> getParameterMap():返回請求參數組成的Map集合.
- key:參數名稱
- value:參數值,封裝在String數組中.
三、在web.xml文件中設置/獲取初始化參數
1.作用域當前的servlet 寫在servlet標簽中
過去參數 在init方法中
2.上下文參數 寫在web-app標簽中
獲取參數 在init方法中
四、設置servlet啟動的時間
默認情況下servlet是在第一次被請求時啟動的
通過在web.xml文件中設置
注意:
五、常用方法:
六、獲取請求參數的方法:
Ⅳ Java web中多個servlet的問題
servlet是按照攔截器攔截url的方式,所以誰的攔截器先攔截到這個url就誰先處理,後面的就不管了
Ⅳ 分別用web.xml和@WebServlet配置1個servlet(總計兩個servlet),要求如下:
參考代碼如下:
farahead14
Ⅵ web.xml中可以配置多個servletcontextlistener么
首先可以肯定的是,載入順序與它們在 web.xml
文件中的先後順序無關。即不會因為 filter 寫在 listener 的前面而會先載入 filter。最終得出的結論是:listener
-> filter -> servlet
同時還存在著這樣一種配置節:context-param,它用於向 ServletContext
提供鍵值對,即應用程序上下文信息。我們的 listener, filter 等在初始化時會用到這些上下文中的信息,那麼
context-param 配置節是不是應該寫在 listener 配置節前呢?實際上 context-param
配置節可寫在任意位置,因此真正的載入順序為:context-param -> listener -> filter ->
servlet
對於某類配置節而言,與它們出現的順序是有關的。以 filter 為例,web.xml 中當然可以定義多個 filter,與
filter 相關的一個配置節是 filter-mapping,這里一定要注意,對於擁有相同 filter-name 的 filter 和
filter-mapping 配置節而言,filter-mapping 必須出現在 filter 之後,否則當解析到
filter-mapping 時,它所對應的 filter-name 還未定義。web 容器啟動時初始化每個 filter
時,是按照 filter 配置節出現的順序來初始化的,當請求資源匹配多個 filter-mapping 時,filter 攔截資源是按照
filter-mapping 配置節出現的順序來依次調用 doFilter() 方法的。
servlet 同 filter 類似 ,此處不再贅述。
由此,可以看出,web.xml 的載入順序是:context-param -> listener -> filter
-> servlet ,而同個類型之間的實際程序調用的時候的順序是根據對應的 mapping 的順序進行調用的。