一. Servlet请求路径的定义方式
我们很多同学在学习Servlet匹配请求路径时,都知道匹配请求路径的方式有三种,分别是精确匹配、通配符匹配和后缀匹配,具体如下:
上面这样定义的Servlet,就能接收精确匹配、通配符匹配、后缀匹配相应的请求路径。我们在浏览器中,可以按照如下格式进行访问:
二. JSP中静态资源请求路径的定义方式
后来在学习jsp时,发现有时需要引入静态资源,如jsp页面中带有静态资源:
静态资源的请求路径,可以分为绝对路径和相对路径。绝对路径以斜杠(/)开头,这就很容易和Servlet的匹配路径混淆,让我们以为精确匹配前面的斜杠是绝对路径,在使用时有些人就把斜杠给省略掉了,变成相对路径的定义格式,定义成下面这样的格式:
但在启动项目时,就出现了下面这样的错误:
请大家记住这个错误,如果出现上图中的这种错误,十有八九就是因为定义的请求路径有问题。因为"addUser",既非精确匹配也不是通配符匹配,更不是后缀匹配,所有的这种定义方式都是错误的,正确的方式是应该定义成"/addUser",如下面的代码:
所以初学者在定义路径时,应该多加注意,Servlet匹配路径没有绝对路径和相对路径之说,而静态资源的请求路径会有。现在你知道该怎么定义接口及资源的请求路径了吗?