初学javaweb开发,请远离各种框架,从servlet学习开始。
一、servlet简介
servlet是server与applet的缩写,是服务器端小程序的意思。没有main方法,它的创建、使用和销毁都在servlet容器中进行管理。它可以处理和http相关的所有内容。提供servlet功能的服务器叫做servlet容器,如tomcat、jetty。。。
二、servlet工作原理解析
1.一个http请求的执行过程
客户端发出请求http://localhost:8080/xxx,根据Web.xml文件的配置,找到<url-pattern>对应的<servlet-mapping>,<servlet- mapping>中<servlet-name>的值,找到<servlet-name>对应的<servlet-class>,找到该class并加载执行该class。
2.Servlet的执行过程
Servlet程序有Web服务器调用,
当收到请求后,
检查是否已装载并创建了该Servlet对象,
如果没有则加载创建,
调用Servlet的init()方法初始化实例
调用service()方法,处理请求并返回响应结果
在服务器被停止或重启之前,调用destroy()方法释放资源
3.servlet接口实现类
定义了两个实现类,GenerricServlet和HttpServlet,
其中后者是前者的子类,它在原有基础上添加了一些HTTP协议处理方法,它比GenerricServlet功能更强大,
所以我们一般将自己的类继承自HttpServlet,并重写doGet方法和doPost方法,不需要重写Service方法。