Сервлет NOT_FOUND (GWT + AppEngine) - PullRequest
3 голосов
/ 17 июня 2010

Я хочу разработать свое первое приложение AppEngine, которое также будет использовать GWT.Поскольку у меня нет опыта работы с GWT и AppEngine, я начал с учебников на сайте GWT, и после успешного завершения Приступая к работе я начал работать над http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html

Но я столкнулся с проблемой, и яПонятия не имею, почему:)

Я пытаюсь проверить, вошел ли пользователь в систему, как в учебном разделе «Персонализация приложения с помощью службы пользователя».

Но когда язапустить сам код, я получаю сообщение об ошибке:

<code><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
Работает на причале: //

А вот мои файлы:

LoginService

@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();
        }
      }
    });
}

Просто глядя на это, я не вижу никаких проблем, и я, вероятно, должен искать проблемы в другом месте, но я хотел бы услышать некоторые идеи, что пошло не так.

Ответы [ 3 ]

1 голос
/ 17 июня 2010

Обработчик для / parkmweweb / login /, но вы посещаете / parkmeweb / login - без косой черты.

0 голосов
/ 06 января 2012

Я только что перезапустил Eclipse, и это решило проблему.

Проблема началась, когда я переключился с jre1.7 на jre1.6 и x64.

0 голосов
/ 10 августа 2011

Столкнувшись с той же проблемой. Но я попытался развернуть его в Google. Сервлет доступен и без проблем. Похоже, что проблема с GWT + Eclipse, не знаю точно, где. Надеюсь, что они могут это исправить, другие мудрые испытания сложно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...