Видя, что код, который он выложил, не был реальным кодом, который он выполнял, это могло быть частью или полным решением. Я начал отвечать на это, прежде чем какие-либо комментарии были на месте и не видел комментарий Марка.

строковой переменной значение при обычном выполнении кода, но если произойдет исключение, я дам ему другое значение,проблема в том, что в блоке catch значение остается таким же, как я назначаю первым .

Вот мой код, сначала я назначаю значение страницы «addUser» внутри блока try, а в catch я задаю ему значение «ErrorPage», я отправляю значение страницы в запросе http методу forword и внутри него я печатаю значение страницы. Я вызываю ошибку в освобождении кода, и я хочу, чтобы он прошел через блок catch, и это происходит, но когда он отправляет значение страницы в функцию forword, значением страницы является «addUser», а не «ErrorPage», хотя я назначаю это на "ErrorPage" !!

String page = "addUser";

try {
    // ...

    request.setAttribute("page", page);
    forward(request, response);
} catch (SQLException e) {
    page = "ErrorPage";
    request.setAttribute("page", page);
    forward(request, response);
}

а вот функция слова

String page = request.getParameter("page");
System.out.println("page is " + page); // each time it prints addUSer

Может кто-нибудь помочь? и спасибо заранее.

Ответы на вопрос(2)

Ваш ответ на вопрос