假设现在有一个名为JavaWeb的项目,其中有一个名为TestServlet的serlvet,其doGet方法为:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("URL:"+request.getRequestURL().toString());
System.out.println("URI:"+request.getRequestURI());
System.out.println("ServletPath:"+request.getServletPath());
}
现在在浏览器中发送到TestServlet的请求,发现控制台输出如下:
即在这个请求中,URL为 http://localhost:8080/JavaWeb/TestServlet ,URI为 /JavaWeb/TestServlet , ServletPath为 /TestServlet ,这就是三者的区别。