Форум программистов, компьютерный форум, киберфорум
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. Показов 1814. Ответов 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
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru