С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 03.12.2014
Сообщений: 38

Spring Boot exception handling (не могу обратиться к странице)

19.04.2016, 20:40. Показов 1764. Ответов 7

Студворк — интернет-сервис помощи студентам
Spring Boot exception handling
Подскажите почему возникает эта ошибка? не могу обратиться к странице.

Java
1
2
3
4
5
6
7
@SpringBootApplication
public class PhoneBookApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(PhoneBookApplication.class, args);
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
public class IndexController implements ErrorController {
    private static final String PATH = "/error";
 
    @RequestMapping(value = PATH)
    public String error() {
        return "Error handling!";
    }
 
    @Override
    public String getErrorPath() {
        return PATH;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
public class IndexController implements ErrorController {
    private static final String PATH = "/error";
 
    @RequestMapping(value = PATH)
    public String error() {
        return "Error handling!";
    }
 
    @Override
    public String getErrorPath() {
        return PATH;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
public class IndexController implements ErrorController {
    private static final String PATH = "/error";
 
    @RequestMapping(value = PATH)
    public String error() {
        return "Error handling!";
    }
 
    @Override
    public String getErrorPath() {
        return PATH;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Controller
@RequestMapping("login.jsp")
public class LoginController {
 
    @RequestMapping(method = RequestMethod.GET)
    public String init(ModelMap modelMap) {
        modelMap.put("info", "Hello my dear friend");
        return "Login";
    }
 
    @RequestMapping(method = RequestMethod.POST)
    public String submit(ModelMap modelMap, @ModelAttribute("loginModel") @Valid LoginModel loginModel) {
        System.out.println("in submit" + loginModel);
        String password = loginModel.getPassword();
        if (password != null && password.equals("goodday")) {
            modelMap.put("userInfo", loginModel.getUserName());
            return "Home";
        } else {
            modelMap.put("error", "Invalid UserName / Password");
            return "Login";
        }
    }
}
Вот что пишет SPRING
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 :: Spring Boot ::        (v1.3.3.RELEASE)
 
2016-04-19 20:01:04.991  INFO 14485 --- [           main] com.ua.kiev.makson.PhoneBookApplication  : Starting PhoneBookApplication on Lenovo-Z50-75 with PID 14485 (/home/makson/IDEA/IdeaProjects/PhoneBook/target/classes started by makson in /home/makson/IDEA/IdeaProjects/PhoneBook)
2016-04-19 20:01:05.001  INFO 14485 --- [           main] com.ua.kiev.makson.PhoneBookApplication  : No active profile set, falling back to default profiles: default
2016-04-19 20:01:05.333  INFO 14485 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2d127a61: startup date [Tue Apr 19 20:01:05 EEST 2016]; root of context hierarchy
2016-04-19 20:01:08.671  INFO 14485 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2016-04-19 20:01:08.707  INFO 14485 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2016-04-19 20:01:08.709  INFO 14485 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.0.32
2016-04-19 20:01:08.964  INFO 14485 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2016-04-19 20:01:08.964  INFO 14485 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3648 ms
2016-04-19 20:01:09.204  INFO 14485 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]
2016-04-19 20:01:09.213  INFO 14485 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-04-19 20:01:09.704  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public java.lang.String com.ua.kiev.makson.controllers.IndexController.error()
2016-04-19 20:01:09.707  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/login.jsp],methods=[POST]}" onto public java.lang.String com.ua.kiev.makson.controllers.LoginController.submit(org.springframework.ui.ModelMap,com.ua.kiev.makson.LoginModel)
2016-04-19 20:01:09.708  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/login.jsp],methods=[GET]}" onto public java.lang.String com.ua.kiev.makson.controllers.LoginController.init(org.springframework.ui.ModelMap)
2016-04-19 20:01:09.783  INFO 14485 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/WEB-INF/pages/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-04-19 20:01:09.791  INFO 14485 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler]
2016-04-19 20:01:09.871  INFO 14485 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2d127a61: startup date [Tue Apr 19 20:01:05 EEST 2016]; root of context hierarchy
2016-04-19 20:01:10.545  INFO 14485 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2016-04-19 20:01:10.672  INFO 14485 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-04-19 20:01:10.683  INFO 14485 --- [           main] com.ua.kiev.makson.PhoneBookApplication  : Started PhoneBookApplication in 6.615 seconds (JVM running for 7.546)
2016-04-19 20:03:08.586  INFO 14485 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-04-19 20:03:08.587  INFO 14485 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2016-04-19 20:03:08.612  INFO 14485 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 25 ms
Добавлено через 34 минуты
страница на которую хочу попасть
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<%@page contentType="text/html" pageEncoding="UTF-8" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>User Login.</title>
</head>
<body>
<h4>User Login.</h4>
<form:form method="post" name="loginForm">
    <table>
        <tr>
            <td>User Name:</td>
            <td><input name="userName" type="textbox"></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input name="password" type="password"></td>
        </tr>
        <tr>
            <td colspan="2" align="right"><input type="submit" value="Submit"></td>
        </tr>
    </table>
    <div style="color:red">${error}</div>
</form:form>
 
</body>
</html>
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Configuration
@ComponentScan("com.ua.kiev.makson")
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter {
 
    @Autowired
    LoginModel loginModel;
 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/WEB-INF/pages/**").addResourceLocations("/pages/");
    }
 
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
 
    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("WEB-INF/pages/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{AppConfig.class};
    }
 
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[]{
                AppConfig.class
        };
    }
 
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.04.2016, 20:40
Ответы с готовыми решениями:

Exception Handling Classes
Задача: Write a program that prompts the user to enter a person’s date of birth in numeric form such as 8-27-1980. The program then...

Spring mvc form handling
Доброго времени суток! Создаю новый объект с помощью формы &lt;form:form action=&quot;addNewTask&quot; class=&quot;form-control&quot;...

Spring mvc form handling
Допустим есть объект User, у него есть name и email. Есть формочка, в которой можно создавать новых юзеров. Для этого есть контроллер ...

7
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
20.04.2016, 08:44
А где, собственно, ошибка?
0
0 / 0 / 1
Регистрация: 03.12.2014
Сообщений: 38
20.04.2016, 22:03  [ТС]
при обращении к localhost:8080/login пишет Error handling! и в логе не показывает обращение к странице. я добавил страницу html это login.jsp. должна выводиться эта страница где ввод логина пароля. но страница не выводится, показывает Error handling!
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
21.04.2016, 08:24
Цитата Сообщение от kamenb Посмотреть сообщение
при обращении к localhost:8080/login
А в маппинге
Цитата Сообщение от kamenb Посмотреть сообщение
@RequestMapping("login.jsp")
И такие вопросы будут продолжаться, если вместо будете так обрабатывать ошибки в ErrorController
0
0 / 0 / 1
Регистрация: 03.12.2014
Сообщений: 38
21.04.2016, 12:42  [ТС]
спасибо за ошибку. изменил маппинг на

Java
1
@RequestMapping("login")
изменил название Login.jsp, было login.gsp.

но проблемы не поменяло. все равно при обращении к localhost:8080/login пишет Error handling! подскажите как по другому обработать? или где я еще не так указал. спасибо
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
21.04.2016, 12:52
Цитата Сообщение от kamenb Посмотреть сообщение
localhost:8080/login
Что-то я проглядел. А название приложения в URL где?
Java
1
localhost:8080/%appName%/login
0
0 / 0 / 1
Регистрация: 03.12.2014
Сообщений: 38
21.04.2016, 13:09  [ТС]
http://localhost:8080/PhoneBook/login - Error handling! результат не меняется(

Добавлено через 10 минут
Поменял src/webapp в src/main. Теперь src/main/webapp.
ссылка на гит https://github.com/MaximDzhezhelo/PhoneBook.git
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
21.04.2016, 14:55
Лучший ответ Сообщение было отмечено kamenb как решение

Решение

Так.
При маппинге запросов нужно писать адрес, на который идет маппинг
Цитата Сообщение от kamenb Посмотреть сообщение
@RequestMapping("login.jsp")
Цитата Сообщение от kamenb Посмотреть сообщение
@RequestMapping(method = RequestMethod.GET)
Java
1
2
@RequestMapping(value="login.jsp")
@RequestMapping(value={"","/"}, method = RequestMethod.GET)
Цитата Сообщение от kamenb Посмотреть сообщение
@Override
* * public void addResourceHandlers(ResourceHandlerRegis try registry) {
* * * * registry.addResourceHandler("/WEB-INF/pages/**").addResourceLocations("/pages/");
* * }
Таким образом маппятся статические ресурсы, уберите это.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2016, 14:55
Помогаю со студенческими работами здесь

Проектирование Design & Exception Handling Application Block
подзадача состоит в проектировании сабжа. немного о нем написано тут: ...

Templates (composition). exception handling run-time error
Код компилируется. Если делать циклы для push and pop размера такого чтоб не превышало размеры Стока то все работает нормально если...

Exception Handling. Собственный класс для перехвата исключений
Помогите, пожалуйста, с данной задачей. Задача: Define an exception class called tornadoException. The class should have two...

Что такое Spring, Spring Boot?
Здравствуйте. Никогда не использовал Spring, Spring Boot. Возник такой вопрос можно ли его использовать в IDE для java Se. Или для...

Spring в Spring Boot context
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( &quot;applicationContext.xml&quot; ); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru