Это не повторяющийся вопрос. Моя текущая настройка не использует web.xml, как многие из приведенных здесь вопросов, а также я не использую maven или gradle, поэтому у меня нет отсутствующих зависимостей. Я определяю мой ApplicationPath («тест») и мой путь («Сервис»). Оба эти класса находятся в одном пакете: веб-сайт. Я пытался использовать ResourceConfig вместо расширения приложения, но это также не сработало
@ApplicationPath("/test")
public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
HashSet h = new HashSet<Class<?>>();
h.add(Service.class);
return h;
}
Также пробовал
public class MyApplication extends ResourceConfig {
public MyApplication() {
register(Service.class)
packages("website");
}
}
Класс обслуживания
@Path("Service")
public class Service {
FormResource formResource = new FormResource();
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public void setForm(@FormParam("doctor") String doctor, @FormParam("message") String message, @Context HttpServletRequest request, @Context HttpServletResponse response) throws ServletException, IOException {
Form form = new Form();
//with post parameters
form.setDoctor(doctor);
form.setMessage(message);
formResource.setForm(form);
request.getRequestDispatcher("WEB-INF/form.jsp").forward(request, response);
}
@GET
public void redirect(@Context HttpServletRequest request, @Context HttpServletResponse response) throws IOException, ServletException
{
request.getRequestDispatcher("WEB-INF/form.jsp").forward(request, response);
}
}
Ни одна из этих работ. Я пытаюсь получить доступ к нему по адресу localhost: 8080 / mywar / test / Service, но получаю ошибку 404. Любая помощь будет оценена