Я довольно новичок в gwt, и выяснение связей с базой данных mysql вызывает у меня тупик. Поскольку существует очень мало прямых уроков, я собираюсь сдать другой вопрос о стеке.Подключение GWT/Mysql/Java к базе данных
http://stackoverflow.com/questions/8335322/java-gwt-mysql-connection-refused/8388422#8388422
Хотя я не могу понять это правильно. Немногие вещи, этот проект не использует GAE, а только GWT, как было предложено в качестве предыдущего ответа в другом вопросе. Да, я могу подключиться к моей базе данных с помощью другой примерной программы, поэтому ссылка на базу данных открыта. Я также импортировал свой драйвер mysql в/WEB-INF/lib, а также добавил его в свой путь сборки Java.
Суть этого в том, что я не знаю, почему я не могу подключиться, а моя консоль бесполезна, если кто-то может сразу увидеть, что я делаю неправильно, что было бы фантастически или если был способ распечатать больше сообщений об ошибках, которые были бы замечательными, а также я не знаю, как просматривать консоль для ресурсов на стороне сервера (где-то я читал, что может быть больше ошибок, чем то, что показано?) благодаря.
вот мой GreetingServiceImpl.java соответствующий код
private final Connection connect() {
String driver = "com.mysql.jdbc.Driver";
String dblink = "jdbc:mysql://localhost:3306/";
String dbname = "gwttest";
String dbuser = "user";
String dbpass = "test";
try {
Class.forName(driver).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = null;
try {
conn = DriverManager.getConnection(dblink + dbname, dbuser, dbpass);
} catch (SQLException e) {
System.err.println("mysql connection error: ");
e.printStackTrace();
}
return conn;
}
вот мой helloserver.java соответствующий код
Button b = new Button("test");
vPanel.add(b);
b.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
GreetingServiceAsync testservice= (GreetingServiceAsync) GWT.create(GreetingService.class);
testservice.echo("test", new AsyncCallback<String>() {
@Override
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
vPanel.add(new Label("error"));
//vPanel.add(new Label(caught.printStackTrace());
caught.printStackTrace();
}
@Override
public void onSuccess(String result) {
// TODO Auto-generated method stub
vPanel.add(new Label(result));
}
});
}
});
здесь сообщение об ошибке я получил после запуска и нажав на кнопку (кроме «ошибки», которая появляется в моем html)
com.google.gwt.user.client.rpc.StatusCodeException: 404 <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><pre>NOT_FOUND</pre>
<p>RequestURI=/helloserver/greet</p><p><i><small><a href="http://jetty.mortbay.org/">Powered by Jetty://</a></small></i></p><br/>
</body>
</html>
at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:209)
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:219)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242)
at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
at java.lang.Thread.run(Unknown Source)
Вы были правы, я изменил файл web.xml и забыл изменить его. Я вернулся к оригиналу, и мои проблемы были решены. – john