我们将来开发B/S架构的web项目,都是针对HTTP协议,所以我们自定义Servlet,会继承HttpServlet(对http协议封装的Servlet实现类),继承了它,要重写它的doGet和doPost方法。HttpServlet原理:获取请求方式, 根据不同的请求方式调用不同的doXxx方法。
urlPattern:一个Servlet可以配置多个访问路径。
urlPattern配置规则:
1 精确匹配:
配置路径: @WebServlet("/user/select")
访问路径: localhost:8080/web-demo /user/select
2.目录匹配:
配置路径:
@WebServlet("/user/*")
访问路径: localhost:8080/web-demo /user/aaa localhost:8080/web-demc/user/bbb
//如果都满足精准匹配和目录匹配,那么精准匹配的优先级更高。
3.扩展名匹配:
//不能以/开头,也就是(*.do)之前不能有/。
配置路径: @WebServlet("*.do")
访问路径: localhost:8080/web-demo/aaa.do localhost:8080/web-demo/bbb.do
任意匹配:配置路径: @WebServlet("/")@webServtet(/*")
访问路径: localhost:8080/web-demo/ hehe localhost:8080/web-demo/haha
/和/*区别:当我们的项目中的Servlet配置了“/”,会覆盖掉tomcat中的 DefaultServlet,当其他的url-pattern都匹配不上时都会走这个Servlet当我们的项目中配置了“/*”,意味着匹配任意访问路径