深入Servlet-(五) 请求路径(完结篇)

Servlet完结篇


一.系列导航:


写在前面:

我相信很多童鞋刚开始时对于前台请求的url和我一样 时刻都有一种发怵的感觉,总没有办法从容应对:比如路径如何填写时慎之又慎,访问web出错因为路径错误久久查找不到原因 诸如此类很是苦恼,今天咱就把压轴拿出来----彻底搞定url

一.场景模拟:

比如我现在给一个简单的请求url: "FirstServlet"我们知道a标签默认时GET请求
在这里插入图片描述
所以自然交给Servlet的doGet方法:
在这里插入图片描述
不过我这里模拟的时servlet2.5 所以请求交给servlet之前还有Web.xml对其进行拦截处理:

 <servlet>
    <servlet-name>test</servlet-name>
    <servlet-class>lkg.jsp.Servlet.FisrtServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>test</servlet-name>
    <url-pattern>/FisrtServlet</url-pattern>
  </servlet-mapping>
 <servlet>

之前我们只是粗略的介绍请求会被url-pattern拦截:现在我们对其进行具体分析:

<url-pattern>/FisrtServlet</url-pattern>

注意"/"web.xml中意思是:依据当前项目对请求路径为FisrtServlet开头的进行拦截,此时会形成一个映射关系:拦截的路径会给一个servelt-name 以此去真正的servlet中去匹配这个servlet-name,如果名字相同,说明匹配成功,这才会交由FirstServlet这个类去处理doGet方法是.否则请求失败—404


二.踩坑指南

细心的童鞋,应该察觉到我刚才说’/'是针对于web.xml中 它的涵义是相对于项目路径:也就是说完整的请求实质上是:

localhost:8888/项目名/ + 你的请求路径

但是如果你jsp等前台传来的时候前面加一个"/"义完全不同,例如:

<a href="/FisrtServlet/xxx">第一个servlet</a>

上面请求意思是:该请求是相对于服务器根路径,也就是说,和我们的web.xml脱离了,更准确地说我们项目和这个请求毫无关系,它会被tomcat服务器(这个已经你使用的服务器了)拦截直接拼接在端口后面:事实上服务器根本无法处理这个请求:所以也会报404:
在这里插入图片描述
在这里插入图片描述
当鼠标放到a标签上 就会出现如下路径,证实我们的结论.


三.曲终人散

到这,相信各位以后再填写路径的时候能够避免很多面对404无法应对的尴尬场面

同时这也是Servlet系列的完结,当然这仅仅是这一个模块的完结,笔者还会继续努力学习新的acknowledge ,擎等着你勒…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值