来吧,看看我在过去的一小时里面折腾了个什么玩意儿
首先介绍一个知识点,然后再说一下我遇到的bug👀👀👀
1.Servlet的URL
Servlet的URL就是在浏览器中输入了之后会直接访问到的地址(相对路径),比如在我们项目里面,项目运行之后的上下文地址是:http://localhost:8080/test,FirstServlet的URL是“/First”,那么在浏览器中输入http://localhost:8080/test/ImageShow/First”就能访问到FirstServlet了
那么这是如何配置的呢?有以下两种方法
2.servlet路径配置的两种方法
2.1web.xml
在web.xml中配置:
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>
2.2注解@WebServlet
第一种是比较复古的,第二种是后面才有的,用起来也很方便,是目前推荐的,那我们平时写Servlet就尽量用第二种
3.两种方法同时配置会怎么样
实验表明,两种方法都配置,而且两种方法配置的URL不一样的话,是以web.xml为主的
4.我踩到的坑
用NetBeans开发,新建servlet的时候,会出现一个选项:
一般我都是用第二个方法的,因为学习的时候参考代码是用注解的方式,我就直接拷过来跑了
但是有一次我就手贱勾了这里,也就是在web.xml里面也配置了
我心想两个都配也不要紧吧,没想到呢写的参考代码里注解写的URL跟生成的web.xml不一样
我在调试的时候输入的是注解里面的,然后就404了,浪费了我一小时次才发现的😩
所以大家一定要记住,既然选择用注解,就不要手动去勾这个框了,没必要的惹(虽然自动生成的时候是一样的URL,但怎么知道你有时候抄代码是不是抄了有个性的代码)