在servlet.xml中的中增加一行context,dir指定你要访问的apache的某一个目录!

解决方案 »

  1.   

    还是不行啊,显示所加的目录仍相对于我的web应用根下。
    根本不是以hdocs为起始根的。
    我试着在httpd.conf中部署该虚拟目录,没有抱错,但跳转也不正常
    求高手指点吧,几天了
      

  2.   

    如果你的链接写绝对路径呢?
    <a href="/regist.htm">...</a>
    我没试过,只是猜想而已。
      

  3.   

    我有一个web应用目录部署在/dir1/下,现在其中的servlet要访问位于
    htdocs/下的一个html文件,但即使用/regist.htm,还是解析为
    /dir1/regist.htm,不知怎样才能识别这个根为/htdocs呢?
    请高手助我一把吧,快受不了了
      

  4.   

    就是用虚拟目录呀!
    你把dir的目录设置成绝对路径就可以啦!
    如:
    basedir="c:\Appache Group\htdos\"
      

  5.   

    错了,我收回刚才说的话,forward只能用于同webapp下的跳转,即你的JSP文件必须和regist.html在同一个webapp(不是指Tomcat中的webapps文件夹,而是里面的子文件夹叫webapp目录,也叫一个应用程序)目录下。
    但你的需求也是可以实现的,楼上有说过了,用虚拟目录。
      

  6.   

    再问一句:是在server.xml中设置该虚拟目录吗?
    比如:<Context path...../>
    多谢!
      

  7.   

    我的配置为<context path="html" docBase="/usr/apache/htdocs"
               debug="0"/>
    跳转语句为:<jsp:forward page="/html/index.htm"/>
    我试了还是以/dir1/为根解析的。
              
    我看了一个文章上面说:服务器处理时总是将以“/”开始的路径解析为
    从当前应用的根开始的,我的在linux平台下工作的,即使设成/usr/apache
    绝对路径它还是解释为/dir1/usr/apache的。不明白,继续等待。
      

  8.   

    我试了一下!
    你用<jsp:forward>,系统始终是从当前App的根目录向下找的!
    即使是使用虚拟目录也不能解决这个问题!
    如果你是在jsp页面上,你可以利用javascript的window.location转向那个页面!
    不过转向的页面还是要在虚拟目录里面配置的!
    Gook luck!
      

  9.   

    多谢chenyongcsdn的帮助,小弟十分感激。其实我的问题归结起来就是如何从一个部署的java web应用目录跳出来到另
    一个路径下。我们通常做法是从apache中的静态html跳到一个web应用的
    servlet/jsp页面,系统直接支持。但反向真的就没有好的办法吗?我想如果谁有这方面的知识请告知,多谢大家!
      

  10.   

    <jsp:forward page="/html/index.htm"/>
    这个只是到当前目录下的html的子目录下
    要么用绝对路径,要么用完整路径,如../../html/之类的
      

  11.   

    我用了一个替代方法:response.sendRedirect(“/dir2”)
    此时的/系统解释为从系统总根目录开始,而不是相对于当前
    web应用根目录。但是使用该方法跳转路径用户可见,不如forward隐蔽。但forward
    方法不支持这种跳转方法。应该还有其他方法吧,请高手补充。