【J2EE系列】—Servlet

为什么

  以登录为例,用户输入用户名和密码之后,需要在服务端验证用户名是否存在,密码是否正确。那么用户名和密码这些信息是怎样传到服务端,并被服务端接收呢?
  Http协议传输这些信息,在服务端靠Servlet来解析Http协议。(当然也有别的传输协议及相应的Servlet,我们常用HttpServlet。)

术语

动态网页: ASP.NET总结——静态网页与动态网页
Http协议:HTTP协议详解
HttpServlet:

  • GenericServlet是所有Servlet的父类

      【J2EE系列】—Servlet_第1张图片
      

  • 主要方法:service、doGet、doPost
    当请求一个Servlet首先到达Service方法,然后再分发到相应处理方法,如doPost或doGet等。

  • HttpServletRequest:包装客户端提交过来的数据

  • HttpServletResponse:包装了客户端写出的数据

知识体系

生命周期:

  依靠Servlet的容器来管理,不能自己调用方法,都靠容器来调用,这是它与普通Java类的区别。

全过程:

  • 加载Servlet并实例化New
  • 初始化Init
  • 处理请求 Service doGet doPost
  • 退出服务destory

  这些都由Web容器来管理:如,Tomcat。
  第一次使用的时候New,而在new完Servlet后,调用Init方法,new和Init方法只执行一次,以后将不再实例化。
  Web容器决定销毁Servlet时,先调用Servlet的destroy方法,通常在关闭Web应用之时销毁Servlet。

过程图:

  【J2EE系列】—Servlet_第2张图片

常用对象:(放到下一篇博客中来写)

线程安全:

  单实例,多线程,但不是线程安全的。(如果类中有成员变量,谁都可以修改,就会造成混乱)

简单实例

【J2EE系列】—徒手建立Web应用(HTML+Servlet+Tomcat)

你可能感兴趣的:(servlet)