首页 / 世界杯吉祥物

使用WebServlet注解和web.xml配置servlet映射路径的区别及注意事项

2025-09-19 12:41:24世界杯吉祥物 7226

配置servlet映射路径

一、使用web.xml配置url二、使用servlet注解设置url三、有关使用web.xml重写WebServlet注解

一、使用web.xml配置url

格式:

servletDemo1

day08_servlet.ServletDemo1

servletDemo1

/servlet

注意:

url-pattern其中的路径不要忘记‘/’servlet-class的格式一定是包名+类名

二、使用servlet注解设置url

在tomcat7.0,servlet3.0以上,支持注解的方式来设置servlet映射路径而不再需要配置web.xml。

@WebServlet注解允许servlet映射声明在servlet代码,作用同通过映射部署描述符(web.xml)文件的servlet.

我们在创建新的项目时选择tomcat8.5,servlet3.1 之后新建一个servlet时就会自动生成一条注解:@WebServlet("/MyServlet") 此时自动生成的web.xml文件内容 (其中没有字样)

@WebServlet格式:

@WebServlet注解提供的value属性,该属性提供servlet映射

@WebServlet("/MyServlet")

在双引号中的/MyServlet即为当前servlet配置的url,其作用等同于web.xml文件中的url-pattern部分

当然也可以给servlet提供几个不同的路径的映射,需要使用到urlPatterns属性,urlPatterns属性可以指定一个URL模式字符串数组映射servlet。如下:

@WebServlet(urlPatterns={"/MyServlet","/Test","/hello"})

此时当前servlet可以通过三个不同的url访问

三、有关使用web.xml重写WebServlet注解

当在java代码使用@WebServlet映射servlet时,部署描述符文件(web.xml)也可以一起使用来映射servlet。事实上有许多要求在应用程序中使用web.xml

如果你代码中仍使用@WebServlet标注,当遇上web.xml与@WebServlet标注同名的servlet,由web.xml提供的映射会重写由@WebServlet标注定义的映射。

有关重写知识请参考→ “web.xml与@WebServlet映射问题及其处理” 当然,没有特殊需求还是不要同时使用web.xml和WebServlet注解,因为配置很容易出现混乱冲突,同时tomcat还可能启动报错,对此知识感兴趣可以点击上方超链接