java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:151)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote请教大神啊  代码如下 因为有点长 所以先把jsp和java发上来 
<%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
<%@page import="dao.*,util.*,java.util.*,entity.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>emplist</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div id="wrap">
<div id="top_content"> 
<div id="header">
<div id="rightheader">
<p>
2009/11/20
<br />
</p>
</div>
<div id="topheader">
<h1 id="title">
<a href="#">main</a>
</h1>
</div>
<div id="navigation">
</div>
</div>
<div id="content">
<p id="whereami">
</p>
<h1>
Welcome!
</h1>
<table class="table">
<tr class="table_header">
<td>
ID
</td>
<td>
Name
</td>
<td>
Salary
</td>
<td>
Age
</td>
<td>
Operation
</td>
</tr>
<% 
//访问数据库代码
EmployeeDAO dao = new EmployeeDAOJdbcImpl();
List<Employee> employees = dao.findAll();
for(int i =0; i <employees.size();i++){
Employee e = employees.get(i);
 %>
<tr class="row1">
<td class="row<%=(i%2+1) %>">
<%=e.getId() %>
</td>
<td>
<%=e.getName() %>
</td>
<td>
<%=e.getSalary() %>
</td>
<td>
<%=e.getAge() %>
</td>
<td>
<a href="emplist.html">delete</a>&nbsp;<a href="updateEmp.html">update</a>
</td>
</tr>
<%} %>
</table>
<p>
<input type="button" 
class="button" 
value="Add Employee" 
onclick="location='addEmp.html'"/>
</p>
</div>
</div>
<div id="footer">
<div id="footer_bg">
[email protected]
</div>
</div>
</div>
</body>
</html>package dao.impl;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;import util.DBUtil;
import dao.EmployeeDAO;
import entity.Employee;public class EmployeeDAOJdbcImpl implements EmployeeDAO{
public List<Employee> findAll() throws Exception{
Connection conn = DBUtil.getConnection();
Statement stat = conn.createStatement();
ResultSet rst = stat.executeQuery("select * from newt");
List<Employee> employees= new ArrayList<Employee>();
while(rst.next()){
Employee e = new Employee();
e.setId(rst.getLong("id"));
e.setSalary(rst.getDouble("salary"));
e.setName(rst.getString("name"));
e.setAge(rst.getInt("age"));
employees.add(e);
}
DBUtil.close(conn);
return employees;
}
public void delete(long id) throws Exception{
Connection conn = DBUtil.getConnection();
PreparedStatement prep = conn.prepareStatement("delete from newt where id = ?");
prep.setLong(1, id);
prep.executeUpdate();
DBUtil.close(conn);
}
public void save(Employee e) throws Exception{
Connection conn = DBUtil.getConnection();
PreparedStatement prep = conn.prepareStatement("insert into newt(name,salary,age) values(?,?,?)");
prep.setString(1, e.getName());
prep.setDouble(2, e.getSalary());
prep.setInt(3, e.getAge());
prep.executeUpdate();
DBUtil.close(conn);
}
public Employee findById(long id) throws Exception{
Connection conn = DBUtil.getConnection();
PreparedStatement prep = conn.prepareStatement("select * from newt where id=?");
prep.setLong(1, id);
ResultSet rst = prep.executeQuery();
Employee e = null;
if(rst.next()){
e = new Employee();
e.setAge(rst.getInt("age"));
e.setId(id);
e.setSalary(rst.getDouble("salary"));
e.setName(rst.getString("name"));
}
DBUtil.close(conn);
return e;
}
public void update(Employee e) throws Exception{
Connection conn = DBUtil.getConnection();
PreparedStatement prep = conn.prepareStatement("update newt set name=?,salary=?,age=? where id=?");
prep.setString(1, e.getName());
prep.setDouble(2, e.getSalary());
prep.setInt(3, e.getAge());
prep.setLong(4, e.getId());
prep.executeUpdate();
DBUtil.close(conn);
}}

解决方案 »

  1.   

    Tomcat中catalina.jar和jasper.jar都有AnnotationProcessor接口,所以运行时,就出错了:java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor。
    异常的解决方法:
    在tomcat中的context.xml文件中添加<Loader delegate="true" />!~
      

  2.   

    你这是类型转换错误,jsp中嵌套java代码,不好看错误
      

  3.   

    可能是tomcat的lib文件夹jar包和项目的lib文件夹下的jar包冲突了 
    你看看项目下lib文件下和tomcat的jar有没有重复的,
    把重复的删除了试试吧
      

  4.   

    还是不行  不过后来我新建了一个工程 把相关java文件跟html文件拷到工程里  导入了个MYSQL的jar包后就可以了  是在搞不懂那到底是什么问题