English 中文(简体)
eclipsespringmvc项目中的servlet不可用错误
原标题:servlet not available error in eclipse spring mvc projects

我正在使用eclipse运行这个项目。在一个项目中,我得到了以下错误

18/02/2011 12:23:41 AM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:javain;.;C:WindowsSunJavain;C:Windowssystem32;C:Windows;C:javain;C:Program Files (x86)MySQLMySQL Server 5.1in;C:Program Files (x86)IDM Computer SolutionsUltraEdit;C:javain 18/02/2011 12:23:42 AM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:test did not find a matching property. 18/02/2011 12:23:42 AM org.apache.coyote.AbstractProtocolHandler init INFO: Initializing ProtocolHandler ["http-bio-8085"] 18/02/2011 12:23:42 AM org.apache.coyote.AbstractProtocolHandler init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 18/02/2011 12:23:42 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 511 ms 18/02/2011 12:23:42 AM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 18/02/2011 12:23:42 AM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.8 18/02/2011 12:23:42 AM org.apache.catalina.core.ApplicationContext log INFO: Marking servlet ds as unavailable 18/02/2011 12:23:42 AM org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet /test threw load() exception java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:996) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4834) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5155) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5150) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) 18/02/2011 12:23:42 AM org.apache.coyote.AbstractProtocolHandler start INFO: Starting ProtocolHandler ["http-bio-8085"] 18/02/2011 12:23:42 AM org.apache.coyote.AbstractProtocolHandler start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 18/02/2011 12:23:42 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 332 ms 18/02/2011 12:23:52 AM org.apache.catalina.core.StandardWrapperValve invoke INFO: Servlet ds is currently unavailable

我的ds.servlet是

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.orf/schema/beans/spring-beans-2.0.xsd">

    <!-- Configuring DataSource -->
    <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://localhost:3306/springdb</value>
        </property>
        <property name="username">
            <value>root</value>
        </property>
        <property name="password">
            <value>root</value>
        </property>
    </bean>


    <!-- Configuring jdbcTemplate -->
    <bean id="jdbctemp" class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg>
            <ref local="datasource" />
        </constructor-arg>
    </bean>

    <bean id="loginModel" class="com.santosh.spring.LoginModel">
        <constructor-arg>
            <ref local="jdbctemp" />
        </constructor-arg>
    </bean>

    <bean id="logincnt" class="com.santosh.spring.LoginController">
        <property name="loginModel" >
            <ref local="loginModel"/>
        </property>

        <!-- Configure Command ClassName  -->

        <property name="commandClass" >
        <value type="java.lang.Class"> com.santosh.spring.UserDetails </value>
        </property>

        <!-- Configure the command name , the name to use when binding the instantiated command class to the request -->

        <property name="commandName">
            <value> UserDetails </value>
        </property>

    </bean>


    <!-- Configure URL Mapping   -->

    <bean id="myurlmapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" >
        <property name="mappings">
            <props>
                <prop key="/login.spring">logincnt</prop>
            </props>
        </property>
        <property name="urlMap">
<map>
<entry key="/hello.springs">
<ref bean="helloController"/>
</entry>
</map>
</property>
    </bean>
    <bean id="helloController" class="net.roseindia.web.HelloWorldController"> </bean>

</beans>
最佳回答

戴夫是对的。然而,Tomcat存在一些热部署问题,因此它有时无法加载类路径中实际存在的类。因此,如果您发现您实际上把jar放在了正确的位置,那么只需清理tomcat(右键单击服务器并选择clean),然后重新开始。

问题回答

堆栈跟踪抱怨找不到“org.springframework.web.servlet.DispatcherServlet”。DispatcherServlet类可以在spring-webmvc.jar(jarfinder.com是一个很好的工具,可以确定哪些jar包含哪些类),因此请仔细检查Eclipse中的类路径上是否有所有合适的spring jar,如spring-core-x.jar、spring-webmvc-x.jar等(或者可能在WEB-INF/lib下,具体取决于您尝试运行WEB应用程序的方式)。Maven存储库是一个很好的地方,如果你需要的话,可以找到弹簧罐子。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签