0

私は restfull を学習しています。次の URL からサンプルをダウンロードしてデプロイしました。

http://fruzenshtein.com/spring-jpa-data-hibernate-mysql/ ページリンクの git ハブからソースをダウンロードできます

私は展開し、エラーなしで展開しました。

この restfull を呼び出すと、404 が表示されます。次の URL を使用してサービスを呼び出しています。

  http://127.0.0.1:8080/dpr-data/shop/create

私は何か間違ったことをしていますか?

誰でもこの例を調べることができますか。春の設定を Java クラスから xml に移動しました。

  <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
   xmlns:tx="http://www.springframework.org/schema/tx" 
   xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/tx
     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:component-scan base-package="com.spr.controller" />
<context:component-scan base-package="com.spr.exception" />
<context:component-scan base-package="com.spr.init" />
<context:component-scan base-package="com.spr.model" />
<context:component-scan base-package="com.spr.repository" />
<context:component-scan base-package="com.spr.service" />
<context:component-scan base-package="com.spr.validation" />

<bean id="transactionManager"   class="org.springframework.orm.jpa.JpaTransactionManager"
    p:entityManagerFactory-ref="entityManagerFactory" />

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
    p:dataSource-ref="dataSource">
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
    </property>
    <property name="persistenceUnitName" value="medical-unit" />
    <property name="persistenceXmlLocation" value="/WEB-INF/persistence.xml" />
    <property name="jpaProperties">
        <props>
            <prop key="dss.hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <prop key="dss.hibernate.generate_statistics">false</prop>
            <prop key="dss.hibernate.cache.use_structured_entries">true</prop>
            <prop key="dss.hibernate.show_sql">true</prop>
            <prop key="dss.hibernate.format_sql">true</prop>
            <prop key="dss.hibernate.jdbc.batch_size">50</prop>
            <prop key="dss.hibernate.connection.username">root</prop>
            <prop key="dss.hibernate.connection.password">root</prop>
        </props>
    </property>
</bean>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://127.0.0.1:3306/medicalstore" />
    <property name="username" value="root" />
    <property name="password" value="root" />
</bean>


<bean id="viewResolver"
      class="org.springframework.web.servlet.view.UrlBasedViewResolver" >
          <property name="prefix">
             <value>/WEB-INF/pages/</value>
          </property>
          <property name="suffix">
             <value>.jsp</value>
          </property>
          <property name="viewClass">
             <value>org.springframework.web.servlet.view.JstlView</value>
          </property>

    </bean>

<!-- Data Source Declaration 
<bean id="commonBasePooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close">

</bean>-->

デプロイは完全に機能し、コントローラーは開始されています。@postconstructor メソッドにログを 1 つ入れて、ログを印刷しています。しかし、私はこのサービスから結果を得ることができません。

4

1 に答える 1

0

例を見て、POM でプロジェクトに定義された最終的な名前が次のようになっていることに気付きました。

<finalName>dpr-data</finalName>

「s」ではなく「d」で始まることに注意してください。

これにより、war ファイル dpr-data.war が作成され、コンテキスト ルートdpr-dataにデプロイされます。これは、次の URL を使用してサービスにアクセスする必要があることを意味します。

http://127.0.0.1:8080/dpr-data/shop/create
于 2013-07-27T15:06:32.807 に答える