1.servlet的正常运行依赖于容器,例如Tomcat和JBoss
Web应用服务器得到了一个指向servlet的请求之后,不是将这个请求交给servlet本身处理,而是交给部署了它的容器,再由容器调用到servlet服务(doGet或者doPost)
2.整个调用和返回的流程:
一个指向某个servlet的请求(HTTP请求) → web服务器(接受到了这个请求),并将这个请求交给容器处理 → 容器根据URL的后缀判断调用哪个servlet → 容器 创建 request和 response对象 → 创建/分配一个线程 把请求和响应的对象传递给这个servlet线程处理 → 容器使用doGet()或者doPost()方法 调用到servlet的 service() → servlet处理完请求之后,将静态的HTML插入到response对象中去 → 容器把响应对象转为HTTP响应交给web服务器,关闭原线程,销毁请求和响应对象 → web服务器将HTTP响应提交给客户端
3.关于servlet名称
servlet-name 是虚拟名称,用来做一个关联作用
servlet-class 是具体类路径,包括包名和类名
url-pattern 是客户使用的名称,用以访问
4.MVC
M —— 模型
V —— 试图
C —— 控制器
Web应用服务器得到了一个指向servlet的请求之后,不是将这个请求交给servlet本身处理,而是交给部署了它的容器,再由容器调用到servlet服务(doGet或者doPost)
2.整个调用和返回的流程:
一个指向某个servlet的请求(HTTP请求) → web服务器(接受到了这个请求),并将这个请求交给容器处理 → 容器根据URL的后缀判断调用哪个servlet → 容器 创建 request和 response对象 → 创建/分配一个线程 把请求和响应的对象传递给这个servlet线程处理 → 容器使用doGet()或者doPost()方法 调用到servlet的 service() → servlet处理完请求之后,将静态的HTML插入到response对象中去 → 容器把响应对象转为HTTP响应交给web服务器,关闭原线程,销毁请求和响应对象 → web服务器将HTTP响应提交给客户端
3.关于servlet名称
<web-app ....>
<servlet>
<servlet-name>kewen123</servlet-name>
<servlet-class>com.kewen.servlet.first</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>kewen123</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
servlet-name 是虚拟名称,用来做一个关联作用
servlet-class 是具体类路径,包括包名和类名
url-pattern 是客户使用的名称,用以访问
4.MVC
M —— 模型
V —— 试图
C —— 控制器