D
D
ddddd tttt2017-01-23 06:15:40
Hibernate
ddddd tttt, 2017-01-23 06:15:40

What is the problem with HTTP Status 404?

dispatcher-servlet

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       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/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 />
    <!-- Handles HTTP GET requests for /resources/** by efficiently serving
        up static resources in the ${webappRoot}/resources directory -->
    <mvc:resources mapping="/resources/**" location="/resources/" />
    <!-- Resolves views selected for rendering by @Controllers to .jsp resources
        in the /WEB-INF/views directory -->
    <bean
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property  name="prefix" value="/WEB-INF/" />
        <property  name="suffix" value=".jsp" />
    </bean>
    <context:component-scan base-package="controller"/>
    <context:component-scan base-package="DAO"/>
    <context:component-scan base-package="model"/>
</beans>

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter
        </filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter>
        <filter-name>HttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter
        </filter-class>
    </filter>

    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>HttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.form</url-pattern>
    </servlet-mapping>
</web-app>

ApplicationContext
<?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:p="http://www.springframework.org/schema/p"
       xmlns:util="http://www.springframework.org/schema/util"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/util
       http://www.springframework.org/schema/util/spring-util.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd">

    <bean id="dataSourceA"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource"
          p:driverClassName="com.mysql.jdbc.Driver"
          p:url="jdbc:mysql://localhost:3306/tur"
          p:username="root"
          p:password="root"/>
    <bean id="transactionManager"
          class="org.springframework.orm.hibernate5.HibernateTransactionManager"
          p:sessionFactory-ref="sessionFactory"/>
    <tx:annotation-driven/>
    <bean id="sessionFactory"
          class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"
          p:dataSource-ref="dataSourceA"
          p:packagesToScan="entity"
          p:hibernateProperties-ref="hibernateProperties"/>
    <util:properties id="hibernateProperties">
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
        <prop key="hibernate.max_fetch_depth">1</prop>
        <prop key="hibernate.jdbc.fetch_size">50</prop>
        <prop key="hibernate.jdbc.batch_size">10</prop>
        <prop key="hibernate.show_sql">true</prop>
        <!-- Свойства для Hibernate Envers -->
        <prop key="org.hibernate.envers.audit_taЬle_suffix">_H</prop>
        <prop key="org.hibernate.envers.revision_field_name">AUDIT_REVISION
        </prop>
        <prop key="org.hibernate.envers.revision_type_field_name">ACTION_TYPE
        </prop>
        <prop key="org.hibernate.envers.audit_strategy">
            org.hibernate.envers.strategy.ValidityAuditStrategy
        </prop>
        <prop key="org.hibernate.envers.audit_strategy_validity_end_rev_field_name">
            AUDIT_REVISION_END</prop>
        <prop key="org.hibernate.envers.audit_strategy_validity_store_revend_timestamp">
            True</prop>
        <prop key="org.hibernate.envers.audit_strategy_validity_revend_timestamp_field_name">
            AUDIT_REVISION_END_TS</prop>
    </util:properties>
</beans>

package controller;
import DAO_interface.HotelDAO;
import model.HotelAudit;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
@RequestMapping("/hotels")
@Controller
public class HotelController {
    private HotelDAO HotelService;
    @RequestMapping(method = RequestMethod.GET)
    public String list(Model uiModel) {
        List<HotelAudit> contacts = HotelService.findAll();
        uiModel.addAttribute("contacts", contacts);
        return "list";
    }
}

8a37f627a1d24d51b104713428fd2c7d.PNG
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<div xmlns:jsp="http://java.sun.com/JSP/Page"
     xmlns:c= "http://java.sun.com/jsp/jstl/core"
     version="2.0">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <jsp:output omit-xml-declaration="yes"/>
    <hl>Hotel Listing</hl>
    <c:if test="$(not empty hotels}">
        <table>
            <thead>
            <tr>
                <th>City</th>
                <th>Country</th>
            </tr>
            </thead>
            <tbody>
            <c:forEach items="$(hotels}" var="hotel">
                <tr>
                    <td>${hotel.city}</td>
                    <td>${hotel.country}</td>
                </tr>
            </c:forEach>
            </tbody>
        </table>
    </c:if>
</div>

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexander Kuznetsov, 2017-01-23
@DarkRaven

Change the controller method code to this one and check.

@RequestMapping(value = "/", method = RequestMethod.GET)
public String list(Model uiModel) {
  List<HotelAudit> contacts = HotelService.findAll();
  uiModel.addAttribute("contacts", contacts);
  return "list";
}

In general, I would advise you to study the basic information on working with the Spring Framework - there are some important points that can help at the initial stage.
Also, when developing views, I advise you to pay attention, for example, to the fact that Tags are included in JSP, this will allow you to noticeably utilize (fu word) the view code.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question