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

Ошибка файла конфигурации Spring configuration.xml

28.12.2018, 15:17. Показов 1858. Ответов 19

Студворк — интернет-сервис помощи студентам
Добрый день
Начал изучать web на java.
Имеется работающий проект, который я пытаюсь повторить в учебных целях.
Ожидаемо, ничего с первого раза корректно не заработало. При запуске приложения через Томкат, выдает ошибку 404.
Пример облазил вдоль и поперек, все один в один. Единственное место, где может быть косяк, это файл конфигурации спринга. Я так думаю, потому что ссылка, при зажатом ctrl, на home, не работает. Я не понимаю из за чего это. Быть может кто то уже сталкивался с этим и знает решение этой проблемы? Заранее спасибо за внимание и за ответы.


0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2018, 15:17
Ответы с готовыми решениями:

Spring и аннотации @Configuration & @Autowired
Здравствуйте! Не могу найти ответ на свой вопрос, подскажите возможно ли такое. При работе с веб проектом всю конфигурацию бинов...

[Spring MVC] Can't resolve classpath и ошибка парсинга xml
Есть validation.properties, который используется как набор значений для валидации Required=This field is required. ...

Spring Project + Hibernate. root-context.xml - 404 ошибка
Подскажите пожалуйста с чем это может быть св"язано. Когда рут-контекст чистый, то контроллер нормально запускает и приложение работает. Но...

19
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
28.12.2018, 15:33
подозреваю, что у тебя не спринг Бут и ты деплоишь свою приложуху в томкат руками. Первым делом необходимо зайти в админку томкат и посмотреть, по какому пути задеплоилос , а потом проверить, тот ли путь ты вводил
1
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 15:42  [ТС]
Да, не спринг бут
Настройки томката ниже
Но я так понимаю, что даже по адресу "/" должно было выдать страницу home, чего не происходит
Пытался и через адрес /*название проекта*/home (название другой страницы). Без толку. Глухо, как в танке



0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
28.12.2018, 16:01
Цитата Сообщение от AlexeiEE Посмотреть сообщение
Пытался и через адрес /*название проекта*/home
название варника пробовали?
и покажите код контроллера
1
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 16:15  [ТС]
Пробовал, не получается

Код контроллера
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package App.Controller;
 
import App.DAO.ContactDAO;
import App.Model.Contact;
import java.io.IOException;
import java.util.List;
 
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
 
 
@Controller
public class ExampleControll {
 
    @Autowired
    private ContactDAO contactDAO;
 
    @RequestMapping(value="/")
    public ModelAndView listContact(ModelAndView model) throws IOException {
        List<Contact> listContact = contactDAO.list();
        model.addObject("listContact", listContact);
        model.setViewName("home");
 
        return model;
    }
 
    @RequestMapping(value = "/newContact", method = RequestMethod.GET)
    public ModelAndView newContact(ModelAndView model) {
        Contact newContact = new Contact();
        model.addObject("contact", newContact);
        model.setViewName("ContactForm");
        return model;
    }
 
    @RequestMapping(value = "/saveContact", method = RequestMethod.POST)
    public ModelAndView saveContact(@ModelAttribute Contact contact) {
        contactDAO.saveOrUpdate(contact);
        return new ModelAndView("redirect:/");
    }
 
    @RequestMapping(value = "/deleteContact", method = RequestMethod.GET)
    public ModelAndView deleteContact(HttpServletRequest request) {
        int contactId = Integer.parseInt(request.getParameter("id"));
        contactDAO.delete(contactId);
        return new ModelAndView("redirect:/");
    }
 
    @RequestMapping(value = "/editContact", method = RequestMethod.GET)
    public ModelAndView editContact(HttpServletRequest request) {
        int contactId = Integer.parseInt(request.getParameter("id"));
        Contact contact = contactDAO.get(contactId);
        ModelAndView model = new ModelAndView("ContactForm");
        model.addObject("contact", contact);
 
        return model;
    }
}
Ну и еще web.xml

XML
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
30
31
32
33
34
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>SpringMvcJdbcTemplate</display-name>
    <context-param>
        <param-name>contextClass</param-name>
        <param-value>
            org.springframework.web.context.support.AnnotationConfigWebApplicationContext
        </param-value>
    </context-param>
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
 
    </listener>
 
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>WEB-INF/spring-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
 
</web-app>
и spring-config.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 
    <mvc:annotation-driven/>
    <context:component-scan base-package="App"/>
    <mvc:view-controller path="/" view-name="home"/>
 
    <bean id="resolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
 
 
 
</beans>
0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
28.12.2018, 16:25
У вас в web.xml в параметрах контекста выбран
XML
1
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
А это подразумевает Java Config

Определитесь, чем вы хотите конфигурить его. Видел, на скрине у вас есть класс Config, что там?
1
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 16:29  [ТС]
Config

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package App.Config;
 
 
import javax.sql.DataSource;
import App.DAO.ContactDAO;
import App.DAO.ContactDAOImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
 
@Configuration
@ComponentScan(basePackages="App")
@EnableWebMvc
@Deprecated
public class Config extends WebMvcConfigurerAdapter {
 
    @Bean
    public ViewResolver getViewResolver(){
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }
 
    @Bean
    public DataSource getDataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/phone_book");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
 
        return dataSource;
    }
 
    @Bean
    public ContactDAO getContactDAO() {
        return new ContactDAOImpl(getDataSource());
    }
}
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
28.12.2018, 16:41
я тебе говорю в админку томката зайди и посмотри куда задеплоено. Какое из слов непонятно?
0
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 17:16  [ТС]
Зашел в админку, увидел вот это. Проблема в этом?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
28.12.2018, 17:19
ну деплоишь туда артефакт, смотри, по какому пути задеплоилось
0
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 18:33  [ТС]
Задеплоил .war файл
Результат все тот же
По адресам
http://localhost:8080/cvbcvb-1.0-SNAPSHOT/
http://localhost:8080/cvbcvb-1.0-SNAPSHOT/App/home
Ошибка 404

0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
28.12.2018, 19:15
выложите ваш проект на гитхаб
0
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 19:18  [ТС]
https://github.com/Tizor/TestProject
0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
28.12.2018, 19:33
у меня всё работает, проект собрал в варник, переименовал в app.war, закинул в webapps томкэта
страница открывается по ссылке localhost:8080/app
0
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 19:54  [ТС]
0_о...
0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
28.12.2018, 20:13
кстати,
XML
1
2
3
4
<bean id="resolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
</bean>
вот это в spring-config.xml не нужно, т.к. у вас в java конфиге он прописан

и да, для /home у вас не прописан маппинг, так что его нет
0
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 20:23  [ТС]
Написал что то, что работает у других, но не работает у меня
Это может быть из за возможной неправильной установки самого TomCat'a или багов IDEA?
0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
28.12.2018, 20:27
У меня томкат отдельно стоит. Ну попробуйте скачать отдельно томкат

https://tomcat.apache.org/

и кинуть варник в webapps и запустить
0
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
28.12.2018, 20:30  [ТС]
Будем пробовать.
Теперь хотя бы понятно, что приложение написано нормально и работает.
Спасибо за помощь
0
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 19
30.12.2018, 20:47  [ТС]
Если вдруг кто то сюда зайдет с аналогичной проблемой, решение оказалось довольно простым: другая версия TomCat и MySQL. Точнее, правильнее даже сказать НЕ последние версии. После того, как поставил старые версии более менее заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.12.2018, 20:47
Помогаю со студенческими работами здесь

Spring AOP configuration
Привет кодеры! Тут в общем со спрингом пытаюсь подружиться и решил для одного бина внедрить аспект. У меня есть класс: package...

соединение ехе файла с XML Configuration File
у меня возникла проблемка програмка при компиляцыи создала XML Configuration File без которого сама програмка не запускается! как обединить...

Парсинг XML файла конфигурации
Добрый вечер... Обыскал все интернет, но так и не нашел нормальной реализации парсинга файла конфигураций, на c#. Файл типа XML, такого...

Ошибка файла конфигурации
Установил движок Joomla - всё работает нормально, но при попытке редактировать любые из Общих настроек, выпадаю в ошибку: Not...

Ошибка конфигурации файла подкачки
При загрузке ОС появляется сообщение &quot;Создан временный файл подкачки, поскольку при запуске была обнаружена неполадка в конфигурации...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru