900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 使用WebServlet注解和web.xml配置servlet映射路径的区别及注意事项

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

时间:2022-05-24 20:55:38

相关推荐

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

配置servlet映射路径

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

一、使用web.xml配置url

格式:

<servlet><!--自定义,一般为类名--><servlet-name>servletDemo1</servlet-name><!--一定是package + .类名--><servlet-class>day08_servlet.ServletDemo1</servlet-class></servlet><!--给Servlet提供(映射)一个可供客户端访问的URI--><servlet-mapping><!--和servlet中的name必须相同--><servlet-name>servletDemo1</servlet-name><!-- servlet的映射路径 --><url-pattern>/servlet</url-pattern></servlet-mapping>

注意:

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文件内容 (其中没有<servlet.>字样)

@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还可能启动报错,对此知识感兴趣可以点击上方超链接

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。