java项目问题

 

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")

 

14、org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]:

              解决方式:

        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");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值