什么是Servlet
Servlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求-相应”编程模型来访问的这个驻留在服务器内存里的Servlet程序。
Tomcat容器等级
分为四个等级:Container容器>Enigine引擎容器>HOST主机容器>Servlet容器(Servlet可以管理很多上下文,称为Context;一个Context对应一个Web工程)
Servlet的编写
- 集成HttpServlet
- 重写doGet()和doPost()方法
- 在web.xml中注册Servlet
Servlet执行流程和生命周期
执行流程:根据URL确定请求的Servlet,然后到servlet标签中寻找相应Servlet的处理类所在位置,根据用户请求方式执行相应方法,在页面显示执行结构。
生命周期:初始化阶段init()方法;响应客户端请求阶段,调用service方法,由service方法根据提交方式选择执行doGet()或者doPost()方法;服务器结束服务时终止阶段调用Destroy()方法。
什么情况下Servlet容器装载Servlet
第一种情况:Servlet容器启动时自动装载某些Servlet,在web.xml中servlet标签中添加1,数字越小表示优先级越高。
第二种情况:在Servlet容器启动后,客户首次向Servlet发送请求时,Servlet容器也会加载Servlet。
第三种情况:Servlet类被重新修改后,重新装载Servlet~ 。
Servlet路径跳转
请求重定向方式跳转 response.sendRedirect(request.getContextPath()+"/test.jsp"); //使用request.getContextPath()获取上下文对象
服务器内部跳转 request.getRequestDispather("/test.jsp").forward(request,response); //斜线表示项目根目录