【发布时间】:2012-07-18 07:03:51
【问题描述】:
我遇到了应用引擎上的 servlet 映射问题。
详情
使用我的 web.xml 配置文件,我将 URL 模式“/i”映射到重定向到我的 WAR 路径根目录上的 info.html。
当我在本地运行它并访问 url localhost:8888/i 时,Web 服务器会正确重定向到 info.html 站点。但是当我推送到应用引擎并尝试访问 www.mysite.com/i 时,我收到 404 Error: NOT_FOUND
问题
1. 为什么我的服务器映射可以在本地工作,而不能在远程工作?
2. 是否有另一种方法可以将像 www.mysite.com/i 这样的 url 模式映射到我的战争路径中的静态文件?
*虽然我使用的是应用程序引擎,但我认为这与其他通过 web.xml 使用 servlet-mappings 的 Java 服务器类似。我也知道映射到静态 html 文件可能看起来很奇怪,但目前我没有加载任何动态内容。
代码示例
下面我包含了我的 web.xml 文件的精简版本以供参考。它隔离了我如何进行重定向。
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>Info</servlet-name>
<jsp-file>info.html</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>Info</servlet-name>
<url-pattern>/i</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
【问题讨论】:
-
您在本地使用的 Web 服务器是什么,您做了哪些更改以便 ocalhost:8888/i 重定向到正确的 jsp(除了 web.xml 中的更改)?
标签: java google-app-engine servlets redirect web.xml