我用的是tomcat6.0.20, jdk1.6.0_15,Eclipse3.6,windows7   配置spring2启动没有问题,但是换成spring3.0.3的jar包之后,启动server就报错,这是怎么回事啊,同样环境在另外一台windows XP的机子上就能启动,错误信息如下,还望赐教: java.lang.IllegalStateException: Failed to invoke Servlet 2.5 getContextPath method 
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:268) 
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) 
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) 
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
at org.apache.catalina.core.StandardService.start(StandardService.java:516) 
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:583) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 
Caused by: java.lang.NoSuchMethodException: javax.servlet.ServletContext.getContextPath() 
at java.lang.Class.getMethod(Class.java:1605) 
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:263) 
... 17 more 

解决方案 »

  1.   

    web.xml文件配置相应的东西了不
      

  2.   

    换个servlet-api-2.5.jar试试
    http://download.csdn.net/source/2365573
      

  3.   

    java.lang.IllegalStateException
    在不合理或不正确时间内唤醒一方法时出现的异常信息。换句话说,即 Java 环境或 Java 应用不满足请求操作。
    看看环境,显示调用servlet2.5错误。。
      

  4.   

    换了servlet-api-2.5.jar,还是不好用
      

  5.   

    目前问题解决了,升级了一下jdk的版本,从1.6.0_05升级到了1.6.0_21,就不报错了,其他配置都没变。