web中的路径问题

大憨熊 提交于 2019-12-10 17:50:53

路径的最左边/
/a/b/c/d
客户端重定向   服务器端解析路径最左边的/:项目中的所有资源都在contextPath下面(项目名)

1.客户端解析路径最左边的/(客户端重定向时路径不加“/”)
     代表的是端口号后面的/
     http://ip:port/
例如:
     在页面中有一个超链接
     <a href="/hello.html">测试</a>
     当我们点击这个超链接的时候,地址栏中的中会变成: http://ip:port/hello.html
例如:
     在servlet完成一个客户端重定向操作
     String url = "/hello.html";
     response.sendRedirect(url);
     由于客户端重定是把url地址返回给浏览器,浏览器解析之后,发出新的请求,这时候浏览器地址栏中的url地址变为:
                http://ip:port/hello.html

2.服务器解析路径最左边的/(服务器内部跳转路径加“/”)
       代表的是项目名后面的/
       http://ip:port/项目名/
     例如:
     在web.xml文件中配置servlet的映射路径
     <url-pattern>/TestServlet</url-pattern>
     这个最左边的/是由服务器端进行解析的,所以它代表的是项目名后的/,浏览器进行访问的时候就要写这样的UR地址:
             http://ip:port/项目名/TestServlet
例如:
     在servlet中进行服务器内部跳转操作
     String url = "/TestServlet";
     request.getRequestDispatcher(url).forward(request, response);
  这个最左边的/是由服务器端进行解析的,所以它代表的是项目名后的/,最后内部跳转所访问的url地址就是:
         http://ip:port/项目名/TestServlet


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!