eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)

在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会弹出一个对话框,“Dynamic web module version”这个选项默认成了3.0,按照老规范,应该是在eclipse的WebContent \ WEB-INF \ 目录下创建web.xml的。而新规范是可以不用web.xml的,如tomcat 7.0就支持新规范,这样相关的servlet配置会以注解的形式直接写到代码里面了,比如@WebServlet。 当然如果你用老的项目导入,可以选择Dynamic web module version这个选项设成2.5,这样web.xml就会自动更新了。 

 

@WebServlet(“/HW”)的含义:

 

@WebServlet(“/HW”)//默认设置的是urlPatterns属性

public class HelloServlet extends HttpServlet {

只要在Servlet上设置@WebServlet标注,容器就会自动读取当中的信息。上面的@WebServlet告诉容器,如果请求的URL是“/HW”,则由HelloServlet的实例提供服务。可以使用@WebServlet提供更多信息。
@WebServlet(
    name="Hello",
    urlPatterns={"/HW"}
)

上面的@WebServlet告知容器,HelloServlet这个Servlet的名称是Hello,这是由name属性指定的,而如果客户端请求的URL是/HW,则由具Hello名称的Servlet来处理,这是由urlPatterns属性来指定的。在Java EE相关应用程序中使用标注时,可以记得的是,没有设置的属性通常会有默认值。例如,若没有设置@WebServlet的name属性,默认值会是Servlet的类完整名称。

 

注意:Tomcat中, 如果web.xml和@WebServlet属性都设置了,那么对不起,@WebServlet

中的urlPatterns属性就不起作用了!(可以将web.xml从WEB-INF目录中移走,或者删除

这样@WebServlet中的urlPatterns属性值就可以使用了!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值