0

我正在学习 restfull ,我已经从以下 url 下载并部署了示例。

http://fruzenshtein.com/spring-jpa-data-hibernate-mysql/ 你可以从页面链接中的 git hub 下载源代码

我已经部署并且它的部署没有错误。

当我调用这个 restfull 时,它显示 404。我正在使用以下 url 来调用服务。

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

难道我做错了什么。

任何机构都可以研究这个例子。我已将 spring 配置从 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 方法中放置了一个日志并且日志正在打印。但我无法从这项服务中获得结果。

4

1 回答 1

0

查看示例后,我注意到在 POM 中为项目定义的最终名称是:

<finalName>dpr-data</finalName>

请注意,以“d”开头,而不是“s”。

这将生成 war 文件 dpr-data.war 并将部署到上下文根dpr-data。这意味着您应该使用以下 URL 访问该服务:

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