科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道关于Servlet中相对路径和绝对路径归纳

关于Servlet中相对路径和绝对路径归纳

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

关于Servlet中相对路径和绝对路径归纳

作者:yyswallow 来源:CSDN 2007年11月4日

关键字: 绝对 相对 Servlet

  • 评论
  • 分享微博
  • 分享邮件
 

1.

<form action="abc.do" method="post">*********</form>

并且该页面的访问地址是http://localhost:8080/yaso/login

<form action="/abc.do" method="post">*********</form>

并且该页面的访问地址是http://localhost:8080/yaso/login

此处可以使用相对路径或者绝对路径,其中相对路径是相对于当前访问的页面。

当提交表单后,浏览器地址栏中的信息变为http://localhost:8080/yaso/abc.do

如果使用绝对路径,则"/"是指服务器的根而非应用的根。如果将上述表单改为action="/abc.do",则当提交表单后,浏览器地址栏中的信息变为http://localhost:8080/abc.do

如果要使用绝对路径可以使用getContextPath()方法。

2. 在web.xml中的中的标记中只能使用绝对路径,即必须要以"/"开头。可以这样理解:一个应用对应于一个web.xml,所以这里的绝对路径表示应用的根,而不是服务器的根。(一个特殊情况就是在中使用模式匹配的*.do,但仍然应该理解成从/开始。)

3.RequestDispatcher view = request.getRequestDispatcher("/abc.jsp");

RequestDispatcher view = request.getRequestDispatcher("abc.jsp");

这里可以使用相对路径和绝对路径。相对路径是当执行到该代码所在的Servlet的时候地址栏上显示的路径。

如果使用绝对路径,则"/"表示应用的根。

4.RequestDispatcher view = getServletContext().getRequestDispatcher("/abc.jsp");

这里必须使用绝对路径,"/"表示应用的根。可以这么理解:在ServletContext上调用请求转发,如果使用相对路径,则无法得知到底相对于该应用的什么位置,只能根据绝对路径来判断。由于是在应用上下文上调用的方法,所以"/"就表示应用的根。

5.servletContext中的getResourceAsStream(String),其中的参数应该是以"/"开头的绝对路径,其中"/"表示应用的根。

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章