(1) web.xml 不是web項目所必須的
web.xml 用來配置歡迎頁面,servlet, filter
(2) 配置歡迎頁面
如果沒有配置,網站首先會引導index.html,沒有就是index.jsp,否則報錯
可以自行配置
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
(3) 配置servlet映射,輸入*.do即可到達指定的servlet
(1)、為Servlet命名:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
</servlet>
(2)、為Servlet定製URL、
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
注意:命名必須在定製URL之前
(4) 配置servlet自動啟動與否
<load-on-startup>0</load-on-startup>
(5) 給servlet定製參數
定製初始化參數:可以定製servlet、JSP、Context的初始化參數,然後可以再servlet、JSP、Context中擷取這些參數值。下面哪servlet來舉例:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Tommy</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>Tommy@163.com</param-value>
</init-param>
</servlet>
每個參數配置一個<init-param>
經過上面的配置,在servlet中能夠調用getServletConfig().getInitParameter("param1")獲得參數名對應的值。
一般配置啟動的都是建立一個servlet而不是一個action,中間覆蓋GeneralServlet.init( ServletConfig config)方法
public class initServlet extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("serverlet被初始化自動調用----------------");
System.out.println(config.getInitParameter("poolsize"));
super.init(config);
}
}
(5) 設定過濾器Filter
設定過濾器:比如設定一個編碼過濾器,過濾所有資源
<filter>
<filter-name>XXXCharaSetFilter</filter-name>
<filter-class>net.test.CharSetFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XXXCharaSetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
過濾器實現:
1. 繼承HttpServlet
2. 實現介面 javax.servlet.Filter;
主要處理方法寫在doFilter,寫的時候有幾個要注意的地方:
1. doFilter的參數是ServletRequest, ServletResponse ,這個不要直接使用要轉換
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rsp = (HttpServletResponse) response;
2. 處理完畢後的引導
如果繼續請求,不攔截,就必須調用:filterChain.doFilter(request, response);
也可以攔截到指定的頁面:
rsp.sendRedirect(basePath + loginJsp+"?url="+url);
Filter的具體使用見我的另外一篇文章:servelet Filter 使用
(5) 設定會話到期時間
設定會話(Session)到期時間,其中時間以分鐘為單位,假如設定60分鐘逾時:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
詳細出處參考:http://www.jb51.net/article/19141.htm