黑马程序员技术交流社区

标题: 学习框架的Bug之一二 [打印本页]

作者: 1947037914    时间: 2017-11-11 23:32
标题: 学习框架的Bug之一二
最近学习框架总遇到问题,为了以后同行初学者不跟我一样多走弯路,看看也是蛮好的。
1、MappingException:Unknown entity:domain.annotation.Order
原因:hibernate.cfg.xml中关于实体的映射没配置好
解决办法:在hibernate.cfg.xml配置如下
如果是注解开发:<mapping class="domain.annotation.Order"/> 
如果是配置hbm: <mapping resource="domain/annotation/Customer.hbm.xml"/>
2、org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: domain.annotation.Customer
原因:在一对Hibernate一对多的关系映射中没有配置级联cascade,级联保存出错
解决办法:
如果是注解开发:在PO类中添加注解
如果是配置hbm:在Customer.hbm.xml中配置   
3、org.hibernate.QueryException: Space is not allowed after parameter prefix ':' [from Order where id>: myid order by id desc]  
原因:hql查询语句错误>:myid之间不可以有空格
4、java.lang.ClassCastException: org.hibernate.hql.internal.ast.tree.SqlNode cannot be cast to org.hibernate.hql.internal.ast.tree.PathNode
原因:hql的投影查询order是关键字String hql = "select new Order(name,address) from Order";
解决办法:加上包名String hql = "select new domain.annotation.Order(name,address) from Order";
5、org.hibernate.HibernateException: No CurrentSessionContext configured!
原因:没有配置<property name="hibernate.current_session_context_class">thread</property>
6、org.hibernate.SessionException: Session was already closed
原因:Session重复关闭,主要指currentSession。
解决办法:检查事务提交前后有没有手动关闭Session。session.close()

Struts2的Bug之一二
(1)Unable to load configuration.
Caused by: com.opensymphony.xwork2.config.ConfigurationException: Parent package is not defined: strust-defaule
解决办法:找到strus.xml配置文件,修改成正确的配置<package name="" namespace="" extends="strust-default">
(2)
Messages:        There is no Action mapped for namespace [/] and action name [lg] associated with context path [/demo].
原因:struts2框架注解开发未检测到Action,Action不在action,actions,struts,struts2这样的的包下。
解决办法:
1、改包名
2、配置<constant name="struts.convention.package.locators" value="包名"/>
(3)HTTP Status 404 - /springtest/customer/findAllCustomer
原因:在web.xml中缺少配置org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.
(4)找不到Action
原因:.java没有被tomcat编译成.class,可能eclipse崩盘。
解决办法:重新创建一个eclipse的工作空间,或者将原来eclipse工作空间下的文件夹删除。
Struts2的Bug之一二
1、javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
原因:发送或者接收邮件的时候,邮箱服务器没有开启。
解决办法:开启邮箱,后再进行邮件的发送与接收。
2、javax.el.PropertyNotFoundException: Property 'pruduct' not found on type com.itheima.domain.CartItem
原因:在jsp文件中,CarItem的属性名输入错误
解决办法:在jsp中ctrl+f快捷键找到所有“pruduct”,将其改为CarItem中正确的属性名
org.apache.jasper.JasperException: /jsp/order_info.jsp (line: 3, column: 64) The JSP specification requires that an attribute name is preceded by whitespace
WEB的Bug之一二
1、javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
原因:发送或者接收邮件的时候,邮箱服务器没有开启
解决办法:开启邮箱,后再进行邮件的发送与接收
2、javax.el.PropertyNotFoundException: Property 'pruduct' not found on type com.itheima.domain.CartItem
原因:在jsp文件中,CarItem的属性名输入错误。
解决办法:在jsp中ctrl+f快捷键找到所有“pruduct”,将其改为CarItem中正确的属性名。

作者: 林熙奕    时间: 2017-11-12 12:57
大神,膜拜!!!
作者: 小皖妹妹    时间: 2017-11-13 16:22
用心总结了,棒棒哒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2