美国上市公司,专注Java培训21年

java培训学习中Servlet底层原理怎么实现?


我们知道,当用在客户端访问Servlet时,是通过Servlet在web.xml文件配置的访问路径访问的。那么这一个过程又是如何实现的,服务器又是如何通过访问路径找到Servlet类?下面通过一张图来了解这一个过程,如图1-1所示:

图1-1 服务器创建Servlet底层原理图

由图1-1可知,服务器从客户端访问Servlet开始,所做的一系列操作。现在根据这个图,我们来进行详细分析,具体如下所示:

(1)服务器根据客户端的访问路径,获得Servlet的访问路径;

(2)服务器拿着这个路径去web.xml中进行匹配,这个过程需要对web.xml解析;

(3)匹配成功后,会找到相应的<servlet-class>标签,其值为Servlet的类名,可以通过反射获得该Servlet的Class对象;

(4)然后调用Class对象的newInstance()方法,实例化一个Servlet对象,注意一定要为Servlet提供一个无参的构造方法;

(5)利用反射获得service()方法的Method对象,然后调用service()方法,即执行method.invoke(Servlet实例,参数的Class对象),这样就实现了service()方法的执行。

以上就是客户端访问Servlet的底层原理,需要大家结合反射的知识,以及xml解析的知识去理解。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • Java教程第十三节:Java Character 类
    Java教程第十三节:Java Character 类
    Character 类用于对单个字符进行操作。 详情>>

    2019-05-22

  • Java教程第十四节:Java String 类
    Java教程第十四节:Java String 类
    字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 详情>>

    2019-05-22

  • Java教程第十五节:Java StringBuffer 和 StringBuilder 类
    Java教程第十五节:Java StringBuffer 和 StringBuilder 类
    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。 详情>>

    2019-05-22

  • Java教程第十六节:Java 数组
    Java教程第十六节:Java 数组
    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。 详情>>

    2019-05-23

  • Java开班时间

    收起