GWTアプリを作成しようとしていますが、ローカルのpostgreSQLデータベースを使用しています。私はEclipseJunoでGWT2.4を使用しています。この方法でサーバー側の実装(TaskServiceImpl)を実装しました。
public class TaskServiceImpl extends ServiceImpl implements TaskService {
@Override
public List<Task> getAllTasks() {
em = this.getEntityManager();
Query q = em.createQuery("SELECT x FROM Task x");
List<Task> list = createList(q.getResultList().toArray(),
new ArrayList<Task>(), em);
em.close();
return list;
}
これは、クライアント側のデータベース接続クラスです。
public class DatabaseConnection {
public static final TaskServiceAsync taskService;
static {
taskService = GWT.create(TaskService.class);
}
}
この方法でgetAllTask()を実行してみます
public void onModuleLoad() {
DatabaseConnection.taskService.getAllTasks(new AsyncCallback<List<Task>>() {
@Override
public void onSuccess(List<Task> result) {
System.out.println("Success!");
}
@Override
public void onFailure(Throwable caught) {
System.out.println("Fail!");
}
});
}
そして、常に「失敗」を返します。そして私にこのエラーを与えます:
com.google.appengine.tools.development.LocalResourceFileServlet doGet警告:次のファイルが見つかりません:/ fantapgl / task
これは私のweb.xmlです
<servlet>
<servlet-name>taskServiceImpl</servlet-name>
<servlet-class>fieldProject.server.service.TaskServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>taskServiceImpl</servlet-name>
<url-pattern>/fantaPGL/task</url-pattern>
</servlet-mapping>
DBへの接続を開くには、persistence.xmlに次のコードがあります。
<properties>
<property name="openjpa.jdbc.DBDictionary" value="postgres" />
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema()"/>
<property name="openjpa.ConnectionDriverName" value="org.postgresql.Driver"/>
<property name="openjpa.ConnectionURL" value="jdbc:postgresql://localhost:5432/db" />
<property name="openjpa.ConnectionUserName" value="postgres" />
<property name="openjpa.ConnectionPassword" value="password" />
</properties>
どこが間違っているのかわかりません。誰かplzが私を助けることができますか!?