web中页面中的相对路径和绝对路径

web中的相对路径和绝对路径

  以/WebTest这个web项目为案例,项目目录结构如下:
在这里插入图片描述
  servlet代码如下:

public class WebServlet extends HttpServlet
{

	/**
	 * 
	 */
	private static final long serialVersionUID = -4093570687653063628L;
	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		 doPost(req, resp);
	}

	
	@Override
	public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		req.getRequestDispatcher("test.jsp").forward(req, resp);
	}
}

1、概念

1.1 服务器解析的路径

  Servlet forward to JSP
  JSP forward to Servlet
  JSP forward to JSP
  JSP include JSP

1.1.1绝对路径的解析

  服务器端是根据你的web应用的地址为基准的,例如"/test.jsp",会被服务器解析为http://localhost:8080/WebTest/test.jsp,但是因为是服务器跳转,地址栏不会变化。

1.1.2 相对路径的解析

  例如"test.jsp",还是可以正确调跳转。目前预测是和前面绝对路径服务器解析规则一样。

1.2 客户端解析的路径

  表单action路径
  redirect重定向路径
  超链接路径
  图片路径
  CSS路径
  Javascript文件路径以及里面要用到的路径

1.2.1绝对路径的解析

  浏览器直接加在服务器地址(http://localhost:8080/)后面来访问,例如"/web",浏览器会访问http://localhost:8080/web,这个地址是错误的,丢失了应用名称WebTest

1.2.2 相对路径的解析

  浏览器以根据地址栏中的当前地址作为基准,把相对路径加上去来访问。例如当前地址栏地址是"http://localhost:8080/WebTest/index.jsp",那么相对路径"web"会被浏览器解析为"http://localhost:8080/WebTest/web"。

1.3 结论

   不要使用相对路径,统一使用绝对路径。(因为绝对路径比相对路径明白清楚)

发布了56 篇原创文章 · 获赞 1 · 访问量 1168

猜你喜欢

转载自blog.csdn.net/atu1111/article/details/104857060
今日推荐