zoukankan      html  css  js  c++  java
  • 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属性值就可以使用了!)

  • 相关阅读:
    vue 设置请求超时时间处理
    element 表格只展开一行(点击下一行上一行关闭)
    element菜单刷新后定位问题?
    自己觉得不错的滚动条样式
    $.ajax()方法详解
    安卓获取自有证书的SHA1码
    sortable.js 拖拽排序及配置项说明
    uni-app 引入本地iconfont的正确姿势以及阿里图标引入
    mui slider禁止滑动
    stl源码剖析 详细学习笔记 仿函数
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/4086107.html
Copyright © 2011-2022 走看看