Я пытаюсь создать простое веб-приложение для визуализации Google с использованием Java-сервлета.Я наконец-то заставил весь код работать и импортировать правильно, однако по какой-то причине я получаю 404 на странице запроса.Мой файл web.xml выглядит так, как будто он настроен правильно ...
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>My Servlet</servlet-name>
<servlet-class>Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>My Servlet</servlet-name>
<url-pattern>/simpleexample</url-pattern>
</servlet-mapping>
</web-app>
Однако всякий раз, когда мое приложение отправляет запрос / simpleexample, я получаю ошибку 404
URL-адрес правильный при поиске этой страницы ...
http://localhost:8080/simpleexample?tq=select%20name,population&tqx=reqId%3A0
Чтобы позвонить, я использую google.visualization.Query ...
var query = new google.visualization.Query("/simpleexample?tq=select name,population");
query.send(handleSimpleResponse);
Кто-нибудь может понять, почему это даст мне 404?Я очень смущен прямо сейчас.Спасибо.
Вот мой файл Servler.java.Он расширяет класс из библиотеки Java визуализации Google, которая автоматически обрабатывает запросы doGet и doPost, перенаправляет их в метод generateDataTable ...
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import com.google.visualization.datasource.DataSourceServlet;
import com.google.visualization.datasource.base.TypeMismatchException;
import com.google.visualization.datasource.datatable.ColumnDescription;
import com.google.visualization.datasource.datatable.DataTable;
import com.google.visualization.datasource.datatable.value.ValueType;
import com.google.visualization.datasource.query.Query;
public class Servlet extends DataSourceServlet {
@Override
public DataTable generateDataTable(Query q, HttpServletRequest request) {
DataTable d = new DataTable();
ArrayList<ColumnDescription> cd = new ArrayList<ColumnDescription>();
cd.add(new ColumnDescription("name", ValueType.TEXT, "Animal Name"));
cd.add(new ColumnDescription("link", ValueType.TEXT, "Link to Wikipedia"));
cd.add(new ColumnDescription("population", ValueType.NUMBER, "Population Size"));
cd.add(new ColumnDescription("Vegetarian", ValueType.BOOLEAN, "Vegetarian?"));
d.addColumns(cd);
try {
d.addRowFromValues("Aye-aye", "http://en.wikipedia.org/wiki/Aye-aye", 100, true);
d.addRowFromValues("Sloth", "http://en.wikipedia.org/wiki/Sloth", 300, true);
d.addRowFromValues("Leopard", "http://en.wikipedia.org/wiki/Leopard", 50, false);
d.addRowFromValues("Tiger", "http://en.wikipedia.org/wiki/Tiger", 80, false);
} catch (TypeMismatchException e) {
System.out.println("Invalid type!");
}
return d;
}
@Override
protected boolean isRestrictedAccessMode() { return false; }
}
При необходимости, пример, из которого он находится, находится здесь.. https://github.com/google/google-visualization-java