- 现在创建 Servlet 存在的问题
- 每一次都要去实现
Servlet 接口 - 都要去
web.xml 中做配置
- 从
Servlet3.0 开始可以直接使用注解 的形式来去使用 Servlet - 创建
Servlet




- 在创建好的 Servlet上面有会有一个
@WebServlet("/myServlet")

- 这个就是一个注解
- 就相当于在代码上添加了一个小插件
- 贴上这个注解后,就不用再去
web.xml 中做配置,会在内部自动帮你去做 - 括号当中的内容就是
url-patten 的内容,要在地址栏当中path 后面跟的内容
使用注解时的注意点
- 在
web.xml 当中要有一个配置 - metadata-complete
- 是否扫描类当中定义的注解
- 值为
true 和false - 当为 true 的时候不扫描,为 false 的时候才扫描
- 要使用注解就要把此值设置为
false

- 然后发布项目到服务器启动访问即可
HttpServlet
- 直接 new 的也就是创建的 Servlet 它是一个 HttpServlet
- 它是
GenericServlet 的子类

-
GenericServlet 实现了Servlet 接口

-
HttpServlet 是专门负责处理 Http 请求与响应的 - 以后创建 Servlet 时,直接使用 HttpServlet
HttpServlet的相关方法
service
- 每一次发送请求的时候就会调用该方法
- 当写了
service 就会不再调用get 或post 方法了

doGet
- 当发送
get 请求时会调用该方法
doPost
- 当发送
post 请求的时候会调用该方法
HttpServlet内部方法调用过程
- 当接收到一个请求时,tomcat 就会找对应的 service 方法
- 如果 servlet 当中没有存在 service 方法,就会到它的父类当中去找

- 在父类当中找到 service 是参数为 ServletRequest,会在内部把参数转为
HttpServletRequest - 转换完毕后会再继续调用参数为
HttpServletRequest 的service 方法

- 在此方法当中会获取请求的的类型,根据不同的类型再去调用不同的方法










