我是靠谱客的博主 光亮钢铁侠,最近开发中收集的这篇文章主要介绍实际开发常见错误,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实际开发常见错误

1、 绑定错了对象导致attempted to delete null:

现象:在页面中删除对象失败

原因:在DAO的remove方法中

public void reomveSight(Long[] sightid) throws SightException

{

for(int i=0;i<sightid.length;i++)

super.removeObject(TtourInfo***.class,sightid[i]);

}

绑定错了对象,导致attempted to delete null错误。



2、 在一对多的前提下删除的时候不能级联删除子表中的数据:

现象:删除的时候不能级联删除子表中的数据导致报外键引用的错误。

解决方法:sight景点与image图片是一对多的关系,sight的hbm.xml配置文件原来在配置图片时是:

<!-- bi-directional one-to-many association to TtourInfoImage -->

<set

name="ttourInfoImages"

lazy="true"

inverse="true"

cascade="none"

>

<meta attribute="field-description">

@hibernate.set

lazy="true"

inverse="true"

cascade="none"

@hibernate.collection-key

column="COMPANY"

@hibernate.collection-one-to-many

class="com.strongit.tour.bo.TtourInfoImage"

</meta>

<key>

<column name="SIGHTID" />

</key>

<one-to-many

class="com.strongit.tour.bo.TtourInfoImage"

/>

</set>

现在改成

<!-- bi-directional one-to-many association to TtourInfoImage -->

<set

name="ttourInfoImages"

lazy="true"

inverse="true"

cascade="all"

>

<meta attribute="field-description">

@hibernate.set

lazy="true"

inverse="true"

cascade="all"

@hibernate.collection-key

column="COMPANY"

@hibernate.collection-one-to-many

class="com.strongit.tour.bo.TtourInfoImage"

</meta>

<key>

<column name="SIGHTID" />

</key>

<one-to-many

class="com.strongit.tour.bo.TtourInfoImage"

/>

</set>

就可以了。



3、 景区dao配置文件错误

错误描述:

Error registering

bean with name

'tour.scenicArea.sceneryAreaDao'

defined in ServletContext resource

[/WEB-INF/config_ext/applicationContext-tour-sceneryarea-dao.xml]:

Bean class

[import com.strongit.tour.scenicArea.dao.impl.SceneryAreaDaoImpl]

not found;

nested exception is java.lang.ClassNotFoundException:

import com.strongit.tour.scenicArea.dao.impl.SceneryAreaDaoImpl

解决方法:

applicationContext-tour-sceneryarea-dao.xml 中

class="com.strongit.tour.scenicArea.dao.impl.SceneryAreaDaoImpl"

写成了

class="import com.strongit.tour.scenicArea.dao.impl.SceneryAreaDaoImpl"



4、 景点配置文件错误

org.springframework.beans.factory.BeanCreationException:

Error creating bean with name

'tour.service.isightService'

defined in ServletContext resource

[/WEB-INF/config_ext/applicationContext-tour-sight-service.xml]:

Can't resolve reference to bean

'tour.service.sightService'

while setting property 'target';

nested exception is org.springframework.beans.factory.BeanCreationException:

Error creating bean with name 'tour.service.sightService'

defined in ServletContext resource [/WEB-INF/config_ext/applicationContext-tour-sight-service.xml]:

Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException:

Invalid property 'sightDao' of bean class [com.strongit.tour.scenicArea.service.impl.SightServiceImpl]:

Bean property 'sightDao' is not writable or has an invalid setter method:

Does the parameter type of the setter match the return type of the getter?

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tour.service.sightService' defined in ServletContext resource [/WEB-INF/config_ext/applicationContext-tour-sight-service.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sightDao' of bean class [com.strongit.tour.scenicArea.service.impl.SightServiceImpl]: Bean property 'sightDao' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?

org.springframework.beans.NotWritablePropertyException: Invalid property 'sightDao' of bean class [com.strongit.tour.scenicArea.service.impl.SightServiceImpl]: Bean property 'sightDao' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?

错误原因:

在com.strongit.tour.scenicArea.service.impl.SightServiceImpl类中没有对sightDao添加set属性。



5、 修改时没有提交值

缺少<html:hidden property="sceneryareaid"></html:hidden>来绑定id的值。



6、 初始化景点信息出错

org.apache.jasper.JasperException:

/member/tour/sceneryareamanage/sight_edit.jsp(121,7)

According to the TLD attribute property is mandatory for tag text

错误原因:htmltext标记与input标记的属性混用



7、 删除景点报500错

javax.servlet.ServletException:

No bean named '/tour/scenicArea/deleteSightAction' is defined:

错误原因:

在applicationcontext-tour-sight-action中删除的action配置的path

与struts-config-tour-sight中相应的删除配置不相同



8、 加载FORM表单的上传的文件数组元素时报参数错误

错误提示:

IllegalArgumentException --argument type mismatch

解决方法:

在<html:form中加入enctype="multipart/form-data"



9、 使用HQL语句时出错

景点与图片是一对多的关系,现在要从一的景点中找到相应的图片的所有信息。

在daoimpl中



public List querySQLEx(String SqlStr) throws SightException

{

return super.getHibernateTemplate().find(SqlStr);

}



public TtourInfoImage getImagePathToSight(Long sightid) throws SightException

{

return (TtourInfoImage) this.querySQLEx("select TtourInfoImage m where m.ttourInfoSight.sightid="+sightid);

}

在删除的action的调用中

String msg="";

try

{

String [] sightid=request.getParameter("delid").split(",");

try

{

String root = getServletContext().getRealPath("/");

System.out.println(root);

Long [] sightID=new Long[sightid.length];

List fileList=new ArrayList();

for(int i=0;i<sightid.length;i++)

{

sightID[i]=Long.valueOf(sightid[i].trim());

//把图片对象放入临时保存图片的图片路径数组中

fileList.add(sightService.getImagePathToSight(sightID[i]).getImageFile());

System.out.println("原图="+sightService.getImagePathToSight(sightID[i]).getImageFile());

fileList.add(sightService.getImagePathToSight(sightID[i]).getImageBreviry());

System.out.println("缩略图="+sightService.getImagePathToSight(sightID[i]).getImageBreviry());

}

sightService.reomveSight(sightID);//先批量删除景点和与景点有关的图片表的数据

sightService.delImage(root,fileList);//再删除图片表中,与景点相关的图片

msg = "景点删除成功!";

}

catch (Exception e)

{

System.out.println(e.getMessage());

log.info(e.getMessage());

msg = "对不起,在您删除的数据中已有数据被使用,无法删除!";

}

}

catch (RuntimeException e)

{

e.printStackTrace();

msg="在删除景点的过程中出现意外错误!";

}

request.setAttribute("msg", msg);

return mapping.findForward("success");



10、 配置文件错误

nested exception is org.springframework.beans.factory.BeanCreationException:

Error creating bean with name 'tour.service.commodityService' defined in ServletContext resource

[/WEB-INF/config_user/applicationContext-tour-commodity-service.xml]:

Error setting property values;

nested exception is org.springframework.beans.PropertyAccessExceptionsException:

PropertyAccessExceptionsException (1 errors);

nested propertyAccessExceptions are:

[org.springframework.beans.TypeMismatchException:

Failed to convert property value of type

[com.strongit.tour.commodityManage.dao.impl.CommodityTypeDAOImpl]

to required type [com.strongit.tour.commodityManage.dao.ICommodityDAO]

for property 'commodityDAO']

org.springframework.beans.factory.BeanCreationException:

Error creating bean with name 'tour.service.commodityService'

defined in ServletContext resource

[/WEB-INF/config_user/applicationContext-tour-commodity-service.xml]:

Error setting property values;

nested exception is org.springframework.beans.PropertyAccessExceptionsException:

PropertyAccessExceptionsException (1 errors); nested propertyAccessExceptions are:

[org.springframework.beans.TypeMismatchException:

Failed to convert property value of type [com.strongit.tour.commodityManage.dao.impl.CommodityTypeDAOImpl]

to required type [com.strongit.tour.commodityManage.dao.ICommodityDAO]

for property 'commodityDAO']

PropertyAccessExceptionsException (1 errors)

org.springframework.beans.TypeMismatchException:

Failed to convert property value of type

[com.strongit.tour.commodityManage.dao.impl.CommodityTypeDAOImpl]

to required type [com.strongit.tour.commodityManage.dao.ICommodityDAO]

for property 'commodityDAO'

错误原因:

在dao配置文件中 class="com.strongit.tour.commodityManage.dao.impl.CommodityDAOImpl"

写成了class="com.strongit.tour.commodityManage.dao.impl.CommodityTypeDAOImpl"



11、 级联删除商品的相关图片时报错

将商品hbm.xml文件中图片的相关链接的cascode="none"改为"all"。



12、 添加商品时没有触发action

在<html:form>里的action写错了。



13、 添加商品时没有找到actoin

javax.servlet.ServletException:

Error creating bean with name

'/tour/commodityManage/addCommodityAction'

defined in ServletContext resource

[/WEB-INF/config_user/applicationContext-tour-commodity-action.xml]:

Error setting property values;

nested exception is org.springframework.beans.NotWritablePropertyException:

Invalid property 'commodityService' of bean class

[com.strongit.tour.commodityManage.action.AddCommodityAction]:

Bean property 'commodityService' is not writable or has an invalid setter method:

Does the parameter type of the setter match the return type of the getter?

在AddCommodityAction.do中少了commodityService的set方法

14、 加载工程时有绔绞欢之类的错误

现象:加载工程时有绔绞欢之类的字样的错误,工程不能启动

解决方法:选中工程,选菜单下的Project下的Properties选项,

把字符编码改为UTF-8。

15、 工程中出现没有编译成的class文件

工程中出现没有编译成class文件时,选eclipe里的project的BuildAutomatically就行。

最后

以上就是光亮钢铁侠为你收集整理的实际开发常见错误的全部内容,希望文章能够帮你解决实际开发常见错误所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部