1.Eclipse打开报 Failed to loadthe JNI shared library 的错误
1)jvm.dll文件不在指定的文件目录下
2)jdk环境配置有错误
3)eclipse的版本与jdk的版本不一致,同为32位或64位
2.启动项目报Name jdbc is notbound in this Context的错误
数据库连接的驱动有问题
3.访问tomcat报错:java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast toorg.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错误,解决方法是将项目部署到tomcat下面后,将项目的web-inf/lib下面的catalina.jar删掉,然后在重启tomcat,ok。
4.在tomcat中刷新项目报Undeployment Failure 问题
把项目中引用的jar文件重新加一遍就行了,基本原因就是以前的jar文件不存在了,但 是项目信息中还有,即项目的.classpath文件中还有不存在的jar文件引用。
可以右键点击项目名称-->Properties-->Java BuildPath-->Libraries,把所有项目中的jar都remove,然后再点"add jars",把项目中的jar文件都加进来,
再次部署就正常了。
5.当项目报java.lang.reflect.InvocationTargetException的异常时
1. 检查是少了jar包
2. 检查配置文件是否正确配置
6.异常:java.lang.IllegalStateException: getOutputStream() has already been called forthis response怎么解决
这是web容器生成的servlet代码中有out.write(””),这个和JSP中调用的response.getOutputStream()产生冲突.
即Servlet规范说明,不能既调用 response.getOutputStream(),又调用response.getWriter(),无论先调用哪一个,在调用第二个时候应会抛出 IllegalStateException,因为在jsp中,out变量是通过response.getWriter得到的,在程序中既用了response.getOutputStream,又用了out变量,故出现以上错误。
解决方案:
1.在程序中添加:
out.clear();
out = pageContext.pushBody();
就可以了;
2,不要在%〕〔%之间写内容包括空格和换行符
3,在页面写入图片的时候,需要flush()
OutputStreamoutput=response.getOutputStream();
output.flush();
4,在页面确定写入<meta http-equiv=”Content-Type”content=”text/html; charset=gb2312”>
7.tomcat启动 java.sql.SQLException: 不支持的特性
是数据库驱动有问题,换成高版本的就行