J2EE(01) web.xml 配置說明

來源:互聯網
上載者:User

(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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.