gpt4 book ai didi

java - 未找到 Servlet(GET+App Engine)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:19:01 26 4
gpt4 key购买 nike

我想开发我的第一个 AppEngine 应用程序,它也将使用 GWT。由于我对 GWT 和 AppEngine 没有任何经验,我从 GWT 网站上的教程开始,在成功完成入门后,我开始研究 http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html

但是我遇到了一个问题,我不知道为什么:)

我正在尝试检查用户是否已登录,例如教程的“使用用户服务个性化应用程序”部分。

但是当我自己运行代码时,我得到一个错误:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 404 NOT_FOUND</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /parkmeweb/login. Reason:
<pre> NOT_FOUND</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
</body>
</html>

这是我的文件:

登录服务

@RemoteServiceRelativePath("login")
public interface LoginService extends RemoteService {
public LoginInfo login(String requestUri);
}

LoginServiceAsync

public interface LoginServiceAsync {
public void login(String requestUri, AsyncCallback<LoginInfo> async);
}

LoginServiceImpl

public class LoginServiceImpl extends RemoteServiceServlet implements
LoginService {

public LoginInfo login(String requestUri) {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
LoginInfo loginInfo = new LoginInfo();

if (user != null) {
loginInfo.setLoggedIn(true);
loginInfo.setEmailAddress(user.getEmail());
loginInfo.setNickname(user.getNickname());
loginInfo.setLogoutUrl(userService.createLogoutURL(requestUri));
} else {
loginInfo.setLoggedIn(false);
loginInfo.setLoginUrl(userService.createLoginURL(requestUri));
}
return loginInfo;
}

}

web.xml

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<!-- Servlets -->

<servlet>
<servlet-name>loginService</servlet-name>
<servlet-class>com.parkme.parkmeweb.server.LoginServiceImpl</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>loginService</servlet-name>
<url-pattern>/parkmeweb/login/</url-pattern>
</servlet-mapping>

<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>ParkmeWeb.html</welcome-file>
</welcome-file-list>

</web-app>

我从 onModuleLoad 调用的所有这些:

public void onModuleLoad() {
LoginServiceAsync loginService = GWT.create(LoginService.class);
loginService.login(GWT.getHostPageBaseURL(), new AsyncCallback<LoginInfo>() {
public void onFailure(Throwable error) {
//this is where error is thrown
Window.alert(error.getMessage());
}

public void onSuccess(LoginInfo result) {
loginInfo = result;
if(loginInfo.isLoggedIn()) {
return;
} else {
loadLogin();
}
}
});
}

仅通过查看这个,我看不出任何问题,我可能应该在其他地方寻找问题,但我想听听一些关于哪里出了问题的想法。

最佳答案

处理程序用于/parkmweweb/login/,但您正在访问/parkmeweb/login - 没有尾部斜线。

关于java - 未找到 Servlet(GET+App Engine),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3062289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com