Помогите сконфигурировать Spring.
Контроллер
@Controller
@RequestMapping("/*")
public class IndexController {
private final Logger log = LoggerFactory.getLogger(this.getClass());
@RequestMapping(method = RequestMethod.GET)
public String printHello(HttpServletRequest request, Model model) {
...
Репозиторий
@Repository
public class JpaRepositoryImpl implements JpaRepository {
@PersistenceContext
private EntityManager emf; // Для внедрения EntityManager
...
ну и куча остальных нужных классов
Репозиторий подключен в spring-db.xml
...
<context:component-scan base-package="ru.bityard.bitrix24.serverAuth.repository"/>
...
Контроллер и сервисы подключены в spring-mvc.xml
...
<context:component-scan base-package="ru.bityard.bitrix24.serverAuth.**.web"/>
<context:component-scan base-package="ru.bityard.bitrix24.serverAuth.**.service"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
...
Все остальные бины я собираю в spring-app.xml
И вот все это я пытаюсь собрать воедино в web.xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Spring MVC Application</display-name>
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-app.xml
classpath:spring-db.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>index</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-mvc.xml
</param-value>
</init-param>
<init-param>
<param-name>throwExceptionIfNoHandlerFound</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>index</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Получаю ошибку:
2019-05-25 11:48:00 DEBUG http-nio-8080-exec-4:DispatcherServlet.java:doService:891 - DispatcherServlet with name 'index' processing GET request for [/index.php]
2019-05-25 11:48:00 DEBUG http-nio-8080-exec-4:AbstractHandlerMethodMapping.java:getHandlerInternal:312 - Looking up handler method for path /index.php
2019-05-25 11:48:00 DEBUG http-nio-8080-exec-4:AbstractHandlerMethodMapping.java:getHandlerInternal:322 - Did not find handler method for [/index.php]
2019-05-25 11:48:00 WARN http-nio-8080-exec-4:DispatcherServlet.java:noHandlerFound:1205 - No mapping found for HTTP request with URI [/index.php] in DispatcherServlet with name 'index'
2019-05-25 11:48:00 DEBUG http-nio-8080-exec-4:FrameworkServlet.java:processRequest:1000 - Successfully completed request
Где у меня ошибка в конфигурации?
Мне удалось решить проблему так:
файлы spring-db.xml и spring-mvc.xml я импортировал в spring-app.xml
spring-app.xml
...
<import resource="spring-db.xml"/>
<import resource="spring-mvc.xml"/>
...
а настройку диспетчера сделал так
web.xml
...
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.XmlWebApplicationContext
</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-app.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>mvc-despetcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-app.xml
</param-value>
</init-param>
<init-param>
<param-name>throwExceptionIfNoHandlerFound</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.XmlWebApplicationContext
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-despetcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
...
и комбайн завелся...
Замените @RequestMapping("/*")
на @RequestMapping("/")
- звездочка лишняя.
Эту аннотацию перед методом лучше указывать, а не общую для всего класса.
А еще лучше перед методом написать:
@RequestMapping({"/", "/index.html", "/index.php"})
См. Spring RequestMapping
Виртуальный выделенный сервер (VDS) становится отличным выбором
Хочу полученные результаты от сервера закинуть в Spinner, но выкидывает ошибку:
Пытаюсь поподробнее разобраться с ручной компиляцией java-проектов и появилась задача создать простой выполняемый jar-архивИмеется файл:
Возможно ли на JS динамически перезагрузить подключенные скрипты (обновить их кэш - загрузить scriptjs?time=111 с текущим значением времени)?
Есть тестовое задание tutu-ru (просто решил попрактиковаться )со следующим текстом: