Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 30.04.2019, 13:01   #1
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию Почему не работает код (Spring MVC)

Я хочу в своем проекте реализовать то, если допустим будет неправильно введен URl то должна выскочить JSP страница со словами- "ошибка 404 страница не найдена"

Я написал код но он неправильный. Надо чтобы просто выскакивала страница со словами об ошибке, как можно исправить код.

Код:
<error-page>
    <location>/errors</location>
</error-page>
Код:
@Controller
public class ErrorController {
 
    @RequestMapping(value = "errors", method = RequestMethod.GET)
    public ModelAndView renderErrorPage(HttpServletRequest httpRequest) {
         
        ModelAndView errorPage = new ModelAndView("errorPage");
        String errorMsg = "";
        int httpErrorCode = getErrorCode(httpRequest);
 
        switch (httpErrorCode) {
            case 400: {
                errorMsg = "Http Error Code: 400. Bad Request";
                break;
            }
            case 401: {
                errorMsg = "Http Error Code: 401. Unauthorized";
                break;
            }
            case 404: {
                errorMsg = "Http Error Code: 404. Resource not found";
                break;
            }
            case 500: {
                errorMsg = "Http Error Code: 500. Internal Server Error";
                break;
            }
        }
        errorPage.addObject("errorMsg", errorMsg);
        return errorPage;
    }
     
    private int getErrorCode(HttpServletRequest httpRequest) {
        return (Integer) httpRequest
          .getAttribute("javax.servlet.error.status_code");

    }
@RequestMapping(value = "500Error", method = RequestMethod.GET)
public void throwRuntimeException() {
    throw new NullPointerException("Throwing a null pointer exception");
}
}
JSP
Код:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page session="false"%>
<html>
<head>
    <title>Home</title>
</head>
<body>
    <h1>${errorMsg}</h1>
</body>
</html>
Как можно исправить код чтобы просто выскакивала вот такая страница

Код:
<%@ page contentType='text/html; charset=UTF-8' %>
<html>
    <head>
        <title>Страница не найдена</title>
    </head>
    <body>        
        
                    <p>
                        Запрашиваемая страница не найдена
                    </p>                
                   
        </table>           
    </body>
</html>
Nastya2018 вне форума   Ответить с цитированием
Старый 30.04.2019, 13:05   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,460
По умолчанию

Так а что происходит-то сейчас?
Alex11223 на форуме   Ответить с цитированием
Старый 30.04.2019, 13:09   #3
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

ВЫходит в браузере вот так
Код:
Страница localhost не найдена Не найдена страница для веб-адреса http://localhost:8080/SchoolMaven/allStudcvxents
HTTP ERROR 404

А мне нужно чтобы JSP страница была с надписью страница не найдена
Nastya2018 вне форума   Ответить с цитированием
Старый 30.04.2019, 13:11   #4
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,460
По умолчанию

А renderErrorPage вызывается?
Alex11223 на форуме   Ответить с цитированием
Старый 30.04.2019, 13:14   #5
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Называется errorPage моя JSP страница
Nastya2018 вне форума   Ответить с цитированием
Старый 30.04.2019, 13:15   #6
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,460
По умолчанию

Я спросил вызывается ли код в renderErrorPage когда-либо, а не как что-то называется.
Alex11223 на форуме   Ответить с цитированием
Старый 30.04.2019, 13:17   #7
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Не знаю честно, я просто по туториалу делал. Оказалось надо по другому
Nastya2018 вне форума   Ответить с цитированием
Старый 30.04.2019, 13:20   #8
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,460
По умолчанию

Так узнайте, добавьте логирование какое-нибудь, хоть просто любой файл создавайте где-то.
Alex11223 на форуме   Ответить с цитированием
Старый 30.04.2019, 13:22   #9
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Можете помочь я просто только учусь
Nastya2018 вне форума   Ответить с цитированием
Старый 30.04.2019, 13:22   #10
Nastya2018
Форумчанин
 
Регистрация: 24.07.2018
Сообщений: 133
По умолчанию

Как еще можно реализовать
Nastya2018 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает gets вообще, ни один код не работает с gets, почему? Мaкс Общие вопросы C/C++ 4 26.07.2018 12:49
почему прсер работает на одних сайтах и не работает на других PHP_DELETANT PHP 4 12.02.2016 14:45
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? ion leahu Помощь студентам 6 23.11.2014 20:36
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 10:56
почему интеренет на Xp не работает, а на семерке работает Lenura Windows 18 04.10.2010 12:04


23:26.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.