`

java 编程中常见的错误

 
阅读更多

Java编程中常见的错误有哪些?

sql错误

找不到列
Unknown column
fillMen in field list

2.列名在sql语句中写了2
Column
fillMan specified twice

3.下面2数据库插入对应的列都是int类型的所插入的数据类型不符合要求时报错
Data truncated for column
gatheringMoney at row 1

Data truncation: Out of range value adjusted for column amount at row 1

4.
Mixing of GROUP columns (MIN(),MAX(),COUNT(),
) with no GROUP columns is illegal if there is no GROUP BY clause

5.修改一个表时无法取得同一个表的数据
ERROR 1093 (HY000): You can
t specify target table context for update in FROM
clause

6.主键未自动增长
ERROR 1062

7.int 类型字符过长
com.mysql.jdbc.exceptions.MySQLDataException:
2.5026744582E10 in column 1 is outside valid range for the datatype INTEGER.

8.没找到错误没影响数据读取
java.sql.SQLException: Operation not allowed after ResultSet closed

9.类型错误最常见的是数字类型错误
Data truncated for column
gatheringMoney at row 1

10.换另一个项目时数据库连接池没换(未解)
Name java: is not bound in this Context
换了之后似乎还是不行
=====
java:/comp/env/jdbc/ConnSqlSer
前面多了一个/
应为java:comp/env/jdbc/ConnSqlSer
=======
11.\
(未解)
java.sql.SQLException: QueryRunner requires a DataSource to be invoked in this way, or a Connection should be passed in

12.executeQuery()方法改成execute()(未解)
Can not issue data manipulation statements with executeQuery().

Can not issue data manipulation statements with executeQuery().

struts错误

Failed to obtain specified collection 下拉框没值
警告: No FormBeanConfig found under yuanLiaoRuKuForm配置文件Form出错

Cannot find bean: org.apache.struts.taglib.html.BEAN in any scope
< html:text >
标签外面没有嵌套<html:form >标签

No getter method for property: outDate of bean: com.System.storage.form.YuanliaoPandianForm
form里面没有定义此字段的get方法

Cannot get a connection, pool error Timeout waiting for idle object 数据库错误

Operation not allowed after ResultSet closed 可能是结果集关闭了

//Action里面调用的DAO没有进行重新实例化
2008-5-12 20:02:09 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
2008-5-12 20:02:09 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.System.storage.action.FinishedAction.finishedCheckAdd(FinishedAction.java:151)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

//C标签里从一个对象里取值时所请求的是对象里没有的属性
An error occurred while evaluating custom action attribute
value with value ${rows.storageAmount}: Unable to find a value for storageAmount in object of class com.System.storage.domain.Finished using operator . (null)

forward 转向连接到了一个还没开始写的action里面而那个action所对应的jsp页面还没改
Resources cannot be null.

找不到下面这个action
Cannot retrieve mapping for action /finished/finishedChuKuSearch
Cannot retrieve mapping for action /purveyAdd
如果把jsp页面的action写错了就这样报

/jspfinance/client/ShouKuanJiLu_Sel.jsp(172,0) The end tag </html:form is unbalanced

类型转换错误一般是参数类型写错在公共方法或者配置文件里面找
com.System.finance.client.form.GatheringForm cannot be cast to com.System.finance.client.form.InvoiceForm

struts标签里面写进了html标签内的属性
/jspclient/KeHuDangAn_Ins.jsp(44,88) equal symbol expected
/jspfinance/client/TuiHuanHuo_Ins.jsp(70,42) quote symbol expected
/jspstorage/material/YuanLiaoChuKu_Ins.jsp(84,31) equal symbol expected
org.apache.jasper.JasperException: /scDept/dingDanXinZeng.jsp(333,167) equal symbol expected

jsp页面上action写错了
Cannot retrieve mapping for action /finished/finishedCheckAdd

配置文件出错
The content of element type
action-mappings must match (action)*.

java常见错误以及可能原因集锦

2008-07-08 15:550需要标识符
a)
不在函数内

1非法表达式开始
b)
可能:丢失括号 .

2. no data found
a)
可能:setInt(1,100),没有100这个值

3. 找不到符号
a)
可能:没导入包

4. 指定了无效URL
a)
可能:数据库名或IP错误,即连接出错

5. 类路径没有找到
a)
可能: ClassNotFoundException: oracle.jdbc.driver.OracleDriver
b)
原因: 一般是指包名写错,或者没有import,或者没有在类路径中找到jar文件
c)
解决: 没有加载Oracle驱动jar,.bash_profile中把ojdbc14.jar加进来

6. 空指针异常
a)
可能: 数据源错误比如数据库名或IP错误

7. 不能执行查询
a)
可能: 数据库中表的问题,比如列名不存在

8. invalid identity
a)
可能: 列名出错

9. 若在数据库中创建了两个sequence ,运行时出现异常可能是先后执行了多次select语句,导致与原有的序列号产生冲突

10. 表名或列名不存在
a)
可能:表不存在或者没有插入数据到表中

11. 不支持的类,类的版本错误
a)
可能:没有导入jdk5.0,或者编译器仍为1.4

12. MappingNotFoundException
a) Maybe: In the Eclipse Not refersh , or not exist in the dirctory

13. HibernateException: /hibernate.cfg.xml not found
a) Maybe1: hibernate.cfg.xml not in the root directory
b) Maybe2: Could not parse configuration .
c) resolve: database not connect or use another database

14. ConstraintViolationException
a) Maybe: used a not true database

15. 驱动没有找到或者 JDBC Driver not found
可能:连接数据库的驱动jar包不存在或者版本不一致,比如将旧的版本换成新的会造成该类错误
16.
空指针异常 java.lang.NullPointerException
a)
可能1:数据库连接出错,比如在hibernate.cfg.xml中的数据错误会导致异常。

17. 数据插入异常GenericJDBCException: could not insert
a)
可能1:没有建立表或者表中没有任何数据
b)
可能2:插入数据后没有执行提交语句:commit

18. LazyInitializationException 或者延迟加载异常
a)
可能1:没有在查询语句中加fetch

19. IdentifierGenerationException
a)
可能1:高位表没有初始化(比如hi_value中没有记录)

20. could not initialize a collection: [hibernate.entity.Role.modules#32768] Syntax error: Encountered - at line 1, column 132.
a)
错误原因:><set name=modules table=module-role lazy=false>红色字部分中-为非法字符,替换为module_role

21. could not insert collection rows: [hibernate.entity.Module.roles#1]
Module.hbm.xml文件的如下配置中加入inverse=true
<set name=
roles table=module_role inverse=true>

22.在部署Struts时,出现如下错误信息:
HTTP Status 404
Servlet action is not available

type Status report
message Servlet action is not available
description The requested resource (Servlet action is not available) is not available.
问题原因:
1.
web.xml文件中未配置ActionServlet
2
struts-config.xml文件未配置你要访问的Action
3
、你的jsp文件form标记中action属性的路径名称错误。
4
、非以上三种情况。
针对以上4种情况相应的解决方案如下:
1
、在web.xml文件中加上ActionServlet的配置信息
?????? /WEB-INF/struts-config.xml?
?2
、在struts-config.xml文件检查你要访问的Action配置文件。
3
、检查jsp文件form标记中action属性的路径名称是否与struts-config.xml文件中action标记的path属性的路径名称一致。
4
、非以上情况的解决办法就是检查web容器的log日志,如果时tomcat则检查下logs目录下的localhost_log文件,看里边是否记录有错误信息,然后根据错误信息提示将其纠正。

23java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter
缺少spring-framework-2.0.3\lib\jakarta-commons\commons-beanutils.jar

24.
ava
代码Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type
缺少spring-framework-2.0.3\lib\asm\asm-2.2.2.jar,版本不同,该包的名字有相应的区别

java 代码Caused by: java.lang.NoClassDefFoundError: org/dom4j/DocumentException
缺少spring-framework-2.0.3\lib\dom4j\dom4j-1.6.1.jar,版本不同,该包的名字有相应的区别
把这个包进去就可以了:\Spring206\lib\dom4jdom4j-1.6.1.jar

java 代码Caused by: java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
缺少spring-framework-2.0.3\lib\jakarta-commons\commons-collections.jar,版本不同,该包的名字有相应的区别

java 代码Caused by: java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
缺少spring-framework-2.0.3\lib\cglib\cglib-nodep-2.1_3.jar,版本不同,该包的名字有相应的区别

java 代码Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
缺少hibernate-3.2\lib\asm.jar,版本不同,该包的名字有相应的区别

java 代码
org.hibernate.exception.SQLGrammarException: could not load an entity: [www.proudsoul.xml.User#1]
JAVA
工程与WEB工程包的区别:一个是asm.jar,一个是jta.jar

java 代码Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
缺少spring-framework-2.0.3\lib\j2ee\jta.jar,版本不同,该包的名字有相应的区别此种错误请检查相应的***.hbm.xml配置文件的配置

25,
Exception in thread
main org.springframework.dao.InvalidDataAccessResourceUsageException: could not get next sequence value; nested exception is org.hibernate.exception.SQLGrammarException: could not get next sequence value
Caused by: org.hibernate.exception.SQLGrammarException: could not get next sequence value
原因:没有加Sequence或者数据库的方言写错了

26,
我的配置文件
<id name=
id column=id>
<generator class=
native />
< /id>
然后我运行保存一条数据进去
The database returned no natively generated identity value
就会报这个错误
因为你native是根据看底层数据库的能力选择identity, sequence 或者hilo中的一个
而我建表的时候id没有指定
alter table `student` change `id` `id` int auto_increment
我们把我们的表的结构小小的改动一下就没问题了

27,
UpdateManager
无法启动2007-08-09 15:21如果在应用程序安装过程中,暴力中断安装程序,会出现如下状况:1.apt-get remove dpkg remove 无法删除软件 2.UpdateManager无法启动3.新立得软件包管理程序无法启动
以上可能是deb损坏之类造成的
sudo dpkg -r sqldveloper
正在读取软件包列表完成
正在分析软件包的依赖关系树完成
E:
软件包 sqldeveloper 需要重新安装,但是我无法找到相应的安装文件。
解决方法:1. /var/lib/dpkg/status 中把对应的段删掉
重要:修改之前请先备份
status中找到你对应的包删除就OK

28,
Exception in thread
main java.lang.NoClassDefFoundError: antlr/ANTLRException
少了antlr-2.7.5H3.jar,D:\eclipse\eclipse\plugins\com.genuitec.org.hibernate.eclipse_4.1.1\myeclipse-data\3.0\lib

29,
Caused by:
java.lang.NoClassDefFoundError: javax/transaction/Synchronization
缺少Spring206\lib\j2ee\jta.jar

30,
Caused by:
java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy3] to required type [business.impl.PriceBiz] for property
priceBiz: no matching editors or conversion strategy found
java类中设置priceBiz时应该设置的是接口PriceBizIf,而非实现类

31, 数组越界
可能1: 在命令行后面需要加入参数.
可能2:加入的参数错误
32, car is not mapped
可能1: cfg.xml中没有增加映射的hbm.xml文件在<mapping/>

33, 属性没有找到
可能1: hbm.xml文件中的 <property name ="> 有问题, 也许是name的值与对应类中的成员名不一致

34,SQLException: 无当前连接可能1:在比如创建帐户时没有对相应的方法添加到<list>中去,比如这个没有加入:<value>newAccount</value>

<bean id=transactionAdvisor class=org.springframework.aop.support.NameMatchMethodPointcutAdvisor>
<property name=
advice>
<ref bean=
advice/>
< /property>
< property name=
mappedNames>
<list>
< value>transfer</value>
< /list>
< /bean>

35,SQLException: Syntax error: Encountered table at line 1, column 8.
可能1;执行SQL时出现冲突,可能是SQL语句中使用了关键字作为变量来用,比如
update order set balance=1000000;
其中order被用作表名来使用,这是错误的,因为order是个关键字,用在order by

36, Servlet /Spring-WebMvc threw load() exception
org.xml.sax.SAXParseException: Document root element
beans, must match DOCTYPE root null.
jar
包的冲突,spring-1.2.6.jarspring.jar出现在一个war的目录中:J Boss/server/all/deploy/Spring-WebMvc.war/WEB-INF/lib

37, java.sql.SQLException: 当事务仍处于活动状态时,无法关闭连接。

38 ,
validateJarFile(/home/soft01/Tomcat/webapps/sms-token-struts/WEB-INF/lib/servlet-api.jar)
Servlet /sms-struts-tiles threw load() exception
java.lang.ClassNotFoundException: org.apache.struts.action.ActionServlet
原因:WEB-INF/lib/ 目录下有servlet-api.jar/Tomcat/common/lib目录下的servlet-api.jar冲突了,WEB-INF/lib/下的servlet-api.jar删除就可以了

39,java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn
Marking servlet action as unavailable
10:30:47,088 ERROR [/NetCT_OSS]:3953
Servlet /NetCT_OSS threw load() exception
javax.servlet.UnavailableException

40,org.xml.sax.SAXParseException: Document root element beans, must match DOCTYPE root null.
缺少MyEclipse/eclipse/plugins/com.genuitec.eclipse.springframework_5.5.0/data/2.0/dist/modules/spring-struts.jar

41,Caused by: java.sql.BatchUpdateException: ORA-02291: integrity constraint (SD0702.FK82D343CF49A4B831) violated parent key not found
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
有可能是ID生成策略的问题,我将它XML映射文件改成<generator class=increment />就好了

42,
2007-08-19 16:21:43,290 ERROR [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/OSS].[action]]
Servlet.service() for servlet action threw exception
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [entity.Module#2]
java.util.ConcurrentModificationException
原因:已经有对象拥有了所选择的module,clear(),而不是remove();

43,
ERROR [org.apache.catalina.session.ManagerBase]
IOException while loading persisted sessions: java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297934247726484429
java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297934247726484429
Module中加上一个关键字:transient

44,
Caused by: java.sql.BatchUpdateException: ORA-02292: integrity constraint (SD0702.SYS_C00132664) violated
child record found
原因:有其他的表引用了该表的外建,所以报这个异常,如果没有引用就不会出现

45,
出现数组越界的时候,看看是不是循环时没有加=,比如:
for(int i = 1; i<arr.length;i++)
可以改成
for(int i = 1; i><=arr.length;i++)

46.如果使用AntJunit是被报找不到test,检查一下是否误用了private
出错信息:
<failure message=
No tests found in test.AllTest type=junit.framework.AssertionFailedError>junit.framework.AssertionFailedError: No tests found in test.AllTest
该错误有个很特别的特点,当你不通过ant来运行测试,而是通过AllTest类来运行的话,可以正常运行。小心哦

47.如果遇到报:表名无效,且jvm报严重错误,看看是不是用了数据库的保留关键字来做表名了,如User

48.使用ant时必须小心antclasspath它用的不是IDEclasspath,小心!

49.小心下边的异常,
exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of xp.bean.Users.?
type=net.sf.hibernate.PropertyAccessException>java.lang.ClassCastException at xp.bean.UsersMetaClass1.setPropertyValues(<generated>) at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues
上次出现该错错误的原因是:
源文件里我的class类型为一个类Contact contact
而跑到mapping里却成了Set,呵呵厉害。

50.突然间冒出大量的NullPointException
重新build一下。

51.=Flush during cascade is dangerous this might occur if an object was deleted and then re-saved by cascade

52.Tapestry的出错信息:
Class com.bookshop.Hello does not implement the IPage interface.
location: context:/WEB-INF/Home.page, line 6
原因:与显示有关的哪个java类没有从IPage家族继承。

53.使用ant时给出的路径好象不允许出现空格。

54.由于使用ant时用junit做测试的话,classpath中出现j2ee.jar的话,问题多多。例如xml格式的log文件生成不了,莫名其妙的NullPointException等。所以我设置了两个包个包含j2ee.jar,为编译用;一个没有,junit

55.进行单元测试时,在查询返回后应马上assertNotNull(),这样可以更快速的定位NullPointException

56.要使用ResourceBundle的话,要千万小心。必须用日志记录下它的状态。还有该属性文件应该放在classes下面。

57.当要显示任何页面时,都被提示无效,那么应该检查一下lib目录了,还有一些很奇怪的异常,例如你明明可以找到一个类但是服务器却提示 ClassNotDefException,那么估计是缺少了该类所必须的包了。或者多了不兼容的包,如, xdoclet系列包不被strutslib目录所兼容

58.编写clone时从Java编程思想(2nd)上学到的(732)
.
引数传递过程中会自动产生别名(alias)
.
没有局域对象(local objects),只有局域性的(local)references
.reference
受范围(scope)的限制,对象则否。
.
对象的寿命从来不是Java的讨论议题(因为有垃圾回收机制)

59.try catch finally的域居然是分离的。

60.jsp乱码的其中一个原因:charset=gb2312等号=的两边不允许有空格。

61.我的基于Displaytag的简单报表解决方案。

http://displaytag.sourceforge.net/

下载displaytag.jardisplaytag.tld
displaytag.jar
放在lib目录,而displaytag.tld放在WEB-INF目录,在web.xml中为displaytag.tld声明一下。
<taglib>
< taglib-uri>http://displaytag.org</taglib-uri>
< taglib-location>/WEB-INF/displaytag.tld</taglib-location>
< /taglib>
jsp里使用前,加上
< %@ taglib uri=
http://displaytag.org prefix=display %>

注意该软件有个bug,他要用的一个包common-lang.jar版本必须在2.0以上。
如果碰到下面异常,则应坚持一下是否该包的版本问题。
java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.capitalize(Ljava/lang/String;)Ljava/lang/String;
然后就可放心使用了
<display:column property =
xxx/>其中xxx为对象中的带有getter的变量>
定义表格的样子,用css定义。如
TABLE.its THEAD TR {
BACKGROUND-COLOR: #69c
}
TABLE.its TR.even {
BACKGROUND-COLOR: #def
}
在使用分页时,可能会出现这种情况,点击其他页时,弹出下载窗口,让你下载当前jsp页面,这是因为你在当前页面读取了数据的缘故。解决办法为在action里读取数据而不是在jsp里。可以参考

http://www.displaytag.org/example-paging.jsp?d-26189-p=2

62.使用displaytag时,在一列中放入多个元素
必须在display:table中定义一个id
< display:table name =
allBooks class = its pagesize = 5 id = item>
<display:column title =
操作>
查看
编辑
删除
< /display:column>
要在displaytag中使用链接,必须具备paramId,否则不显示为链接
<display:column property =
product.name href = viewDetailV2.0.jsp title = 书名 paramId=item paramProperty=product.id/>
可以这样使用display
< display:column property =
product.id title = ID/>
其中product为对象

63.<bean:write name = xxxx property = xxx/> 可以直接取到session.getAttribute()取到的东西。

64.实验struts-upload例子时要注意的地方:
1.If you would rather write this file to another file, please check here:
这一行要打钩
2.If you checked the box to write to a file, please specify the file path here:
在这里要重命名如:c:\b.jpg
上传成功的话,会出现提示 The file has been written to c:\b.jpg

65.Hibernatelike可以这么用:
Query query = session.createQuery(
from src.persistent.Book as book where upper(book.name) like :name );
query.setString(
name, %);
result = query.list();

66.Hibernate出现 duplicate import : className
异常也可能是因为忘了为持久类在configurationaddClass

67.<logic:iterate id = author name = authors>
name
所引用的是session里的attribute

68.如果发现要出现询问下载的情况,有可能是因为要跳转的页面出现了问题。试试在要跳转到的页删掉
< %@ page contentType=
text/html; charset=gb2312%>

69.如果JSP页面跳转时出现下边的错误信息:
The request sent by the client was syntactically incorrect (Invalid path /web/shoppingCart was requested).
原因是struts-configaction = x写成了 action = x.do

70.struts中,strut-config.xml中,forward时使用redirect = true可以将.do重定向为.jsp

71.以后在判断相等性之前先用logger把两个值显示出来。

72.sessiongetAttribute后,修改并不需要重新setAttribute一次。

73.hibernate中使用subclass是一棵继承树共用一个表,仅生成个mapping
每个类中必须有discrimator-value。在最上层的类中必须声明:
@hibernate.discriminator column =
class
不可以将子类添加到configuration里去。(即不可addClass(子类))
使用Xdoclet的建立subclass的例子(该类是父类)
/**
* @hibernate.class discriminator-value =
customer
* @hibernate.discriminator column =
class
*/

而使用joined-subclass则是一类一表,也不许将子类添加进configuration里去。
/**
* @hibernate.joined-subclass
* @hibernate.joined-subclass-key
* column=
customer_id
*/
如果发现生成的mapping文件中joined-subclasskey column为空,那么可能是@hibernate.joined-subclass-key这句没有写对。
joined-subclass生成的表,仔细看。Member extends Customer
create table Customer (
id VARCHAR2(255) not null,
name VARCHAR2(255),
description VARCHAR2(255),
primary key (id)
)
create table Member (
customer_id VARCHAR2(255) not null,
password VARCHAR2(255),
primary key (customer_id)
)

74.junit中尽量使用assertEquals代替assertTrue;

75.Hibernate
如果Child extends Parent
那么from Parent as parent 也将会将Child选出来,而from Child as child 则不会选出Parent

76.Hibernate
使用hibernateone-to-one时,应该两方向都set,否则会报save NullPointException
parent.setChild(child);
child.setParent(parent);

77.Hibernate
遇到下边的异常,估计是与因为外键出现了问题:

java.lang.NullPointerException
at net.sf.hibernate.persister.AbstractEntityPersister.getPropertyValue(AbstractEntityPersister.java:675)
at net.sf.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:33)
:
* @hibernate.id generator-class =
foreign
* @hibernate.generator-param name =
property value = customer
* @hibernate.one-to-one name =
custmoer class = src.persistent.Customer
value
的值和one-to-one name的值不符,则会出现上边的异常。如果不显示指定name则默认取成员变量名

Customer a
name = a需要小心的是不是类名。所以,以后最好显示指定名字为好。

78.出现异常:
Exceptionobject references an unsaved transient instance
save the transient instance before flushing: src.persistent.Product
原因没有为某对象进行set设置,如上边的这个就是某对象没有调用setProduct

79.
xxx action = /a不用.do和根目录名

80.
Caused by: java.sql.SQLException: ORA-02291:
违反完整约束条件 (BOOKSHOP.FK4AAEE
47687CCA6B)
未找到父项关键字
如果你觉得该做的e是出现这个问题,那么检查一下,是否将类的继承关系在hibernatemapping中反映了出来。joined-subclasssubclass
例如a extends b
如果持久类c 需要Set的是持久类a,那么你把b传入,而b又没有在mapping中将父子关系反映出来的话,就会出现该异常

81.使用DynaActionForm需要注意的问题
struts-config声明
><form-bean name=
memberloginForm dynamic =true type=org.apache.struts.action.DynaActionForm>
<form-property name =
name type = java.lang.String/>
<form-property name =
password type = java.lang.String/>
< /form-bean>
Action里将form强制转化成DynaActionForm,然后get(属性名)就可以了

82.strutsvalidate最简单实现
1.
首先准备好错误提示信息。
xxx.properties

errors.required={0} is required.(
默认已有)
2.Form
必须从ValidatorForm继承
3.
不可以重载ValidatorFormvalidate函数
4.
validate.xml中为你想验证的表单进行验证设计。例如
<form name=
logonForm>
<field property=
userName depends=required>
<arg0 key=
prompt.userName/>
(
该参数将在显示错误信息是从xxx.properties读取prompt.userName,填入{}方括号里,取代0。如果是arg1将将填入{1}位置,以此类推。
< /field>
< /form>
不需要在action里做任何处理。只管forward就行了。作为forward的目标页,不需要任何有关用于处理出错信息的处理。

83.服务器报
The requested resource (/xxxx/xxx.htm) is not available.
的很奇怪的一个的可能原因
web.xml中定义的tld,没有找到
或者是lib目录下的包太多出现了问题。

<taglib>
< taglib-uri>/spring</taglib-uri>
< taglib-location>/WEB-INF/spring.tld</taglib-location>
< /taglib>
WEB-INF目录下不存在spring.tld的话,就会报上边的错误

84.
spring
xxx-servlet.xml的使用SimpleFormController系列的类问题:
<bean id =
priceIncreaseForm class=PriceIncreaseFormController>
<property name=
sessionForm><value>true</value></property>
< property name=
beanName><value>priceIncrease</value></property>
< property name=
commandClass><value>PriceIncrease</value></property>
< property name=
formView><value>priceIncrease</value></property>
< property name=
successView><value>hello</value></property>
< property name=
productManager>
<ref bean=
prodMan/>
< /property>
< /bean>
这里要注意几个问题:
(1)
上边的PriceIncrease是了类名,必须在classes里存在该类,否则报:
PropertyVetoExceptionsException: 1 errors:
ErrorCodedPropertyVetoException: message=[Failed to convert property value of type [java.lang.String] to required type [java.lang.Class] for property named commandClass; nested exception is:
java.lang.IllegalArgumentException: Invalid class name [PriceIncrease]: PriceIncrease]; errorCode=[typeMismatch]
java.lang.IllegalArgumentException: Invalid class name [PriceIncrease]: PriceIncrease
(2)<property name=
formView><value>priceIncrease</value></property>
这一行必不可少,priceIncrease是页面的名字,他将会是prefix + priceIncrease + suffix
如果缺少该行,则报:
javax.servlet.ServletException: Error in ModelAndView object or View resolution encountered by servlet with name
pocketSpring: View to render cannot be null with ModelAndView [ModelAndView: materialized View is [null]; Model=[{priceIncrease=PriceIncrease@148e798, org.springframework.validation.BindException.priceIncrease=org.springframework.validation.BindException: BindException: 0 errors}]]

使用ErrorsrejectValue相关问题:
rejectValue(java.lang.String field, java.lang.String errorCode, java.lang.Object[] errorArgs, java.lang.String defaultMessage)
Reject the given field of the current object, using the given error description.
当前对象指的是xxx-servlet.xml中与validator类有联系的哪个对象。

第一个是:当前对象的属性名,必须存在
第二个是:将要从属性文件中读取的消息
第三个是:传递给所读取的消息的参数,如:
error.too-low=You have to specify a percentage higher than {0}!
第四个是:当从属性文件中读取消息不成功时,所reject的值

以后从request中读取parameter可以借用springRequestUtils包里的
getStringParameter
public static java.lang.String getStringParameter(javax.servlet.http.HttpServletRequest request,
& bsp; java.lang.String name,
java.lang.String defaultVal)
Get a string parameter, with a fallback value. Never throws an exception. Can pass a distinguished value to default to enable checks of whether it was supplied.
不会抛异常
Hibernate
的问题:2.1rc的问题
INFO: cache provider: net.sf.ehcache.hibernate.Provider
net.sf.hibernate.HibernateException: could not instantiate CacheProvider:
解决办法,2.1rc比以前的版本多需要一个包
ehcache.jar

85.static的问题
static
函数只可以访问static成员变量。
static变量可以被任何成员函数访问。

86.
java.lang.NoClassDefFoundError: javax/transaction/Synchronization];
需要添加JTA.jar

 

分享到:
评论

相关推荐

    Java 编程 :常见问题汇总

    在Java编程中,经常需要处理字符串连接的问题。对于循环中的字符串拼接,使用`StringBuilder`或`StringBuffer`比简单地使用`+`操作符更高效。这是因为每次使用`+`操作符时都会创建一个新的字符串对象,而在大量迭代...

    Java编程的逻辑

    15. **设计模式**:23种经典设计模式是解决常见问题的最佳实践,如工厂模式、单例模式、观察者模式等,它们在Java编程中广泛应用。 通过学习和实践这些Java编程的逻辑,开发者能够创建出高效、可靠且易于维护的软件...

    Java业务开发常见错误.zip

    总之,这个压缩包提供了一个全面的学习资源,涵盖了Java业务开发中的多个关键方面,旨在帮助开发者避开常见错误,提升编程技巧,优化业务逻辑,从而提高软件质量和可靠性。通过深入学习和实践这些知识点,开发者能够...

    总结java编程中的经验教训

    以下是从给定文件中提炼出的几个重要知识点,它们涵盖了Java编程中常见的陷阱、最佳实践以及错误处理策略。 ### 1. 抽象类与接口的正确使用 在Java中,抽象类和接口都是用于定义抽象行为的重要工具。然而,它们的...

    java编程十大低级错误

    Java编程中的低级错误是开发者在编码过程中容易犯的一些常见失误,这些错误往往会影响代码的可读性、可维护性和程序的稳定性。以下是对标题和描述中提到的十大低级错误的详细解释: 1. **命名不规范**:命名应该...

    最全的资源-Java编程的逻辑

    Java编程的逻辑是软件开发领域中的核心概念,它关乎如何用Java语言来构造高效、可维护的程序。在这个最全的资源中,我们能够深入理解Java编程的基本原理和高级技巧,帮助开发者提升技能水平。 首先,Java编程的基础...

    Java编程语言的计算机软件开发应用.pdf

    在计算机软件开发过程中,Java编程语言使用了多种相关技术,其中包括数据库连接技术、远程调用技术和注解标记技术。Java中的JDBC(Java Database Connectivity)技术规范了应用程序与数据库之间的接口,并实现了数据...

    华为JAVA编程规范、编程军规

    4. **错误处理**:《JAVA十大低级错误.doc》中可能涵盖了一些常见的编程错误,如空指针异常、数组越界、类型转换异常等。华为规范强调应正确使用异常处理机制,避免使用空catch块。 5. **资源管理**:对于数据库...

    java 反模式 卷3 pdf

    《Java 反模式 卷3》是一本深入探讨Java编程中常见错误做法的书籍,旨在帮助开发者识别并避免这些可能导致程序效率低下、可维护性差的编程习惯。书中的反模式涵盖了许多Java开发的关键领域,如设计、架构、并发以及...

    More Java Pitfalls中文版

    《More Java Pitfalls》是一本深入探讨Java编程中常见错误和陷阱的专业书籍,旨在帮助开发者避免这些潜在的问题,提升代码质量。这篇博文是该书内容的中文版,提供了丰富的实例和解析,帮助读者理解并解决Java编程中...

    java编程200例(附:JAVA文档完全解读中文版)

    Java编程语言是面向对象的、跨平台的编程语言,由Sun Microsystems公司于1995年推出,目前广泛应用于各种领域,如Web开发、移动应用、企业级应用、大数据处理等。"Java编程200例(附:JAVA文档完全解读中文版)"是一...

    编程语言java常见错误.pdf

    标题《编程语言java常见错误.pdf》意味着本文档将讨论在使用...整体而言,文档将为读者提供关于Java编程中常见的错误情况及其对应的处理策略,以及一些有关Java基础知识点的回顾,对Java开发人员来说是实用的技术参考。

    java 反模式 卷2 pdf

    《Java 反模式 卷2》是一本深入探讨Java编程中常见错误做法的书籍,旨在帮助开发者避免在项目中重蹈覆辙,提高代码质量和可维护性。书中的反模式涵盖了J2EE(Java 2 Platform, Enterprise Edition)开发、Java核心...

    java编程逻辑

    在"Java编程逻辑"中,读者可以期待学习以下关键知识点: 1. **基础语法**:包括变量、数据类型、运算符、流程控制(如条件语句if/else,循环for/while,switch),以及函数的定义和调用。 2. **类与对象**:Java的...

    java常见错误列表

    在Java编程中,遇到各种各样的错误是不可避免的。为了帮助初学者更好地理解并解决这些问题,本文将详细介绍一些常见的Java错误及其原因,并提供解决方案。 #### 一、编译错误:找不到符号 (Cannot find symbol) **...

    java常见的面试编程题

    本压缩包文件包含了一系列常见的Java编程题目,旨在帮助学习者巩固基础,提高解决问题的能力。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,通过不断交换相邻的逆序元素来逐步完成排序。在Java中,可以使用...

    java 编程思想java初学

    《Java编程思想》是Java初学者的一本经典教材,它以其深入浅出的讲解和丰富的实例,深受读者喜爱。本书全面覆盖了Java的基础知识,包括语法特性、面向对象编程概念、异常处理、集合框架、多线程、网络编程等多个方面...

    审查Java代码的十一种常见错误

    ### 审查Java代码的十一种常见...以上四个案例覆盖了Java编程中常见的几个陷阱,通过遵循最佳实践和了解语言特性,可以有效地避免这些问题,提高代码质量。接下来的几节将继续介绍更多常见的Java代码错误及其解决方法。

    Java编程 100例

    Java编程是计算机科学领域中一个重要的分支,尤其在企业级应用开发中占据主导地位。"Java编程100例"这个资源很可能包含了丰富的实例,帮助学习者深入理解Java语言的各种特性和应用场景。以下是对这些知识点的详细...

    java编程艺术源代码

    《Java编程艺术》是Java程序员的一本经典读物,作者高永强深入浅出地讲解了Java编程的各种技术和技巧...书中每个章节的代码实例都对应了特定的知识点,读者可以通过运行和调试这些代码,亲身体验和学习Java编程的魅力。

Global site tag (gtag.js) - Google Analytics