错误信息如下:
org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
错误原因:
1、 当项目中引用tomcat目录下面的lib下面的catalina.jar的时候,用myeclipse将项目部署到tomcat下面的时候,会将catalina.jar包加到项目的web-inf下面的lib文件夹下面,这样这个包就会和tomcat下面的lib下面的catalina.jar包冲突会报java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor冲突导致的转换异常
2、是因为Tomcat中catalina.jar和jasper.jar都有AnnotationProcessor接口都会导致该错误
解决方案:
1、不用该jar(与tomcat重复的全部删除)
2、在tomcat/conf/context.xml中的context节点添加< Loader delegate=”true” />
我在项目中(tomcat webapps下的项目)删除的jar包为:
el-api.jar
jasper.jar
servlet-api.jar
catalina.jar
jsp-api.jar
org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.catalina.util.DefaultAnn
出现这种类型的错,可尝试将项目中(tomcat webapps下的项目)catalina.jar、el-api.jar、jasper.jar删除,重启服务即可。
已解决
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
java
.
lan
g.ClassNotFoundE
xc
e
报错找不到jsp文件,此时修改一下访问路径,会报如下错误:
二、解决
java
.
lan
g.NoClassDefFound
Er
ror:
java
x/s
er
vlet/jsp/jstl/core/ConditionalTagSupport的方法:
缺少了相应的jar包:
jstl-1.2
standard-1.1.2
jstl-api-1.2.1
jstl-impl-1.2
刚学习jsp,如果你遇到这样的错误:
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
java
.
lan
g.ClassNotFoundE
xc
eption
:
org
.
apache
.jsp.xxx_jsp
总是在jsp指令标记行上报错:
不妨检查一下你的指令标记行上的%和@中间有没有空格,教材上的%和@里的太开了,导致我以为有空格,事实上是不能有空格的,害的我重装了
tomcat
,下了最新的jdk搞了一整天???? 最后查出来是多了个空格
希望可以帮到一些人少踩着这个坑。
将
java
web工程部署到
tomcat
中,启动
tomcat
打开jsp页面出现
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
java
.
lan
g.NullPoint
er
E
xc
eption
错误。这是由于项目中build path中加载的一些包与
tomcat
中的包重复,在项目中删除对应的包就行。
之前出现另外一种类似的情况,也是提示
org
.
apache
.j
asp
er
.J
asp
e
错误信息很明确,就是没有找到index_jsp这个class文件。
Jsp本质上就是一个s
er
vlet,也就是一个
java
类,
tomcat
通过运行编译好的class文件来显示jsp页面,而翻译jsp文件为
java
文件的引擎也就是
tomcat
的j
asp
er
。但是我的
tomcat
内部是没有缺少这部分jar包内容的。
于是便有了我的第一次尝试。
观察是不是jar包冲突了。
因为项目本身引入了s
er
vlet-api、jsp-api包可能会和
tomcat
自带的包冲突,当然不排除也可能是其他包冲突。利用maven he
java
.
lan
g.
ClassCastException
:
org
.
apache
.
cat
a
lin
a.connector.RequestFacade
c
ann
ot be cast to
org
.springframework.web.multipart.MultipartHttpS
er
vletRequest
实现springMvc文件上传报如上错误:
问题出现的原因
今天试图从前台JSP页面提交数据到数据库,报了个这样的错,我以为是JDBC连接MYSQL的JAR包没有加的原因,加上JAR包还是这样:
HTTP Status 500 - An e
xc
eption
occurred processing JSP page /index.jsp at
lin
e 12
type E
xc
eption
report
message An e
xc
eptio
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
java
.
lan
g.ClassNotFoundE
xc
eption
:
org
.
apache
.jsp.jsp.main_jsp主要问题:
原因:有多个界面有下面这句话<%@ taglib uri="http://
java
.sun.com/jstl/core"
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
java
.
lan
g.ClassNotFoundE
xc
eption
这是
Tomcat
中经常出现的异常。其主要原因是找不到所需的类文件。 当我们使用JSP页面时,
Tomcat
服务器会将该页面中的
Java
代码编译成一个类文件,然后加载并执行该类文件。
当服务器无法找到该类文件时,就会抛出该异常。这可能是由于以下原因之一造成的:
1. 编译错误 - JSP代码中出现了错误,导致无法编译成有效的类文件。这可能与页面中的
Java
代码或JSP标记有关。
2. 类文件丢失 - 相关的类文件可能已经被删除或移动到了一个不同的位置。在这种情况下,我们需要确保所有相关的类文件都位于正确的位置。
3. 问题出现在类路径中 - 所需的类可能在服务器的类路径中未被明确指定,或者由于某些原因不可用。这种情况下,我们需要确保类路径正确并包含所需的类。
无论是什么原因,当我们遇到
org
.
apache
.j
asp
er
.J
asp
er
E
xc
eption
:
java
.
lan
g.ClassNotFoundE
xc
eption
异常时,我们需要检查相关的类文件是否存在且正确定位,以及确保JSP代码和标记没有错误。如果问题还未解决,我们需要查看
Tomcat
日志和配置文件,以查找能够揭示问题的更多信息。