1.Servlet:是服务器端程序,作用是实现前后台交互.本质是一种特殊Java程序.
2.Servlet家族系谱图:
3.手动创建Servlet:
3.1:创建一个java类,让这个java类继承或实现Servlet家族中任意一代.
3.2:在Servlet类中重写init(),destroy(),处理请求doGet()和doPost();
3.3:在项目的web.xml中注册Servlet并配置映射路径
<servlet-class>com.qf.day14.servlet.FirstServlet</servlet-class> </servlet>
<!- 配置Servlet映射路径 -->
<servlet-mapping>
<!- servlet名称,与注册名称一致-->
<servlet-name>aa</servlet-name>
<!-- 当前这个Servlet供前端访问路径,路径名自定义 -->
<url-pattern>/a1</url-pattern> </servlet-mapping>
4.Web项目执行原理:
5.Servlet的生命周期:
5.1:客户端发送http请求到服务器容器(tomcat).
5.2:服务器容器接收请求并处理
5.3:由服务器容器找到对应Servlet并调用Servlet构造方法(只调用一次) 创建Servlet实例
5.4:由服务器容器通过Servlet实例调用init()初始化方法(只调用一次)
5.5:由服务器容器通过Servlet实例调用处理请求的方法service()下面派生doGet()和doPost();
5.6:由Servlet实例将请求处理的结果返回给服务器容器
5.7:服务器容器将请求处理的结果响应给客户端
5.8:由服务器容器通过Servlet实例调用destory()方法(只调用一次)销毁Servlet,释放 资源.
6.Servlet的生命阶段:
6.1:实例化阶段:由服务器容器找到对应Servlet并调用Servlet构造 方法创建Servlet实例.
6.2:初始化阶段:由服务器容器通过Servlet实例调用init()初始化方法
6.3:请求处理阶段:由服务器容器通过Servlet实例调用处理请求的方法service()下面分发 doGet()和doPost();
6.4:服务终止阶段:由服务器容器通过Servlet实例调用destory()方法销毁Servlet,释放资 源.
7.Servlet是单例的,可以供多个线程来访问.
8.Servlet的初始化参数:
8.1:初始化参数的配置
aa
com.qf.day14.servlet.FirstServlet
<init-param>
<param-name>sname</param-name>
<param-value>小白菜</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>aa</servlet-name>
<url-pattern>/a1</url-pattern>
</servlet-mapping>
8.2:获得初始化参数的value值:在当前Servlet
//获得FirstServlet中初始化变量
String name=this.getInitParameter(“sname”); System.out.println(“FirstServlet中初始化变量sname=”+name);
9.Web项目上下文对象ServletContext的使用:
10.Servlet3.0之前,只支持配置版Servlet
11.Http协议:超文本传输协议.是一种请求-响应,无状态的,应用层协议.