JavaWeb之Tomcat如何找到并实例化Servlet

本文详细解析了JavaWeb中Tomcat如何找到并实例化Servlet的过程,包括浏览器发送请求、服务器创建Servlet对象和服务调用service方法的步骤。在接收到请求后,Tomcat通过web.xml匹配Servlet,使用反射实例化类,并调用service方法,最终执行自定义的doGet或doPost方法处理数据并响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、浏览器发送请求

如下图所示:
在这里插入图片描述
第一步:在浏览器地址栏输入访问路径,向服务器发送请求;
第二步:服务器根据访问路径去web.xml文件中和<url-pattern>标签中的虚拟路径进行匹配,匹配成功后,找到已注册的servlet名称,即图中的DataServlet;
第三步:根据映射找到对应的servlet名,注意:<servlet-mapping>下的<servlet-name>标签和<servlet>下的<servlet-name>标签中的值必须相同;
第四步:根据servlet名找到全限定类名,即我们自己写的类。

2、服务器创建对象

服务器找到全限定类名后,通过反射调用Class对象的newInstance()方法,实例化一个DataServlet对象,注意一定要为DataServlet提供一个无参的构造方法。同时也创建了servletConfig,里面存放了一些初始化信息(注意:服务器只会创建一次DataServlet对象,所以servletConfig也只有一个)。

3、调用service方法

第一步:服务器会先创建两个对象:HttpServletRequest请求对象和HttpServletResponse响应对象,用来封装浏览器的请求数据和向浏览器的响应数据;
第二步:服务器会默认在我们自己写的类中寻找service(HttpServletRequest req, HttpServletResponse res)方法,但是DataServlet类中没有定义service方法,所以会到其父类,即HttpServlet类中寻找;
第三步:调用HttpServlet类中的service方法,然后在此方法内部进行了请求方式的判断,所以会

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值