JavaWeb——相对路径和绝对路径

摘要:
/Servlet转发->b、 Jsp(在与b.Jsp相同的路径中有一个超链接;c.Jsp)->%=请求。getContextPath()%&gt:请求。getRequestDispatcher(“/path/b.jsp”).forward(servlet访问路径映射在请求中;web.xml文件;/url模式>

绝对路径的问题:

1)开发时建议编写“绝对路径”:写绝对路径肯定没有问题,但写相对路径却可能会有问题。

在由Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址,则可能会出现路径混乱的问题

/a.jsp

  -path

    /b.jsp

    /c.jsp

a.jsp->/Servlet -转发 ->b.jsp(有一个超链接:和b.jsp在同一路径下的c.jsp) ->无法得到页面

2)编写绝对路径可以避免上述问题。

①在JavaWeb中什么叫“绝对路径”:

  相对于当前WEB应用的根路径的路径,即任何的路径都必须带上contextPath

  http://localhost:8081/contextPath(当前WEB应用的上下文路径)/shopcart/submit.jsp √

       http://localhost:8081/a.jsp  ×

②如何编写"绝对路径":

  若/代表站点的根目录,在其前面加上contextPath就可以了,

  而contextPath可以由request或application的getContextPath()方法来获取

   <a href="http://t.zoukankan.com/TestServlet">To B Page</a>  -->  <a href="http://t.zoukankan.com/<%= request.getContextPath()%>/TestServlet">To B Page</a>

3)JavaWeb开发中 / 到底代表什么?

①当前WEB应用的根路径:http://localhost:8081/contextPath/ :若/需交由Servlet容器来处理

  >请求转发时:request.getRequestDispatcher("/path/b.jsp").forward(request,response);

  >web.xml文件中映射Servlet访问路径:

  <servlet>
        <servlet-name>Step2Servlet</servlet-name>
        <servlet-class>Step2Servlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Step2Servlet</servlet-name>
        <url-pattern>/Step2Servlet</url-pattern>
    </servlet-mapping>

  

②WEB站点的根路径:http://localhost:8081/ :若/交由浏览器来处理

  >超链接:<a href="http://t.zoukankan.com/TestServlet">To B Page</a>

  >表达中的action:<from action="/login.jsp">

  >做请求重定向的时候:response.sendRedirect("/a.jsp");

免责声明:文章转载自《JavaWeb——相对路径和绝对路径》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nginx的五大应用场景如何通过外部表做数据一致性检查和配平下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ArcGIS API for JavaScript 4.3 与ArcGIS Server联动使用【地图服务】

【前言】 有好些网友问我怎么使用Server发布的地图服务了,其实非常的简单。 我在这里先声明:不提供Server软件,需要的请自行使用互联网搜索资源; 不阐述Server如何发布各各种服务,但是我会给出官方的文档(点我),发布服务其实各种老教程都很多了。 【软件准备】 ·Windows 64位以上的系统,XP可以歇菜了,Server是64位原生软件...

[ZT]文本框(input)获取焦点(onfocus)时样式改变的实现方法

摘要: 许多重视用户体验的设计师都希望给文本框(input)加上获取焦点或者鼠标悬停时的样式切换效果。其实很简单,我们只需要获取页面上的文本框,加上onfocus事件或者其他对应的事件即可。本文介绍了如何在获取焦点时切换样式,明白原理后,实现其他效果就很简单了。许多重视用户体验的设计师都希望给文本框(input)加上获取焦点或者鼠标悬停时的样式切换效果。其...

Avue-curd通用模板(二)

目录 Avue-curd通用模板 1、增加路由菜单 2、通用模板 3、踩坑 4、表格空数据样式 Avue-curd通用模板 上一篇已经把所有使用Avue的准备工作做好了,下面就通过一个简单的例子来体验一下avue能带给我们的便利。 1、增加路由菜单 在 src/router/index.js,增加一个路由(由于这只是用来测试学习的,所以放在了...

C#高级编程笔记(22至25章节)文件注册表权限事务

22安全(using System.Security.Principal;) AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);//当前线程用户 var principal = WindowsPrincipal.Current as WindowsPri...

C# HTTP请求 异步(async await)

static void Main(string[] args) { new Task(() => { Invoke(); }).Start(); Console.WriteLine("我是主线...

三层架构+存储过程实现分页

首先在项目下加入BLL,DAL,DataAccess,MODEL类库 -------前台界面--------- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="原始刷新分页.aspx.cs" Inherits="分页.原始刷新分页" %> <!DOCTYPE html P...