I create servlet, which create json object.
- Code: Select all
public class JSONServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print("{\n" +
" 'feed': {\n" +
" 'entry': [\n" +
" {'title': {'type': 'text', '$t': 'Some Text'}},\n" +
" {'title': {'type': 'text', '$t': 'Some More Text'}}\n" +
" ]\n" +
" }\n" +
"}");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
and I have small gwt app. it is app reads json, but it no works. What is problem?
- Code: Select all
package com.mySampleApplication.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.http.client.*;
import com.google.gwt.json.client.*;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.*;
public class MySampleApplication implements EntryPoint {
public void onModuleLoad() {
final Button fetchDataButton = new Button("Fetch data");
fetchDataButton.addStyleName("sendButton");
final Label label = new Label("test");
RootPanel.get("slot1").add(fetchDataButton);
RootPanel.get("slot2").add(label);
fetchDataButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
System.out.println("log 1");
fetchDataFromServer();
}
});
}
private void fetchDataFromServer() {
try {
String url = "http://localhost:8080/JSONServlet";
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
rb.setCallback(new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
Window.alert(response.getText());
}
@Override
public void onError(Request request, Throwable exception) {
Window.alert("Error occurred" + exception.getMessage());
}
});
rb.send();
}
catch (RequestException e) {
Window.alert("Error occurred" + e.getMessage());
}
}
}
Thanks.