저는 여러 자습서를 읽고 code.google.com에서 공식 문서를 읽었지만이 문제를 해결할 수 없었습니다.GWT 서비스의 진입 점 설정에 문제가 있습니다.
사용자를 기록 할 수 있는지 확인하는 간단한 서비스를 만들고 있습니다.
클라이언트 측 :
public interface LoginServiceAsync {
/**
* Checks, if user has valid login.
* @param user User's login.
* @param callback the callback to return True if such a login is in the database.
*/
void isValidUser(User user, AsyncCallback<Boolean> callback);
}
서버 측 :
public class LoginServiceImpl extends RemoteServiceServlet implements LoginService {
/**
* serial version UID
*/
private static final long serialVersionUID = 1044980345057997696L;
/**{@inheritDoc} */
@Override
public boolean isValidUser(User user) {
boolean success = true; //TODO change
}
}
지금은이 진입 점 클래스 MailClient.java 여기
public interface LoginService extends RemoteService {
/**
* Checks, if user has valid login.
* @param user User's login.
* @return True if such a login is in the database.
*/
boolean isValidUser(User user);
}
그리고는 비동기 인터페이스입니다 . 여기에 추가처럼 위젯 :
CustomWidgets.getLoginWidget(this); // access rootPanel and append widget
지금 내 서비스 에 실제 전화를 걸 필요가 여기에 문제가 : 요약하자면 그래서
LoginServiceAsync loginService = (LoginServiceAsync) GWT.create(LoginService.class);
User user = new User(boxName.getText(), boxPassword.getText());
AsyncCallback<Boolean> callback = new AsyncCallback<Boolean>() {
@Override
public void onFailure(Throwable caught) {
Window.alert(caught.getMessage()); //TODO change
}
@Override
public void onSuccess(Boolean result) {
Window.alert("success"); //TODO change
}
};
((ServiceDefTarget) loginService).setServiceEntryPoint(GWT.getModuleBaseURL()+"login"); // dunno what should be here
, 모르겠어요은 서비스의 진입 점을 설정하는 방법.
<module>
<inherits name="com.google.gwt.user.User"/>
<inherits name="com.google.gwt.user.theme.standard.Standard"/>
<entry-point class="com.xorty.mailclient.client.MailClient"/>
<servlet path="/login"
class="com.xorty.mailclient.server.servlets.LoginServiceImpl" />
<inherits name="com.xorty.mailclient.MailClient"/>
<inherits name="com.xorty.mailclient.MailClient"/>
<inherits name="com.xorty.mailclient.MailClient"/>
<inherits name="com.xorty.mailclient.MailClient"/>
<inherits name="com.xorty.mailclient.MailClient"/>
</module>
내 web.xml 파일 :
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>MailClient.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>LoginService</servlet-name>
<servlet-class>com.xorty.mailclient.server.servlets.LoginServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginService</servlet-name>
<url-pattern>/com.xorty.mailclient.MailClient/login</url-pattern>
</servlet-mapping>
</web-app>
그리고 여기에 프로젝트 구조의 스크린 샷 :
안녕하세요, 실제로 게시 된 상태이지만 Tomcat에서만 작동합니다. 부두에 무슨 문제가 있는지 모르겠다. (기본 컨테이너로 생각하고 사용하는 플러그인과 함께 제공된다.) – Xorty