一个基于SSH的实践项目在开发过程中遇到的问题汇总

项目名称:物流信息管理系统

项目性质:实践模拟

SSH版本:Struts2.1+Spring3.0+Hibernate3.2

IDE:MyEclipse2014(太新不推荐)

完成时间:2014年8月


-------------------------------------------------------------------
HTTP Status 500 - Unable to instantiate Action, cn.elmis.action.background.showAllVehiclesAction, defined for 'showAllVehiclesAction' in namespace '/page/background'cn.elmis.action.background.showAllVehiclesAction


【原因与解决方法】
原因是strutts.xml中的class文件路径没有用spring定义的bean替代,修改即可。



-------------------------------------------------------------------
java.lang.reflect.InvocationTargetException


【原因与解决方法】
hibernate与struts的jar包冲突,检查build path和 web-inf/lib下的jar包,把hibernate与struts中相同名字的包删除其中一个。
注:myeclipse中的Library不能直接删除Library中的某一jar包,建议删除导入的对应的Library,然后把删除的Library中的jar包删减后copy到web-inf/lib目录下。(myeclipse的jar包文件可以如下图展开Library找到)


-------------------------------------------------------------------
复制项目部署后URL依然为原项目名


【解决方法】
右键项目选择propertise,输入web,修改Web Context-root为新的项目名(或指定为其他项目名),点击保存后移除Tomcat上已部署的该项目,重新部署即可。
注:是否更改成功可以看Tomcat Server中是否存在更改后名字的部署项目。


--------------------------------------------------------------------
修改struts.xml后浏览器404无法访问该项目,提示路径不存在


【原因与解决方法】
很多时候是struts.xml存在语法问题,需确保struts.xml不存在语法问题,能正常编译。


--------------------------------------------------------------------
HTTP Status 500 - Invalid action class configuration that references an unknown class named [vehiclesActionBean]


【原因与解决方法】
调用该Action的页面的表单中有一项是日期,填写不规范时导致运行时抛出异常,由于抛异常的类被spring托管(抛异常的类在spring定义了id="vehiclesActionBean"),所以出现如上异常提示。
解决方法为确保输入时正确不会导致运行时异常。


--------------------------------------------------------------------
java.lang.NoSuchMethodException: cn.elmis.action.background.VehiclesAction.modifyVehicle()


【原因与解决方法】
在Action中编写的modifyVehicle方法不小心写成了public string modifyVehicle(Vehicle vehicle){……},由于struts中寻找的是无参的方法,所以提示寻找不到对应的方法。
删去modifyVehicle方法中的参数即可。


---------------------------------------------------------------------
BIRT报表技术
添加myeclipse report web runtime facet之后浏览器无法访问该项目


【原因与解决方法】
一个本来能访问的项目添加某框架后变成404无法访问时,应该考虑是否jar包冲突。
本次解决方法为删除导入的jar包和build path,然后重新导入myeclipse中的报表技术相关的jar包。
注:由于使用了旧版的jar包,所以后边创建report时需修改report的版本属性。


---------------------------------------------------------------------
BIRT报表技术
There is no report design object available.


【原因与解决方法】
在BIRT中导致这个错误的有多种可能,其中最常见的是版本冲突。
打开XX.rptdesign报表,以xml显示其代码
修改
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.22" id="1">
中的version,本次错误中把3.2.23改成3.2.22即可。


----------------------------------------------------------------------
BIRT报表技术
report-viewer/birt/…….jsp 编译错误


【原因与解决方法】
版本问题,把myeclipse 10生成的框架的report-viewer文件夹覆盖myeclipse 2014的report-viewer文件夹


----------------------------------------------------------------------
BIRT报表技术
java.lang.OutOfMemoryError


【原因与解决方法】
内存溢出。
如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下使用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)
那么就会产生此错误信息了。
方法一: 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE:    $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
(按以上数据虽然能运行,但始终不稳定,建议用下边提到的在myeclipse中设置参数的方法)

方法二:在myeclipse中直接设置参数

Preference->Service->Tomcat->Tomcat 7.x
在Optional program arguments中添加如下参数
-Xmx256M -Xms128M -XX:MaxPermSize=128m

建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。



-----------------------------------------------------------------------
无法触发导入的js(jquery)


【原因与解决方法】
原因1:可能是导入的js路径不正确
原因2:使用了advance jsp,把jsp页面开头的内容替换成basic jsp的格式再导入js即可(MyEclipse中创建JSP时可以选择advance jsp或 basic jsp的)


-----------------------------------------------------------------------
添加css样式后页面刷新需要相当长的时间


【原因与解决方法】
css中引用了在线css文件(import src="http://XXXXXX)
由于网速不好所以导致无法获取该在线css文件,结果呈现为页面刷新慢,删掉该引用即可。


-----------------------------------------------------------------------
登录界面的css样式无法读取,当成功登录后返回则可以呈现


【原因与解决方法】
项目中配置了拦截器拦截未登录用户直接访问页面,但是忘记添加对js、css的拦截释放,修改拦截器java类中的代码,添加对js、css的拦截释放即可。


------------------------------------------------------------------------
修改页面样式后没显示更新


【原因与解决方法】
由于缓存的原因修改页面图片后不一定会更新得到,可以使用ctrl+F5强刷新页面。


------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值