2015-11-14 4 views
-1

Я делаю сервлет для посещения. Таким образом, в методе doGet() отображается весь передний конец и если возникает какая-либо ошибка; то есть что-то остается пустым, тогда метод doPost() должен снова позвонить doGet() для заполнения пробелов.вперед от doPost() doGet()

Как я могу назвать метод doGet() из того же сервлета doPost()?

+0

Вы должны быть в состоянии найти ваш ответ на http://stackoverflow.com/a/9034285/154527 –

ответ

1

Если я ваш вопрос буквально (то есть вызывать doGet() из doPost()), вы можете просто вызвать метод doGet() ... это стандартный метод, как и любой другой.

Вот подсказка: Когда doPost() и doGet() методы имеют общий набор логики, это хорошая практика, чтобы изолировать эту логику в отдельный (частный) метод, который будет вызываться всеми соответствующими do***() методами. Например:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // GET-based logic 
    processCommonLogic(); 
    // Other GET-based logic 
} 

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // POST-based logic 
    processCommonLogic(); 
    // Other POST-based logic 
} 

private void processCommonLogic() /* throws ServletException and/or IOException if needed */ { 
    // Common logic 
} 

Вы можете использовать этот шаблон, чтобы создать processError() метод, который может быть вызван там, где вам это нужно.

Однако, если объем вашего вопроса выходит за рамки использования doGet() от doPost(), я предлагаю вам ознакомиться с ссылками, указанными Аленом О'Дей.

0

Вы можете сделать это, это просто

this.doGet(req, resp); 
    return; 

Однако, это не лучшая практика. Вообще лучше реализовать вид логики как JSP, и отправка к нему из почтовой логики ...

this. getServletConfig().getRequestDispatcher("my_view.jsp") 
    .forward(req,resp);; 
    return; 

Или использовать include(), или фреймворка, как Struts ...

+0

Сервлета, вызывающего, не происходит, и по какой-либо причине ничего не выполняется из инструкции if, даже если я не могу отключить радиоканал doGet() rs.next(); \t \t \t String uid1 = rs.getString ("uid"); \t \t \t Строка name1 = rs.getString ("name"); \t \t \t out.println (" "+ UID1 +" "+ имя1 +"" + «<входной тип = 'радио' имя = значение 'att1' = 'да'> ДА <входной тип = 'radio' name = 'att1' value = 'no'> NO "+" "); \t \t \t doPost() 'String att1 = request.getParameter (" att1 "); если (att1 == "") { doGet (запрос, ответ); } ' –

Смежные вопросы