0

我基于 GAE java 的应用程序只使用了一个谷歌用户——管理员。对于管理网页,我使用生成注销 url

UserServiceFactory.getUserService().createLogoutURL("/")

生成的 url 最后总是有一个 /zero,点击它会给出“错误 404 NOT_FOUND”。

I 问题出现在开发服务器和云上。在开发服务器上,这个生成的 url 总是看起来像 - http://localhost:8080/myapp/myurl/0并且当实际部署在云上时它类似于http://myapp.appspot.com/myapp/myurl/0

我想知道为什么生成的注销 url 不起作用,是我做错了什么还是缺少一些配置?请帮忙。

4

2 回答 2

2

检查您的 web.xml。您必须添加以下部分。

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

您可以用您的选择替换 index.jsp。

编辑

我不知道你的应用程序有什么问题。这是我创建的一个测试应用程序。

http://rqtest123.appspot.com/

我的 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">

        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
</web-app>

我认为您应该再次检查您的 web.xml。

于 2010-07-21T06:37:29.187 回答
1

终于找到了!!!

早些时候,通过我的弹簧控制器,我将创建的注销 url 传递为

model.put("logout-url", UserServiceFactory.getUserService().createLogoutURL("/"));

我的 JSP 代码看起来像 -

<a class="link" href="${logout-url}">Logout</a>

变量名logout-url是问题所在。将其替换为logoutUrl一切正常!-不允许在变量名中使用。

于 2010-10-05T16:50:00.513 回答