- 现在创建 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
方法
- 在此方法当中会获取请求的的类型,根据不同的类型再去调用不同的方法