天天看點

Servlet的兩種配置(注解與web.xml)Servlet的兩種配置(注解與web.xml)

Servlet的兩種配置(注解與web.xml)

web.xml中Servlet的注解

<servlet>
         <!-- servlet的内部名稱,⾃定義 -->
        <servlet-name>類名</servlet-name>
        <!-- servlet的類全名:包名+類名 -->
        <servlet-class>com.uplooking.controller.DemoAction</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>  
<!-- servlet的映射配置 -->
<servlet-mapping>
        <!-- servlet的内部名稱,⼀定要和上⾯的内部名稱保持⼀緻 -->
        <servlet-name>類名</servlet-name>
        <!-- servlet的映射路徑(通路serclet的名稱)-->
        <url-pattern>/DemoAction</url-pattern>
</servlet-mapping>

           

2、servlet的通路

①⾸先,從浏覽器中發送請求,是從目前⼯程中的路徑與servlet-mapping标簽中的url-pattern的标簽值進⾏比對。

②根據這個映射值,找到servlet-mapping标簽中的servlet-name的值與servlet标簽中的servlet-name進⾏匹

③比對到以後,找到servlet标簽中的servlet-class标簽中對應servlet類的src⽂件夾下的全路徑。

④從⽽調⽤并執⾏相應的servlet類。

3、注意:servlet-mapping标簽中的servlet-name的值與servlet标簽中的servlet-name必須相同。

注解通路servlet

1、在以往我們的Servlet都需要在web.xml檔案中進行配置(Servlet3.0同樣支援),但是在Servlet3.0中引入了注解,我們隻需要在對應的Servlet類上使用@WebServlet注解進行标記,我們的應用啟動之後就可以通路到該Servlet。

對于一個@WebServlet而言,有一個屬性是必須要的,那就是它的通路路徑。@WebServlet中有兩個屬性可以用來表示Servlet的通路路徑,分别是value和urlPatterns。value和urlPatterns都是數組形式,表示我們可以把一個Servlet映射到多個通路路徑,但是value和urlPatterns不能同時使用。如果同時使用了value和urlPatterns,我們的Servlet是無法通路到的。

總結

1、共同點:注解通路servlet和web配置⽂件通路servlet都能完成對servlet的通路。

2、注解通路servlet:

優點:代碼少,可讀性強,易于了解。

缺點:如果⼤量使⽤servlet注解,servlet類⽂件數量過多,不便于查找和修改。

3、web配置⽂件通路servlet:

優點:集中管理各servlet類路徑的映射路徑,便于修改和管理。

缺點:代碼多,可讀性不強,不易于了解。

部分引用:https://blog.csdn.net/weixin_51182359/article/details/124532580

xml