Servlet是什么

servlet就是Server Applet(运行在服务端的小程序),浏览器请求到达服务器端端口后,请求就交给Servlet处理.

Servlet怎么来的

服务端处理请求分三个步骤:

1.接受请求 2.处理请求 3. 响应请求

处理请求都要做因此服务器专门设置servlet处理这些请求,后来将业务分离,多出了service和Dao

javaweb没有main函数怎么运行

不知道从什么时候开始,我们已经不在关心,甚至根本不知道到底谁调用了我写的这个程序,反正我写了这么一个类,甚至根本没有new过,他就跑起来了….

从tomcat开始我们再也没写过main方法

img

img

img

Servlet的具体实现

连接数据库涉及Tcp连接socket使用大多数厂商都是封装了驱动供我们使用,而Sevlet却留给我们接口

img

tomcat已经为我们解决了ServletConfig,ServletRequest,ServletResponse参数

ServletConfig

利用xml中的配置通过反射创建Servlet和解析加载xml配置到

img

Request/Response

tomcat通过字符串解析将请求头,请求地址,请求参数都封装到Request中

serivce()方法每当有请求都要调用

img

区分浏览器Get/Post

GenericServlet继承Servlet

img

HttpServlet继承GenericServlet

img

HttpServlet使用模板方法模式

HttpServlet设置为抽象类不允许实例化

img

img

ServletContext是什么

ServletContext是个容器,服务器启动时创建,关闭时销毁

两个servlet之间可以共享数据

img

每一个动态web工程,都应该在WEB-INF下创建一个web.xml,它代表当前整个应用。Tomcat会根据这个配置文件创建ServletContext对象

img

Servlet映射器

映射器,其实就是Tomcat中一个叫Mapper的类

img

对于静态资源,Tomcat最后会交由一个叫做DefaultServlet的类来处理
对于Servlet ,Tomcat最后会交由一个叫做 InvokerServlet的类来处理
对于JSP,Tomcat最后会交由一个叫做JspServlet的类来处理

img