У меня есть класс сервлета, который я сделал для обработки функций, которые я не хочу повторять на каждом сервлете, который у меня есть. Я все еще работаю над ним (т.е. он по-прежнему загружает только index.jsp, а не другие файлы).
public class MyServlet extends HttpServlet {
public MyServlet () {
super();
}
public void loadView (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
response.setContentType("text/html;charset=UTF-8");
System.out.println("MyServlet::LoadView() success");
dispatcher.forward(request, response);
}
}
Мой сервлет выглядит следующим образом
@WebServlet(name = "EditServlet", urlPatterns = {"/content/edit"})
public class EditServlet extends Library.MyServlet {
public EditServlet () {
super();
}
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("EditServlet loaded");
}
}
Однако я не могу скомпилировать свой код:
SEVERE: Exception while deploying the app [ContentManagement] : (class: contentmanagement/content/EditServlet, method: <init> signature: ()V) Constructor must call super() or this()
update
Хорошо, удаляем void
из моих конструкторов и вызываем super ();
получил должен вызвать первую часть
, чтобы уйти, но он все еще говорит, что я должен вызвать super, несмотря на то, что он уже вызывается.
update
Мне не понятны ответы ниже ... они все время говорят, что нужно поместить super ()
в конструктор, когда мои примеры уже показывают, что это делается, И это первая строка кода. Любой другой совет будет оценен.
Есть какие-нибудь мысли?
Теперь это не проблема. Я не знаю, что решило эту проблему, но после нескольких изменений и перестройки моего приложения с нуля эта проблема больше не возникает