1、 在MyEclipse中配置Oracle10g报连接错误:
error while performing database login with the oracle driver
解决方式:
1、eclipse下面的eclipse.ini文件 -Duser.language=en 改为 -Duser.language=zh ,然后重启MyEclipse,第一次可能会报错,继续重启MyEclipse一次
2、或者是oracle的配置有问题
2、 java.lang.NoClassDefFoundError:org/apache/commons/beanutils/Converter
解决方式:(两种情况)
情况1. 没有引入commons-beanutils.jar 在项目的引用jar包里加入这个包。
情况2. 引用了,应该是两次引用了这个包,而且版本有冲突
3、 java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
解决方式:
添加包common-logging.jar
4、 java.lang.ClassNotFoundException: javax.transaction.Synchronization
解决方式:
添加包jta.jar(hiberante)
5、 java.lang.ClassNotFoundException: org.dom4j.DocumentException
解决方式:
添加包dom4j-1.6.1.jar
6、
java.lang.ClassNotFoundException:org.apache.commons.collections.SequencedHashMap
解决方式:
添加包commons-collections.jar
7、 java.lang.ClassNotFoundException: net.sf.cglib.proxy.CallbackFilter
java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
解决方式:
添加包cglib-2.1.3.jar
8、java.lang.ClassNotFoundException: org.objectweb.asm.Type
解决方式:
添加包asm.jar
9、 java.lang.ClassNotFoundException: antlr.ANTLRException
解决方式:
添加包antlr.jar
10、 java.lang.ClassNotFoundException: net.sf.ehcache.CacheException
解决方式:
添加包ehcache-1.2.3.jar
11、org.hibernate.hql.ast.QuerySyntaxException: XX类 is not mapped [from XX类 as t]
解决方式:
1、Hibernate对数据库的操作是基于对象操作的,所以XX类应该是某一个的的实例对象
2、Annotation的方式导入的包全部都为javax.persistence.*下的内容,来声明某一个类是实体类
12、org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns: [org.hibernate.mapping.Column(curriculums)]
解决方式:
可能的方式1:将@Id写在public Int getId(){return this.id;}方法之上,不能够写在private Int id;之上
13、java.sql.BatchUpdateException: ORA-00904: "PBODY_ID": 标识符无效
解决方式:
当映射关系为oneTomany时,在manyToone的一方添加@JoinColumn(name="bid",referencedColumnName="id")
解决方式:
Spring中的“asm-2.2.3.jar”和Hibernate中的“asm.jar”包冲突。解决办法是移除Spring2.0 AOP Libraries中的“asm-2.2.3.jar”即可
15、超链接传递参数时,有些参数可以获得,但是获取不到参数的内容是“中文”的参数信息
解决方式:
String resourceName=URLEncoder.encode ( “中文字符”, "utf-8" );
URLEncoder位于java.net包下
(在最终接受参数的地方:if("GET".equals ( method )){ resorucename = URLDecoder.decode (“中文参数”);}该段代码有时或许可以不需要)
16、使用hibernateAnnotation进行级联的操作,当对象之间的映射关系是多对多或是一对多的情况下,不能够完成级联的操作
解决方式:暂时没有解决
17、报SQL语句的执行错误,有可能是SQL语句拼写错误,有可能是连接已经关闭
18、PDF格式的文件修改之后再次打开会有错误消息框弹出,消息显示为:
解决方式:
更改PDF文件中修改过的文字编码格式
19、XPP3 pull parser library not present. Specify another driver. For example: new XStream(new DomDriver())
解决方式:读取文件时需要指定XML文件的解析方式
XStream xstream= new XStream (new DomDriver ());
20、URL url = XStreamUtil.class.getClassLoader ().getResource ( "XX.xml" );
String configFilePath = FileHandle.getPathFromUrl ( url );
XMLWriter writer = new XMLWriter ( stream, format );
writer.write ( DocumentHelper.parseText ( xml ) );
通过此种方式获得路径并且往对应文件添加内容时不能够成功
解决方式:
原因:此种方式获得到的路径只有在网络中运行才会有效,将路径改为普通情况下的路径值
21、网站部署到服务器之后, 因为编码格式出现乱码
解决方式:修改RedHat5中locale编码,该编码需与你所部署应用程序采取的编码一致
将/etc/sysconfig/i18n里面的设定改为LANG="zh_CN.GBK"
并且在/etc/profile加入
export LANG="zh_CN.GBK"
export LANGUAGE="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
export LC_CTYPE="zh_CN.GBK"
然后sh /etc/sysconfig/i18n;sh /etc/profile
重新登陆,问题解决
说明:只是简单的 export LANG="zh_CN.GBK",重启RedHat后无效
22、linux系统中部署的项目使用weblogic启动时出现了进程的占用情况导致后续操作不能够正常的继续
解决方式:
查询出进程:ps –ef|grep weblogic
杀进程:kill -9|进程编号(PID)
23、
java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
原因:缺少commons-logging.jar包
24、
警告: No connection properties specified - the user must supply JDBC connections
原因:HibernateUtil类中的sessionFactory = new AnnotationConfiguration().buildSessionFactory();更改为sessionFactory = new AnnotationConfiguration().configure ().buildSessionFactory();
25、
java.lang.NoClassDefFoundError:org/apache/commons/collections/LRUMap
原因:缺少commons-collections.jar架包
26、java.lang.NoClassDefFoundError: antlr/ANTLRException
原因:缺少antlr-2.7.6.jar架包
27、注意Hibernate中使用Annotation执行增删改的操作导入的事务为org.hibernate.Transaction;
28、
java.lang.NoClassDefFoundError:org/apache/commons/fileupload/RequestContext
原因:没有导入commons-fileupload-1.2.1.jar
29、java.lang.NoClassDefFoundError: freemarker/template/SimpleHash
原因:没有导入freemarker2.3.16.jar
30、 struts2+json+jQuery整合时所必须添加的架包及可能出现的问题
http://www.360doc.com/content/11/0708/14/1485725_132333029.shtml#
31、struts2中的表单提交时不论对应的方法是否涉及到对应的表单文本值,表单文本框对应的值都会与ActionForm中对应的属性进行赋值的操作,因此可能会因为数据类型不同而报错,所以一般要给默认值或是将ActionForm中的数据类型设置为String类型
32、
java.lang.InstantiationException:org.apache.struts2.dispatcher.Dispatcher
原因:web.xml的配置文件配置错误,注意struts2在web.xml中配置的是一个过滤器,filter-class值org.apache.struts2.dispatcher.FilterDispatcher
33、Spring3.0中的创建JdbcTemplate对象时,所需要的DataSource类型的参数,该DataSource处于javax.sql.DataSource中
34、
java.lang.ClassNotFoundException:org.apache.commons.dbcp.BasicDataSource
原因:缺少架包commons-dbcp-1.1.jar和commons-pool-1.1.jar
35、
如果spring.xml文件中没有写<context:component-scan base-package="com" />,在使用注释创建对象的时候就不会成功,回报null异常错误,这段代码的意思是:启动 Spring 的自动扫描功能,自动创建对象
36、spring.xml文件中的<jee:jndi-lookup id="dataSource" jndi-name="springTestJDBC" />是配置数据源,jndi-name="springTestJDBC"对应着weblogic中的数据源名称JNDI Name
37、在Spring的配置文件添加了事务之后,注意要使用对应的接口才行,尤其是在action中调用对应service中的方法时,属性必须使用service对应的接口, service中的类必须实现对应的接口,否则可能会出现创建对象的错误
38、spring的事务控制,注意不同的数据库之间有些可能会不支持Spring对应的事务处理方式
使用annotation:
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven transaction-manager="txManager" />
不使用annotation:
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceT ransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="get*" propagation="REQUIRED" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="servicePoint"
expression="execution(* com.service.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="servicePoint" />
</aop:config>
39、Spring的异常处理
使用annotation:在control中对应的方法前加上@ExceptionHandler(value = { 异常类(多个异常类之间使用逗号隔开)})
使用配置文件:<tx:method name="save*" propagation="REQUIRED" rollback-for="异常类型" />
40、使用Spring的jdbctempl操作数据时有三种类型的Template,为
JdbcTemplate:
SimpleJdbcTemplate:
NamedParameterJdbcTemplate:
它们操作生气了语句时可以使用占位符(?),使用参数(:参数名称)等等
可以使用数据库中的存储过程(普通的存储过程)
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.setResultsMapCaseInsensitive(true);
SimpleJdbcCall procReadActor =new SimpleJdbcCall(jdbcTemplate) .withProcedureName("read_actor");
可以使用数据库中的存储过程(含有输入输出参数的存储过程)
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.setResultsMapCaseInsensitive(true);
SimpleJdbcCall procReadActor =new SimpleJdbcCall(jdbcTemplate)
.withProcedureName("read_actor")
.withoutProcedureColumnMetaDataAccess()
.useInParameterNames("in_id")
.declareParameters(new SqlParameter("in_id", Types.NUMERIC),
new SqlOutParameter("out_first_name",Types.VARCHAR),
new SqlOutParameter("out_last_name", Types.VARCHAR),
new SqlOutParameter("out_birth_date", Types.DATE)
);
使用数据库中的方法:
SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(dataSource);
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
jdbcTemplate.setResultsMapCaseInsensitive(true);
SimpleJdbcCall funcGetActorName =new SimpleJdbcCall(jdbcTemplate)
.withFunctionName("get_actor_name");