为了实现项目访问时可地址以直接通过访问ip和端口号就能直接访问  也就是直接访问http://localhost:8080/  
而不用这样:http://localhost:8080/gxedu  项目名称是:gxedu  现在将tomcat中的server.xml中的
    <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
  改成如下:
<Host name="localhost"  appBase="webaps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">然后再D:\soft\apache-tomcat-6.0.18下新建一个webaps文件夹,在webaps文件夹中新建一个ROOT空文件夹,然后将webapps中的host-manager和manager文件夹复制到新建的webaps文件夹中,然后将webapps文件夹中项目gxedu(该项目文件夹内的)的东西拷贝到webaps中的ROOT文件夹中。
重启tomcat就实现了直接访问http://localhost:8080/就能访问项目,可正常登录运行,但是其中有个地方用到了在js文件中跳转的路径不好使了。
该跳转路径是:parent.WorkFrame.location="/gxedu/publishAction.do?functionType=selectPublish";请问这个路径这个路径是不是应该把其中的"/gxedu"去掉呢  我试过了还是不行啊  请教高人!!!非常感谢 感谢 感谢

解决方案 »

  1.   

    补充一下:这是parent.WorkFrame.location="/gxedu/publishAction.do?functionType=selectPublish";跳转时的错误信息javax.servlet.ServletException: org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    com.sinosoft.system.SessionFilter.doFilter(SessionFilter.java:61)org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.
    org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelectAction.java:71)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    com.sinosoft.system.SessionFilter.doFilter(SessionFilter.java:61)
      

  2.   

    路径问题,说的是在action中没有发现这样的路径,lz改成这样试试。eg:${pageContext.request.contextPath}/publishAction.do?functionType=selectPublish
      

  3.   

    <Host 。。
    下面加上
    <Context path="" docBase="D:\workspace\project name\WebRoot" reloadable="false" />就行
      

  4.   

    这个问题折磨了我一天 终于解决了 在这里公布一下 以便后来人借鉴
    虽然解决了 但是还是不知道原因
    解决办法:
    js文件中跳转的路径是:parent.WorkFrame.location="/gxedu/publishAction.do?functionType=selectPublish";
    不采用这种跳转方式,使用下面这种方式:
    parent.document.getElementById("WorkFrame").src="publishAction.do?functionType=selectPublish";之后就好使了。  不懂得就是我采用parent.WorkFrame.location="publishAction.do?functionType=selectPublish";这种方式为什么不好使??与采用parent.document.getElementById("WorkFrame").src="publishAction.do?functionType=selectPublish";这种方式相比有什么区别呢?   
           答案公布出来了还是希望有人能指点迷经!!! 谢谢了
      

  5.   

    LZ把webapp下面的root目录里面内容全部删掉,然后把你webapp下面的gxedu目录里面的文件全部复制到root目录下,重启就好了
      

  6.   

    配置的时候把项目的BasePath变成空试一试,以前是"/gxedu",现在变成"/"试一试.