Servlet是运行在Servlet容器中的,有Servlet容器来负责,Servlet实例的查找、创建及整个生命周期的管理。
Servlet执行流程:
web服务器接收到Http请求后,web服务器将请求移交给Servlet容器,Servlet容器首先对锁请求的URL进行解析并根据web.xml配置文件找到相应的处理,同事将request、response对象传递给它,Servlet通过request对象可知道客户端的请求者请求信息以及其他的信息等,Servlet在处理完请求后会把所有需返回的信息放入response对象并返回给客户端,Servlet一旦处理完请求,Servlet容器会刷新response对象,并把控制权重新返回给web服务器。
Servlet与JSP比较
它们有很多相似之处,都可以生成动态网页
1.JSP优点是:擅长网页制作,生成动态页面比较直观;
缺点:不容易跟踪与拍错;
2.Servlet是纯Java语言,擅长处理流程和业务逻辑;
缺点:生成动态网页不直观;
3.Servlet运行速度比CGI快,因为使用了多线程;
4.Servlet使用了标准的api,可被许多web服务支持;
Servlet与系统无关,一次编译多次使用,也正是Java的特性;