项目从tomcat7.35迁移到tomcat8.15运行不了

滴水石穿 2014-11-16 10:10:12
错误信息:
org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: [42] in the generated java file: [D:\apache-tomcat-8.0.15\work\Catalina\localhost\testcms\org\apache\jsp\index_jsp.java]
The method getDispatcherType() is undefined for the type HttpServletRequest

Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:199)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at cn.freeteam.filter.BasePathFilter.doFilter(BasePathFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

jdk是7.67 。 麻烦大家帮我解答下。急!!!


...全文
6711 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ronawilliam 2015-07-03
  • 打赏
  • 举报
回复
我也是更换jdk版本后出的问题,试过了,把tomcat下的servlet-api.jar替换项目下的servlet-api-xx.jar就可以了.
chinanewsoft 2015-05-05
  • 打赏
  • 举报
回复
这个问题时项目中的jar包servlet-api和tomcat8中的servlet-api冲突了,删除项目的的就可以了。如果使用的是maven工程,那么加上<exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> 这样就去掉了项目中的servlet-api包
hu1234dfgh 2015-04-13
  • 打赏
  • 举报
回复
15楼的答案 完美解决了我的问题,我用的 tomcat8
范进不中举 2015-03-17
  • 打赏
  • 举报
回复
分享一下,我的问题是用myeclipse自带的tomcat7可以正常访问,然后用tomcat8报版主一样的错。我是这样解决的:工程里面有一个servlet.jar,然后tomcat8下的lib里面有一个servlet-api.jar,我后来用后面的servlet-api.jar代替前面的servlet.jar,结果就可以正常运行了,可能是这两个包有冲突,只能使用一个
  • 打赏
  • 举报
回复
引用 楼主 jyh1016 的回复:
错误信息: org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [42] in the generated java file: [D:\apache-tomcat-8.0.15\work\Catalina\localhost\testcms\org\apache\jsp\index_jsp.java] The method getDispatcherType() is undefined for the type HttpServletRequest Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:199) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:361) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at cn.freeteam.filter.BasePathFilter.doFilter(BasePathFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) jdk是7.67 。 麻烦大家帮我解答下。急!!!
怎么解决的楼主。大家都遇到这个问题。
阿德07 2014-12-26
  • 打赏
  • 举报
回复
楼主请问你是怎么解决的?我也遇到了这个问题~~
johnjava1989 2014-12-09
  • 打赏
  • 举报
回复
楼主怎么解决的啊 我也遇到同样的问题了
滴水石穿 2014-11-18
  • 打赏
  • 举报
回复
解决了。。。。。。。。。
ifvlr 2014-11-18
  • 打赏
  • 举报
回复
删掉tomcat里的jsp-api.jar或者把原先tomcat7/common/lib里的jsp-api.jar替换到新版本的tomcat8中试试。
滴水石穿 2014-11-18
  • 打赏
  • 举报
回复
引用 2 楼 rui888 的回复:
版本问题。
什么版本问题? 麻烦说清楚点晒
滴水石穿 2014-11-18
  • 打赏
  • 举报
回复
引用 4 楼 kky2010_110 的回复:
jar 冲突了,似乎是servlet-api冲突,把工程中的删除
工程里没有这个包呀
滴水石穿 2014-11-18
  • 打赏
  • 举报
回复
项目中的jar包,删掉哪个啊
xuefeng0707 2014-11-18
  • 打赏
  • 举报
回复
楼主也说说 怎么解决的啊
Defonds 2014-11-17
  • 打赏
  • 举报
回复
也可能是缺包,或者版本冲突
tony4geek 2014-11-17
  • 打赏
  • 举报
回复
xuefeng0707 2014-11-17
  • 打赏
  • 举报
回复
把项目WEB-INF\lib下的jasper.jar删掉。
kky2010_110 2014-11-17
  • 打赏
  • 举报
回复
jar 冲突了,似乎是servlet-api冲突,把工程中的删除
福尔摩斯23 2014-11-16
  • 打赏
  • 举报
回复
LZ,你好!可以看看这个链接: http://blog.csdn.net/yinyuan1987/article/details/3176908

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧