我们直接以看Servlet源码打断点的方式来理解servlet的运行流程。(此处使用的是IDEA 强大的编译工具)
HttpServlet.class部分源码主要关注源码里面的HttpServlet()方法、doGet()方法、doPost()方法、两个service()方法,分别打上断点。
debug Tomcat容器。我们会发现先执行了HttpServlet()方法。服务器启动的时候会初始化HttpServlet()方法,接下来我们访问Servlet的时候,会初始化我们URL对应的Servlet,执行Service()方法,执行get/post,第二次访问的时候,不会初始化servlet,直接调用service方法处理请求,执行get/post,后续的访问一直执行service提供服务。
Servlet三大域:①request 请求域 生命周期最短 ServletRequest ② Session 会话域 生命周期默认30分钟,可以在web.xml中更改时间 主要作用是控制登陆,标记一个状态,标识一个会话 HttpSession ③Context 应用域 生命周期最长,伴随整个应用 ServletContext
Javabean规范:①必须是个公有的(public)类;②有一个无参构造函数;③用公有的方法暴露内部成员属性(即把内部变量声明为私有的,再通过getter和setter此方法暴露变量),实现这一规范的类,就是javaBean
网友评论