web.xml中servlet-mapping的url-pattern的配置

servlet-mapping为servlet类提供一个url,在地址栏中就可以访问你的servlet,例:   
  <servlet>   
          <servlet-name>HelloWorld</servlet-name>   
          <servlet-class>com.hx.webfrom.HelloWorld<servlet-class>   
  </servlet>   
  <servlet-mapping>   
          <servlet-name>HelloWorld</servlet-name>   
          <servlet-class>/hello<servlet-class>   
  </servlet-mapping>   
  在地址栏中输入http://localhost:8080/hello就可以访问了

tomcat按/index.jsp在web.xml里找mapping,找到name:   
  <servlet-mapping>   
  <servlet-name>org.apache.jsp.index_jsp</servlet-name>   
  <url-pattern>/index.jsp</url-pattern>   
  </servlet-mapping>   
    
  再按name找类:   
  <servlet>   
  <servlet-name>org.apache.jsp.index_jsp</servlet-name>   
  <servlet-class>org.apache.jsp.index_jsp</servlet-class>   
  </servlet>   
    
  找org.apache.jsp.index_jsp后生成对象,将已经生成的request,response等对象作参数初始化/init()、和调用方法(doGet(),doPost())。       
  (以上没有考虑cache,pool等许多细节,但不影响理解)

在配置web.xml的servlet-mapping
结论: 
• '/XXX/*' 
• '*.html' 
• '/' 
• 其他都是精确映射. 例: '/XXX/Y*.html' 只能映射/XXX/Y*.html 的URL请求. 
                  例: '/XXX' 只可以映射/XXX的URL请求.

引用

10.2 Specification of Mappings 
In the web application deployment descriptor, the following syntax is used to define mappings: 
• A string beginning with a '/' character and ending with a '/*' postfix is used as a path 
mapping. 
• A string beginning with a '*.' prefix is used as an extension mapping. 
• All other strings are used as exact matches only 
• A string containing only the '/' character indicates that servlet specified by the mapping becomes the "default" servlet of the application.

翻译如下: 
10.2 映射规则说明 
在web应用的部署描述中(web.xml)中, 以下语法结构用于定义映射: 
• 以'/'开头 并以'/*'结尾的字符串用于做路径的映射. 
• 以'*.'开头 用于做扩展的映射. 
• 其他的所有字符串都是只做精确映射. 
• 一个只是'/'的字符串 将当前这个servlet明确为应用的默认servlet.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值