博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet 简介及其执行流程
阅读量:6517 次
发布时间:2019-06-24

本文共 1534 字,大约阅读时间需要 5 分钟。

一、什么是Servlet?首先明确一点:先有Servlet后有JSP,JSP的前身是ServletServlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求--响应”编程模式来访问这个驻留在服务器内存里的Servlet程序
 
二、Tomcat容器等级:
Tomcat容器分为四个等级,1. Container 容器,集装箱2.Engine 引擎容器3.Host 主机()4.Servlet容器(tomcat最低级别的容器)里面包含了一个或多个Context—— Context (上下文,背景,环境) 一个context对应一个web项目—— Wrapper 容器里的封装部分。
(Tomcat容器包含4个等级,从高到低分别是Container容器,Engine引擎容器、Host主机容器与Servlet容器,其中Servlet的容器管理Context容器(称为上下文),一个Context对应一个Web工程)
 
三、Servlet层级关系:
Servlet(接口)-->GenericServlet(抽象类,与协议无关的Servlet)-->HttpServlet(抽象类,实现了Http协议的Servlet)-->Custom Servlet(自定义的Servlet)。创建一个Servlet需要经过以下步骤:(1)新建一个Java类,继承“javax.servlet.http.HttpServlet”;(2)实现“doGet()”方法和“doPost()”方法;(3)在应用配置文件“web.xml”中注册新建的Servlet;
 
xml文件配置:
 
Servlet接口(init(),service()destory())GenerciServlet(协议无关 抽象类) - HttpServlet (Http协议 doGet doPost 抽象类)
WebXml配置:
HelloServlet
所在包.HelloServlet
HelloServlet
/虚拟路径
四、Servlet执行流程
 
1.客户端发送请求给服务器。2.服务器开始接受,先判断该请求的servlet实例是否存在,如果不存在先装载一个servlet类并创建实例。如果存在则直接调用该servlet的service方法,之后进行判断是调用doGet方法还是doPost方法。3.servlet创建实例后,调用init方法进行初始化。之后调用servce方法,判断是调用doGet方法还是doPost方法。4.最后判断服务是否关闭,如果关闭则调用destroy方法。
 
(开始----Servlet实例是否存在----装载Servlet类并创建实例 构造方法----调用init(Servlet)类并创建实例----调用service(Servlet Requst Servlet Response)方法----服务器关闭-----调用Destroy的方法)
 
访问Servlet流程
 
1、提交超链接请求后,服务器会在web.xml中的
寻找对应的url(url-pattern)地址,然后得到这个servlet的名称。2、得到名称后,在servlet中寻找名称相同的标签,然后得到处理类(servlet-class文件)3、进入servlet处理类,根据请求方式(get或者post)执行d(oGet或者doPost)方法
 
你可能感兴趣的文章
多核编程的四层境界
查看>>
Windows Phone 实用开发技巧(11):让StackPanel中的控件靠右对齐
查看>>
小记如何修改xen模块
查看>>
实时游戏对战引擎Photon
查看>>
C语言位操作控件属性
查看>>
nginx的安装及基本配置,及多个域名服务
查看>>
Servlet访问postgresql数据库并提取数据显示在前端jsp页面
查看>>
不改一行代码定位线上性能问题
查看>>
定义运算符
查看>>
git管理
查看>>
告别暗黄皮肤变水嫩皮肤的8个小习惯
查看>>
加强Eclipse代码自动提示的方法
查看>>
GNS3-地址重叠环境中部署IPsec
查看>>
exchange online 用户疑问之许可证和用户数据归档
查看>>
QImage Mat IplImage 之间的相互转换
查看>>
使用eclipse与android studio 在开发自定义控件时的区别
查看>>
我的友情链接
查看>>
mysql学习笔记
查看>>
年年有鱼游戏Android源码项目
查看>>
java使用Iterator、for循环同步数据
查看>>