2016-07-12 17 views
-2

TomcatでEclipseでSpring Hibernate Webサンプルを処理しようとしています。残念ながら、私は次のような警告が出ます:名前が 'appServlet'のDispatcherServletでURI [/ SpringMVCHibernate /]を持つHTTP要求のマッピングが見つかりません

はWARN:org.springframework.web.servlet.PageNotFoundを - マッピングがURIを持つHTTPリクエストの を認めなかった[/ SpringMVCHibernate /]のDispatcherServlet で名前と 'appServlet'

私は警告のために何をする必要がありますか?私が見ている限り、私はそれに対して正確な解決策を見出すことができませんでした。あなたが私を助けることができれば嬉しいです。

これは

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

<!-- The definition of the Root Spring Container shared by all Servlets and Filters --> 
    <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> 
     class>org.springframework.web.context.ContextLoaderListener</listener- class> 
    </listener> 

    <servlet-mapping> 
    <servlet-name>jsp</servlet-name> 
     <url-pattern>/WEB-INF/pages/*</url-pattern> 
     </servlet-mapping> 


    <!-- 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> 

</web-app> 

これは、サーブレットのcontext.xmlである私のweb.xmlです:

<?xml version="1.0" encoding="UTF-8"?> 
     <beans:beans xmlns="http://www.springframework.org/schema/mvc" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  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/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> 

     <!-- DispatcherServlet Context: defines this servlet's request-processing 
    infrastructure --> 

    <!-- Enables the Spring MVC @Controller programming model --> 
    <annotation-driven /> 

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving 
     up static resources in the ${webappRoot}/resources directory --> 
     <resources mapping="/resources/**" location="/resources/" /> 

      <!-- Resolves views selected for rendering by @Controllers to .jsp   resources 
        in the /WEB-INF/views directory --> 
      <beans:bean 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <beans:property name="prefix" value="/WEB-INF/views/" /> 
     <beans:property name="suffix" value=".jsp" /> 
    </beans:bean> 

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

    <!-- Hibernate 4 SessionFactory Bean definition --> 
    <beans:bean id="hibernate4AnnotatedSessionFactory" 
     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
     <beans:property name="dataSource" ref="dataSource" /> 
     <beans:property name="annotatedClasses"> 
      <beans:list> 
       <beans:value>com.journaldev.spring.model.Person</beans:value> 
      </beans:list> 
     </beans:property> 
     <beans:property name="hibernateProperties"> 
      <beans:props> 
       <beans:prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect 
       </beans:prop> 
       <beans:prop key="hibernate.show_sql">true</beans:prop> 
      </beans:props> 
     </beans:property> 
    </beans:bean> 

    <beans:bean id="personDAO" class="com.journaldev.spring.dao.PersonDAOImpl"> 
     <beans:property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory" /> 
    </beans:bean> 
    <beans:bean id="personService" class="com.journaldev.spring.service.PersonServiceImpl"> 
     <beans:property name="personDAO" ref="personDAO"></beans:property> 
    </beans:bean> 
    <context:annotation-config /> 
<!-- <context:component-scan base-package="com.journaldev.spring, com.journaldev.spring.dao, com.journaldev.spring.model, com.journaldev.spring.service" /> --> 

    <tx:annotation-driven transaction-manager="transactionManager"/> 

    <beans:bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
     <beans:property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory" /> 
    </beans:bean> 


</beans:beans> 
+0

コントローラクラスコードを追加する必要があります。 –

+0

私はあなたの重複したページで見つけたすべての結果を試してみましたが、どれも結果を教えてくれませんでした。したがって、私は自分の質問を作成して、他の人に学び、正当化し、他の人に学ぶための答えを得る権利を持っています。 – user2307786

答えて

0

あなたは

<context:component-scan base-package="com.journaldev" /> 
+0

WARN:org.springframework.web.servlet.PageNotFound - URI [/ SpringMVCHibernate /]名前が 'appServlet'のDispatcherServletで – user2307786

-1

コントローラクラスコードを追加する必要があります

package com.journaldev.spring; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Qualifier; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.PathVariable; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import com.journaldev.spring.model.Person; 
import com.journaldev.spring.service.PersonService; 

@Controller 
public class PersonController { 

    private PersonService personService; 

    @Autowired(required = true) 
    @Qualifier(value = "personService") 
    public void setPersonService(PersonService ps) { 
     this.personService = ps; 
    } 

    @RequestMapping(value = "/persons", method = RequestMethod.GET) 
    public String listPersons(Model model) { 
     model.addAttribute("person", new Person()); 
     model.addAttribute("listPersons", this.personService.listPersons()); 
     return "person"; 
    } 

    // For add and update person both 
    @RequestMapping(value= "/person/add", method = RequestMethod.POST) 
    public String addPerson(@ModelAttribute("person") Person p) { 

     if (p.getId() == 0) { 
      //new person, add it 
      this.personService.addPerson(p); 
     } else { 
      //existing person, call update 
      this.personService.updatePerson(p); 
     } 

     return "redirect:/persons"; 
    } 

    @RequestMapping("/remove/{id}") 
    public String removePerson(@PathVariable("id") int id) { 

     this.personService.removePerson(id); 
     return "redirect:/persons"; 
    } 

    @RequestMapping("/edit/{id}") 
    public String editPerson(@PathVariable("id") int id, Model model) { 
     model.addAttribute("person", this.personService.getPersonById(id)); 
     model.addAttribute("listPersons", this.personService.listPersons()); 
     return "person"; 
    } 
} 
関連する問題