java关于前后台页面之间跳转的路径问题

一、首先要了解绝对路径和相对路径:


 1.绝对路径
    绝对路径是指文件在硬盘上真正存在的路径。例如“bbg.jpg”这个图片是存放在硬盘的“E:\books\图片\”目录下,
那么 “bbg.jpg”这个图片的绝对路径就是“E:\book\图片\bbg.jpg"。
那么如果要使用绝对路径指定图片就应该使用 以下语句:
<img src="E:\book\图片\bbg.jpg" >

 
  2.使用绝对路径的缺点
   事实上,在网页编程时,很少会使用绝对路径,如果使用“E:\book\图片\bbg.jpg”来指定背景图片的位置,
在自己的计算机上 浏览可能会一切正常,但是上传到Web服务器上浏览就很有可能不会显示图片了。因为上传到Web服务器上时,
可能整个网站并没有放在Web服务器的E盘, 有可能是D盘或H盘。即使放在Web服务器的E盘里,
Web服务器的E盘里也不一定会存在“E:\book\图片”这个目录,因此在浏 览网页时是不会显示图片的。

 
  3.相对路径
    为了避免这种情况发生,通常在网页里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。
例如上面的例子,“read.htm” 文件里引用了“bbg.jpg”图片,由于“bbg.jpg”图片相对于“read.htm”来说,是在同一个目录的,
那么要在“read.htm”文件里使用以下代 码后,只要这两个文件的相对位置没有变(也就是说还是在同一个目录内),
那么无论上传到Web服务器的哪个位置,在浏览器里都能正确地显示图片。
      <img src="bbg.jpg">


  注意:相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。


二、request.getContextPath()、request.getServletPath()、 request.getRequestURI()、request.getRealPath("/")的区别



假定你的web工程名字为news,那么你在浏览器中输入请求路径:http://localhost:8080/news/main/list.jsp

1、 System.out.println(request.getContextPath());

                                            打印结果:/news

2、 System.out.println(request.getServletPath());

                                           打印结果:/main/list.jsp

3、 System.out.println(request.getRequestURI());

                                          打印结果:/news/main/list.jsp

4、 System.out.println(request.getRealPath("/"));

                                         打印结果:F:\Tomcat 6.0\webapps\news\test


总结:我最常见到的是request.getContextPath(),它是在开发Web项目时,经常用到的方法,其作用是获取当前的系统路径。

            值得注意的是,我们在做传值的时候经常会遇到此类的路径问题,导致页面跳转不了或者值无法传递。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值