1、Servlet配置
1.1基于 web.xml 配置
<!--servlet的配置入口-->
<servlet>
<decription>声明Servlet描述信息</decription>
<display-name>定义WEB应用的名字</display-name>
<servlet-name>声明Servlet名称以便在后面的映射使用</servlet-name>
<servlet-class>指定当前servlet对应的类的路径</servlet-class>
<init-param>用来定义初始化参数,可以有多个</init-param>
</servlet>
<!--浏览器的访问配置-->
<servlet-mapping>
<servlet-name>与上面的相对应,名称一样</servlet-name>
<url-patter>指定配置这个组建的访问路径</url-patter>
</servlet-mapping>
1.2 基于注解的方式配置
启用注解支持
web.xml 的顶层标签 <web-app> 中有一个属性:metadata-complete,该属性用于指定当前 web.xml 是否是完全的。若该属性设置为 true,则容器在部署时将只依赖 web.xml,忽略所有的注解。若不配置该属性,或者将其设置为 false,则表示启用注解支持。
2、Servlet访问流程
- HttpRequest对象
- HttpResponse对象
- HttpServlet 的 service 方法将上面两个对象作为参数
3、Servlet的工作流程
4、Servlet的接口方法
4.1 init()接口
在第一次创建servlet的时候被调用,如果servlet已经初始化,那么会跳过这一个方法;也就是说init方法在servlet生命周期中只执行一次
传入参数: ServletConfig (配置信息)
4.2 service()接口
service()方法是实际执行任务的主要方法,一般service方法不需要重写,因为在HttpServlet中有很好的实现
注意:在service方法被Servlet容器调用之前,必须确保init()方法正确执行
4.3 doGet() && doPost() 接口
用户请求经过service()方法转发之后,会到达 doGet() && doPost() 方法,这两个方法处理对应的请求
4.4 其他接口
- destroy() 接口 停止或者销毁Servlet容器的时候被调用
- getServletConfig()接口 返回的是ServletConfig对象
- GetServletInfo()接口 返回的是一个String类型的字符串,包含Servlet的信息
5、Servlet生命周期
Servlet 经历的过程 加载、初始化、接收请求、响应请求和提供服务的过程