Nano Hash - криптовалюты, майнинг, программирование

Плитка 3 и пружина MVC 4 - ошибка 404

Я пытаюсь запустить свою веб-страницу, используя maven, spring, hibernate, плитки.... Моя проблема в том, что когда я добавляю зависимость для плиток в файле pom и запускаю «mvn clean package», я всегда получаю ошибку 404, независимо от того, на какой странице я пытаюсь получить доступ. Когда я удаляю эту зависимость и меняю «InternalViewResolver», все работает нормально. Нужна помощь. Вот мои файлы.

веб.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:beans="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<mvc:annotation-driven/>
<context:annotation-config/>
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->


<mvc:resources mapping="/resources/**" location="/resources/" />

    <context:component-scan base-package="com.controller.*, com.models.*" />



     <beans:bean id="tilesConfigurer" 
                class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
                <beans:property name="definitions"> 
                        <beans:list> 
                                <beans:value>/WEB-INF/tiles.xml</beans:value> 
                        </beans:list> 
                </beans:property> 
        </beans:bean>

        <beans:bean id="viewResolver" 
                class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
                <beans:property name="viewClass"> 
                        <beans:value> 
                                org.springframework.web.servlet.view.tiles3.TilesView 
                        </beans:value> 
                          </beans:property> 
        </beans:bean> 


    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/myonlineshopdb"/>
    <property name="username" value="stacy"/>
    <property name="password" value="stacy"/>
    </bean> 

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan"
            value="com.entities" />
        <property name="hibernateProperties">
            <props>
                <prop key="dialect">org.hibernate.dialect.MySQLDialect</prop>
            </props>
        </property>
    </bean>

    <tx:annotation-driven />
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean   class="org.springframework.dao.annotation.
     PersistenceExceptionTranslationPostProcessor"/>      

    </beans>
0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:beans="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<mvc:annotation-driven/>
<context:annotation-config/>
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->


<mvc:resources mapping="/resources/**" location="/resources/" />

    <context:component-scan base-package="com.controller.*, com.models.*" />



     <beans:bean id="tilesConfigurer" 
                class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
                <beans:property name="definitions"> 
                        <beans:list> 
                                <beans:value>/WEB-INF/tiles.xml</beans:value> 
                        </beans:list> 
                </beans:property> 
        </beans:bean>

        <beans:bean id="viewResolver" 
                class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
                <beans:property name="viewClass"> 
                        <beans:value> 
                                org.springframework.web.servlet.view.tiles3.TilesView 
                        </beans:value> 
                          </beans:property> 
        </beans:bean> 


    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/myonlineshopdb"/>
    <property name="username" value="stacy"/>
    <property name="password" value="stacy"/>
    </bean> 

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan"
            value="com.entities" />
        <property name="hibernateProperties">
            <props>
                <prop key="dialect">org.hibernate.dialect.MySQLDialect</prop>
            </props>
        </property>
    </bean>

    <tx:annotation-driven />
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean   class="org.springframework.dao.annotation.
     PersistenceExceptionTranslationPostProcessor"/>      

    </beans>
0.xsd" version="3.0"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/root-context.xml</param-value> </context-param> <!-- Creates the Spring Container shared by all Servlets and Filters --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- <listener> <listener-class>org.apache.tiles.web.startup.TilesListener</listener-class> </listener> --> <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>home</welcome-file> </welcome-file-list>

root context:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans         
http://www.springframework.org/schema/beans/spring-beans.xsd">  

</beans>

контекст сервлета:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:beans="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<mvc:annotation-driven/>
<context:annotation-config/>
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->


<mvc:resources mapping="/resources/**" location="/resources/" />

    <context:component-scan base-package="com.controller.*, com.models.*" />



     <beans:bean id="tilesConfigurer" 
                class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
                <beans:property name="definitions"> 
                        <beans:list> 
                                <beans:value>/WEB-INF/tiles.xml</beans:value> 
                        </beans:list> 
                </beans:property> 
        </beans:bean>

        <beans:bean id="viewResolver" 
                class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
                <beans:property name="viewClass"> 
                        <beans:value> 
                                org.springframework.web.servlet.view.tiles3.TilesView 
                        </beans:value> 
                          </beans:property> 
        </beans:bean> 


    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/myonlineshopdb"/>
    <property name="username" value="stacy"/>
    <property name="password" value="stacy"/>
    </bean> 

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan"
            value="com.entities" />
        <property name="hibernateProperties">
            <props>
                <prop key="dialect">org.hibernate.dialect.MySQLDialect</prop>
            </props>
        </property>
    </bean>

    <tx:annotation-driven />
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean   class="org.springframework.dao.annotation.
     PersistenceExceptionTranslationPostProcessor"/>      

    </beans>

плитки.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
   "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
   "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>
<definition name="management" template="/WEB-INF/views/shared/management.jsp">
    <put-attribute name="left" value="/WEB-INF/views/shared/left.jsp"/>
    <put-attribute name="body" value=""/>
</definition>

<definition name="brands" extends="management">
    <put-attribute name="body" value="/WEB-INF/views/management/brands.jsp"/>
</definition>

<definition name="home" template="/WEB-INF/home.jsp"/>
</tiles-definitions>

И два контроллера, которые вообще не вызываются, а тайловые зависимости включены в мой проект:

package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/home")
public class Home {

@RequestMapping("/")
public String welcome(){
    return "home";
}

}


package com.controller.management;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.servlet.ModelAndView;  
import com.dao.BrandsDao;

@Controller  
@RequestMapping("/management") 
public class BrandsController{  

@Autowired
private BrandsDao brandsDao;

@RequestMapping(value="/brands")  
public ModelAndView showBrands() {  

System.out.println("from controller");  
return new ModelAndView("brands", "brands", brandsDao.getAllBrandValues());  
}  
}  

  • Также только что обнаружил еще одну проблему, которая, как мне кажется, напрямую связана с первой. Когда я запускаю свой тест, который загружает bean-компоненты из весны, я получаю: ошибка создания bean-компонента с именемtilesConfigurer. 07.08.2014

Ответы:


1

У меня была похожая проблема, я не просматривал каждую строку,

  • Пожалуйста, помните, что вам нужна как минимум версия Spring 3.2.x (я думаю, 3.2.7) для поддержки плиток 3 Я знаю, что вы упомянули Spring 4, но просто хотел добавить это в контрольный список.

** Самое главное, убедитесь, что у вас есть следующие банки

  1. Commons-beanutils-1.8.0
  2. Commons-дайджестер-2.0
  3. jcl-over-slf4j-1.7.6
  4. slf4j-апи-1.7.6

Поскольку этот пост совсем недавний, как вы сказали, вы используете Spring 4.x. Убедитесь, что ваша зависимость (maven)

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-extras</artifactId>
    <version>${tiles-version}</version>
</dependency>

Дайте мне знать, если это помогло. Спасибо.

02.10.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..