c.jsp 文件内容如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>test</title>
     <frameset cols="420,45%" >
        <frame name="left" src="./test/a.jsp" ></frame>
        <frame name="main" src="./test/b.jsp"></frame>
    </frameset>
  </head>
</html>=======================
a,b,c jsp 文件都同是放在test目录下, 上面代码中 理论上应该不用 "./test" 这样引用路径. 但实际上如果我的代码改成如下:        <frame name="left" src="a.jsp" ></frame>
        <frame name="main" src="b.jsp"></frame>则系统提示找不到a.jsp. 请问为什么会这样?

解决方案 »

  1.   

    /a.jsp这个应该是肯定不行的,上面的问题我也遇到过,帮你顶下
      

  2.   

    通过获取路径来做url,这样避免了在页面中写死内容,不好移植问题。
      

  3.   

    通过获取路径来做url
    ==================
    给个例子吧,我是初学者.
      

  4.   

    用request.getContextPath()/做根路径,加上你文件所在的路径!
      

  5.   

    你直接写成a.jsp当然不能访问啊,
    项目会从根目录开始访问,实际上你的a.jsp在test目录下,
    解决办法有很多种,譬如你自己的那种,不过还是建议像路上的兄弟们说的那样,
    通过request.getContextPath()来访问,也就是通过相对路径访问~
      

  6.   

    项目会从根目录开始访问,实际上你的a.jsp在test目录下
    ============================
    不是呀,在同一个目录下的jsp文件引用的时候可以不加路径的呀. 因为我之前有一个project是可以直接用文件名,而我这个project中却有错误,所以我觉得奇怪.
      

  7.   

    的确这样的情况很怪异,正常的同一目录下只要用文件名就可以了,可能光看这个代码找不出问题,要看看你上下路径了,你可以试试用绝对路径写死,或者是用上面的说的request.getContextPath(),先实现了再说
      

  8.   

    找到原因了,因为这个网页上有代码修改了网页的当前路径
    <base href="<%=basePath%>"> //加了这句以后就不行了.