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