java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()

     今天在eclipse中加入了tomcat支持,在eclipse中打开web项目出现错误提示缺少servlet-api.jar于是随便找了个servlet-api.jar加入到plugin中,再在eclipse中将包加到web项目中,错误消失了,然而在我启动Tomcat服务时又报java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String

 ,查网页才知道:

1. javax.servlet.ServletContext为servlet-api.jar内的类,通过反编译,发现Tomcat 6.0以前的版本的servlet-api.jar内的ServletContext类没有getContextPath()方法,而新的Tomcat 6.0及以后版本有这个方法,而且server 启动时需要调用这个方法

Tomcat 6.0 before public interface ServletContext
{
    public abstract ServletContext getContext(String s);
}
Tomcat 6.0 later public interface ServletContext
{
    public abstract ServletContext getContext(String s);
    public abstract String getContextPath();
}

所有错误原因是Tomcat 6.0启动的时候错调用了别的版本的servlet-api.jar

解决方法是在将现在使用的servlet-api.jar换成tomcat的lib下的servlet-api.jar后重新启动tomcat就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值