url-pattern 标签中的值是要在浏览器地址栏中输入的 url,可以自己命名,这个 url 访问名为 servlet-name 中值的 servlet,两个 servlet-name 标签的值必须相同,因为通过 servlet 标签中的 servlet-name 标签映射到 servlet-class 标签中的值,最终访问 servlet-class 标签中的 class。
还有,web.xml 的 / 表示的是http://localhost:8080/ + 工程名
而.jsp页面的action,加了/表示绝对路径http://localhost:8080/ ,没有加 / 表示的是相对路径
也就是说:
servlet和servlet-mapping都含有servlet-name
主要原因是想通过servlet-name作为纽带,将servlet-class和url-pattern构成联系,从而使URL映射到类servlet-class所指定的类中!
总之:
servlet-name,servlet-class,servlet-mapping,url-pattern这四个都是注册servlet所必须的节点。
要注册servlet的名字,一般跟Servlet类名有关
这个就是指向我们要注册的servlet 的类地址, 要带包路径
以上两个包在一个servlet 节点之下.
是用来配置我们注册的组件的访问路径,
主要是截获请求的,
如果你的url-pattern定义的是路径,那么以后所有对这个路径下资源的请求都会由专servlet-name中定义的servlet处理;
如果你的url-pattern定义的是资源格式例如*.do等,那么对于所有符合这种格式的资源的请求都由指定的servlet处理。
里面包括两个节点
一个是 这个要与 前面写的servlet一样
另一个是 配置这个组件的访问路径