У меня есть сервлет с именем Menu, который генерирует html и динамическое меню, я имею в виду под динамическим, что ссылки в меню меняются каждый раз, когда пользователь выбирает таблицу в кадре, вот быстрый пример:
Browse?table=student
Search?table=student
Browse?table=professor
Search?table=professor
Я включил этот сервлет в начало большинства моих сервлетов, чтобы оптимизировать модификации, я использовал следующий код:
RequestDispatcher dispatcher = request.getRequestDispatcher("/Menu?table="+tableName);
dispatcher.include(request, response);
, но когда я пытаюсь отправить запрос на отправку сервлету, которыйсодержат предыдущий код, я получаю сообщение об ошибке: HTTP Status 405 - метод HTTP POST не поддерживается этим URL-адресом
Я использую NetBeans 6.9.1 и TomCat 6.0.26 и Java версии 1.6
Так есть ли способ включить мое меню сервлета в метод POST другого сервлета?или есть другое решение иметь динамическое меню, отличное от сервлета?
Чтобы объяснить вам, ребята, вот код моего сервлета:
public class ExecuteAnySql extends HttpServlet {
//No problem here
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//code
//include the Menu Servlet
//code
}
//this does not work when I include the Menu Servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//code
//include the Menu Servlet
//code
}
}
Спасибо, ребята, я думаю, что нашел решение,
Решение, которое вы мне предоставите, будет работать, только если у меня есть 1 сервлет, но у меня их слишком много, и я хочу, чтобы они использовали одно и то же меню.
Итак, все, что мне нужно сделать, - это создать статический метод, который принимает имя таблицы в качестве параметра и генерировать HTML-код.Если я продолжу так, я могу вызвать свой метод из всех моих сервлетов.