1

我的应用程序中有这个 web.xml。

<web-app>
    <filter>
        <filter-name>app</filter-name>
        <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>openSessionInView</filter-name>
        <url-pattern>/app/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>app</filter-name>
        <url-pattern>/app/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>app</filter-name>
        <url-pattern>/assets/*</url-pattern>
    </filter-mapping>


     <servlet>
        <servlet-name>jersey-serlvet</servlet-name>
        <servlet-class>
            com.sun.jersey.spi.spring.container.servlet.SpringServlet
        </servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.package.example.restServer</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
</web-app>

当我在码头使用我的应用程序时工作正常。

Web应用程序:

http://localhost/app 

Api 休息应用:

http://localhost/rest

在生产中我使用tomcat。

I want to create http://www.example.com -> http://localhost/app 

and http://rest.example.com -> http://localhost/rest

我的 server.xml 文件:

      <Host name="www.example.com" appBase="/usr/local/tomcat/webapps/example">
        <Context path="app" docBase="."/>
      </Host>


      <Host name="rest.example.com" appBase="/usr/local/tomcat/webapps/example">
        <Context path="rest" docBase="."/>
      </Host>

当我使用此配置时,服务器返回 404 错误代码。

我该如何解决?

谢谢。

4

1 回答 1

0

我也遇到了这个错误,只是无法修复几个星期,但不知何故我记得我必须检查 C:\Windows\System32\drivers\etc 中的主机文件。当我检查时,我感到震惊!因为该文件是由我安装在我的机器上的另一个应用程序修改的,并且 12.0.0.1 地址显示不同的 url,而 0.0.0.0 显示本地主机。

如果你也看到类似的东西;要么删除所有内容,只留下“127.0.0.1 localhost”,要么在本地机器上进行测试时使用 0.0.0.0。

我希望这有帮助。

于 2015-05-26T20:56:03.797 回答