关于 Servlet.service() for servlet jsp threw exception的问题
关于jsp页面在初始化的时候遇到的Servlet.service()抛出的异常,根据我个人工作之中遇到的做了以下的总结:
问题一
这个问题是因为我在pom文件中配置了:
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> </dependency>
因为jar包的原因,哎,把jsp-api的那个注释掉就好了。
问题二
这个问题还是因为我在pom文件中配置了:
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency>
还是因为jar包的原因,解决方法还是把jsp-api注释掉。
这个问题闹腾了我半个多小时的时间,只是大概了解了一些,肯定是因为代码实现方面的原因了,具体的原因还没有去查,这是我用tomcat6遇到的问题,改天用tomcat7试一试。其实可以通过查看一下tomcat目录下lib文件夹下servlet-api和jsp-api的版本,最好是参照tomcat下面的版本来配置这两个jar包版本。
问题三
部署java的web项目到tomcat7服务器,遇到以下问题:
严重: Servlet.service() for servlet jsp threw exception
java.lang.AbstractMethodError: javax.servlet.jsp.JspContext.getELContext()Ljavax/el/ELContext;
解决方案:jasper-runtime.jar的版本冲突,项目中这个jar和tomcat里的这个jar包版本冲突,引发此问题,只需要去掉项目中的这个jar即可。
其实关于这些类的问题,大体都可以通过查看是否是项目中的jar有跟我们的tomcat里面的jar是否存在重复以及版本冲突问题来解决。