我正在使用Spring MVC与使用Hibernate的REstful webservice一起使用Customer应用程序。我在Eclipse中创建了这个应用程序作为动态Web项目,因为如果我使用Maven,我会得到很少的依赖项错误。
由于我是这些技术的新手,我不知道在配置这些文件方面我犯了什么错误
我在配置文件中配置如下。
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>SpringWithRestCaseStudy</display-name>
<context-param>
<param-name>root-context</param-name>
<param-value>\WEB-INF\spring\appServlet\root- context.xml</paramvalue>
</context-param>
<servlet>
<servlet-name>servlet-context</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>servlet-context</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.RequestContextListener</listener-class>
</listener>
servlet的context.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:task="http://www.springframework.org/schema/task"
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/task http://www.springframework.org/schema/task/spring-task.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 -->
<annotation-driven />
<resources location="/resources/" mapping="/resources/**"></resources>
<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>
<context:component-scan base-package="com.crud.rest.controllers" />
</beans:beans>
根context.xml中
<?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:c="htpp://www.springframework.org/schema/c"
xmlns:p="htpp://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url" value="jdbc:oracle:thin:@172.16.156.152:1521:orcl">
</property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>com.crud.rest.beans.MyCustomer</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="customerDao" class="com.crud.rest.dao.CustomerDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="customerService" class="com.crud.rest.dao.CustomerServiceImpl">
<property name="CustomerDao" ref="CustomerDao"></property>
</bean>
</beans>
我收到的错误如下。
Sep 12, 2017 12:52:55 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ShoppingDemo' did not find a matching property.
Sep 12, 2017 12:52:55 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:SpringWithRestCaseStudy' did not find a matching property.
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/8.0.37
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Sep 1 2016 10:01:52 UTC
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 8.0.37.0
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 7
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 6.1
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:\Program Files\Java\jre1.8.0_66
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_66-b18
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: D:\Narmatha Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: D:\apache-tomcat-8.0.37
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=D:\Narmatha Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=D:\apache-tomcat-8.0.37
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=D:\Narmatha Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=D:\apache-tomcat-8.0.37\endorsed
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Sep 12, 2017 12:52:55 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_66\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_66/bin/server;C:/Program Files/Java/jre1.8.0_66/bin;C:/Program Files/Java/jre1.8.0_66/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\PROGRA~2\CA\SC\CAM\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ORACLEXE\app\oracle\product\10.2.0\server\bin;C:\Tcl\bin;C:\Windows\SysWOW64\;C:\Windows\SysWOW64\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\eclipse-jee-luna-SR2-win32-x86_64\eclipse;;.
Sep 12, 2017 12:52:55 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Sep 12, 2017 12:52:55 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 12, 2017 12:52:55 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Sep 12, 2017 12:52:55 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 12, 2017 12:52:55 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1524 ms
Sep 12, 2017 12:52:55 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Sep 12, 2017 12:52:55 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.37
Sep 12, 2017 12:53:00 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Sep 12, 2017 12:53:00 PM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet dispatcher as unavailable
Sep 12, 2017 12:53:00 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [dispatcher] in web application [/ShoppingDemo] threw load() exception
java.lang.ClassNotFoundException: org.springframework.web.servlet.DisptacherServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderB ase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderB ase.java:1167)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceMana ger.java:518)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(Defa ultInstanceManager.java:499)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceMa nager.java:118)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:109 1)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1027)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5 038)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5 348)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:140 7)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:139 7)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 12, 2017 12:53:00 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderB ase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderB ase.java:1167) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:518) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:499)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceMa nager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4 775)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5 314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:130 9) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 12, 2017 12:53:00 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.RequestContextListener
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderB ase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderB ase.java:1167)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceMana ger.java:518)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(Defa ultInstanceManager.java:499)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceMa nager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4 775)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5 314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 12, 2017 12:53:00 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Sep 12, 2017 12:53:00 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Sep 12, 2017 12:53:00 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/SpringWithRestCaseStudy] startup failed due to previous errors
Sep 12, 2017 12:53:01 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Sep 12, 2017 12:53:01 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Sep 12, 2017 12:53:01 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5154 ms
请有人帮我解决这个问题。
如果有人可以提供有关如何配置这3个文件的详细信息,那将会更有帮助。
答案 0 :(得分:0)
这可能是解决方案。
这个问题的解决方案非常简单。双击tomcat服务器。它将打开服务器配置。在服务器选项下,选中“将模块内容发布到单独的XML文件”复选框。重启服务器。这次你的页面没有任何问题。