如题所述Tomcat 虚拟站点 跑Struts时,二级目录下的Action无法响应
<Host name="www.xxxxx.info" appBase="/home/yycx/"  
 unpackWARs="true" autoDeploy="true"  
 xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/home/yycx/"  debug="0" reloadable="true" crossContext="true"></Context> 
</Host>项目放在tomcat/webapps/ROOT下面可以正常访问,当放在虚拟目录下面时:
http://www.xxxxx.info/index.do?method=search      可以正常访问
http://www.xxxxx.info/system/login.do?method=login 提示404错误,Action无法响应。 
整体试了一下 一级目录的Action可以正常访问, 但二级目录下的Action缺提示404错误。
请高手帮忙,项目采用Struts+Spring+Hibernate三层架构。 网上有说Struts引起的, 但一直没有找到解决办法

解决方案 »

  1.   

    既然是404錯誤,那麼毫無疑問,是頁面路徑訪問出錯,您是不是採用了絕對路徑,因為您開始是在默認中開發的,路徑採用了絕對的話,當你移動文件夾以後,路徑指向就錯誤了!這個問題需要對每個頁面的所有404錯誤找href,將改成相對就可以了!
      

  2.   

    奇怪的是 我把项目放到Tomcat/webapps/yycx(非ROOT)  下面也是正常的<Host name="www.xxxxx.info" appBase="/Tomcat/webapps/yycx"  
     unpackWARs="true" autoDeploy="true"  
     xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="/Tomcat/webapps/yycx"  debug="0" reloadable="true" crossContext="true"></Context> 
    </Host>
    就是把项目放到Tomcat外出现这样的情况。
    改路径工作量有点大, 有什么好办法吗?
      

  3.   

    在新建jsp页面时,默认在jsp页面生存了一段java代码,有一个path的变量,在写路径时就这样<%=path%>/add.action