面试题:一个请求发送到服务器,服务器是如何做出响应的?

HTML页面:<a href="hello">发送请求</a>

web.xml:

<!-- 定义Servlet 服务 -->
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>org.wdl.servlet.HelloServlet</servlet-class>
</servlet>

<!-- 定义请求映射 -->

<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>

Tomcat根据请求hello,解析xml获得<servlet-class>元素的Text,即字符串“org.wdl.servlet.HelloServlet”。

① 获得Class
Class<?> c= Class.forName("org.wdl.servlet.HelloServlet");
② 获得响应的Servlet的实例
Object obj = c.newInstance();
③ 调用Servlet实例的名称为“service”的Method
Method method =c.getDeclaredMethod("service",HttpServletRequest.class,HttpServletResponse.class);
④ 调用方法,使用request对象和response对象做参数
注意:当请求到服务器的时候,服务器就会创建request对象和response对象。
method.invoke(obj,request,response);

相关文章:

  • 2021-04-08
  • 2021-08-05
  • 2021-10-12
  • 2021-08-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
猜你喜欢
  • 2021-09-14
  • 2021-10-03
  • 2021-11-27
  • 2021-08-04
  • 2021-08-04
  • 2021-06-01
  • 2021-11-21
相关资源
相似解决方案