Spring+Hibernate+Struts项目中Tomcat常遇到的问题
2008-03-27 11:25
621 查看
1、启动tomcat时出现的问题:
严重: Exception during cleanup after start failed
LifecycleException: Container StandardContext[/MAMIS.myeclipse.bak] has not been started
解决方案:
把tomcat下conf里(/Tomcat 5.0/conf/Catalina/localhost)的相应文件删了就行了。
实在不行:连同/Tomcat 5.0/webapps和/Tomcat 5.0/work下的都删了。
2、启动tomcat时出现的问题:
2007-08-01 08:53:39,562 [ContextLoader] ERROR Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ModuleInfoService' defined in ServletContext resource [/WEB-INF/bean-service.xml]: Cannot resolve reference to bean 'ModuleInfoServiceImpl' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ModuleInfoServiceImpl' defined in ServletContext resource [/WEB-INF/bean-service.xml]: Cannot resolve reference to bean 'MaModbaseinfoDAO' while setting bean property 'maModbaseinfoDAO'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MaModbaseinfoDAO' is defined
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ModuleInfoServiceImpl' defined in ServletContext resource [/WEB-INF/bean-service.xml]: Cannot resolve reference to bean 'MaModbaseinfoDAO' while setting bean property 'maModbaseinfoDAO'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MaModbaseinfoDAO' is defined
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MaModbaseinfoDAO' is defined
……
解决方案:
bean-service.xml,bean-dao.xml里的配置有问题,如确定没有问题了,再看service实现类里的DAO是不是已经写get,set方法了?
3、页面提示问题
HTTP Status 404 - /MAMIS/
--------------------------------------------------------------------------------
type Status report
message /MAMIS/
description The requested resource (/MAMIS/) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.28
解决方案:
404一般都为配置文件的问题。
4、tomcat报错:
ERROR Cannot create JDBC driver of class 'com.informix.jdbc.IfxDriver' for connect URL '
jdbc:informix-sqli://?.?.?.?:****/mamis:INFORMIXSERVER=mamis;NEWCODESET=gbk,8859-1,819
解决方案:
spring配置文件有错。
正确写法:
<property name="url">
<value>jdbc:informix-sqli://?.?.?.?:****:informixserver=mamis_ser_tcp;database=mamis</value>
</property>
错误写法:
<property name="url">
<value>
jdbc:informix-sqli://?.?.?.?:****:informixserver=mamis_ser_tcp;database=mamis
</value>
</property>
(2007-08-16:)
5、tomcat报错
2007-08-17 10:49:19,156 [ProgramAimChildAction] ERROR org.springframework.orm.hibernate3.HibernateSystemException: Illegal attempt to associate a collection with two open sessions; nested exception is org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
org.springframework.orm.hibernate3.HibernateSystemException: Illegal attempt to associate a collection with two open sessions; nested exception is org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
6、tomcat报错
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition
at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1098)
at org.springframework.orm.hibernate3.HibernateTemplate$18.doInHibernate(HibernateTemplate.java:692)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:690)
at com.cvicse.ks.mamis.common.dao.impl.BaseDAOImpl.updateObject(BaseDAOImpl.java:40)
解决方案:
在web.xml中加入蓝色部分
<!-- 过滤spring中对于hibernate的session关闭管理 -->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
7、页面报错
org.apache.jasper.JasperException: /jsp/system/promaintain/proInfoEdit.jsp(2,0) File "/WEB-INF/××××.tld" not found
解决方案:
对应的标签文件在框架中的位置可能不对。
8、tomcat报错
ERROR a different object with the same identifier value was already associated with the session:
同一个session中关联了两个同ID的实体对象 。
我的代码:
public void updateMaModbaseinfoShxx(MaModbaseinfo maModbaseinfo, String inid)
throws IllegalAccessException, InvocationTargetException {
// 模块基本信息结果集
List moduleInfoList = new ArrayList();
// 根据项目内部代号查询模块基本信息表
moduleInfoList = queryModule(inid);
// 存入记录
for (int i = 0; i < moduleInfoList.size(); i++) {
MaModbaseinfo modInfoPO = new MaModbaseinfo();
MaModbaseinfoVO maModbaseinfoVO = new MaModbaseinfoVO();
maModbaseinfoVO = (MaModbaseinfoVO) moduleInfoList.get(i);
BeanUtils.copyProperties(modInfoPO, maModbaseinfoVO);
modInfoPO.setAc(maModbaseinfo.getAc());
modInfoPO.setAd(maModbaseinfo.getAd());
modInfoPO.setAr(maModbaseinfo.getAr());
modInfoPO.setAn(maModbaseinfo.getAn());
maModbaseinfoDAO.updateObject(modInfoPO);
}
}
解决方案:因为传参和new的对象同在引起的问题,所以不要在此方法中重新new一个对象。
9、页面报错
java.lang.IllegalArgumentException: No bean specified
org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:751)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:937)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
com.cvicse.ks.mamis.common.context.AppRequestEncodingFilter.doFilter(AppRequestEncodingFilter.java:40)
解决方案:
jsp页面中包含一些隐藏域出现问题。
严重: Exception during cleanup after start failed
LifecycleException: Container StandardContext[/MAMIS.myeclipse.bak] has not been started
解决方案:
把tomcat下conf里(/Tomcat 5.0/conf/Catalina/localhost)的相应文件删了就行了。
实在不行:连同/Tomcat 5.0/webapps和/Tomcat 5.0/work下的都删了。
2、启动tomcat时出现的问题:
2007-08-01 08:53:39,562 [ContextLoader] ERROR Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ModuleInfoService' defined in ServletContext resource [/WEB-INF/bean-service.xml]: Cannot resolve reference to bean 'ModuleInfoServiceImpl' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ModuleInfoServiceImpl' defined in ServletContext resource [/WEB-INF/bean-service.xml]: Cannot resolve reference to bean 'MaModbaseinfoDAO' while setting bean property 'maModbaseinfoDAO'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MaModbaseinfoDAO' is defined
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ModuleInfoServiceImpl' defined in ServletContext resource [/WEB-INF/bean-service.xml]: Cannot resolve reference to bean 'MaModbaseinfoDAO' while setting bean property 'maModbaseinfoDAO'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MaModbaseinfoDAO' is defined
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MaModbaseinfoDAO' is defined
……
解决方案:
bean-service.xml,bean-dao.xml里的配置有问题,如确定没有问题了,再看service实现类里的DAO是不是已经写get,set方法了?
3、页面提示问题
HTTP Status 404 - /MAMIS/
--------------------------------------------------------------------------------
type Status report
message /MAMIS/
description The requested resource (/MAMIS/) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.28
解决方案:
404一般都为配置文件的问题。
4、tomcat报错:
ERROR Cannot create JDBC driver of class 'com.informix.jdbc.IfxDriver' for connect URL '
jdbc:informix-sqli://?.?.?.?:****/mamis:INFORMIXSERVER=mamis;NEWCODESET=gbk,8859-1,819
解决方案:
spring配置文件有错。
正确写法:
<property name="url">
<value>jdbc:informix-sqli://?.?.?.?:****:informixserver=mamis_ser_tcp;database=mamis</value>
</property>
错误写法:
<property name="url">
<value>
jdbc:informix-sqli://?.?.?.?:****:informixserver=mamis_ser_tcp;database=mamis
</value>
</property>
(2007-08-16:)
5、tomcat报错
2007-08-17 10:49:19,156 [ProgramAimChildAction] ERROR org.springframework.orm.hibernate3.HibernateSystemException: Illegal attempt to associate a collection with two open sessions; nested exception is org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
org.springframework.orm.hibernate3.HibernateSystemException: Illegal attempt to associate a collection with two open sessions; nested exception is org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
6、tomcat报错
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition
at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1098)
at org.springframework.orm.hibernate3.HibernateTemplate$18.doInHibernate(HibernateTemplate.java:692)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:690)
at com.cvicse.ks.mamis.common.dao.impl.BaseDAOImpl.updateObject(BaseDAOImpl.java:40)
解决方案:
在web.xml中加入蓝色部分
<!-- 过滤spring中对于hibernate的session关闭管理 -->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
7、页面报错
org.apache.jasper.JasperException: /jsp/system/promaintain/proInfoEdit.jsp(2,0) File "/WEB-INF/××××.tld" not found
解决方案:
对应的标签文件在框架中的位置可能不对。
8、tomcat报错
ERROR a different object with the same identifier value was already associated with the session:
同一个session中关联了两个同ID的实体对象 。
我的代码:
public void updateMaModbaseinfoShxx(MaModbaseinfo maModbaseinfo, String inid)
throws IllegalAccessException, InvocationTargetException {
// 模块基本信息结果集
List moduleInfoList = new ArrayList();
// 根据项目内部代号查询模块基本信息表
moduleInfoList = queryModule(inid);
// 存入记录
for (int i = 0; i < moduleInfoList.size(); i++) {
MaModbaseinfo modInfoPO = new MaModbaseinfo();
MaModbaseinfoVO maModbaseinfoVO = new MaModbaseinfoVO();
maModbaseinfoVO = (MaModbaseinfoVO) moduleInfoList.get(i);
BeanUtils.copyProperties(modInfoPO, maModbaseinfoVO);
modInfoPO.setAc(maModbaseinfo.getAc());
modInfoPO.setAd(maModbaseinfo.getAd());
modInfoPO.setAr(maModbaseinfo.getAr());
modInfoPO.setAn(maModbaseinfo.getAn());
maModbaseinfoDAO.updateObject(modInfoPO);
}
}
解决方案:因为传参和new的对象同在引起的问题,所以不要在此方法中重新new一个对象。
9、页面报错
java.lang.IllegalArgumentException: No bean specified
org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:751)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:937)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
com.cvicse.ks.mamis.common.context.AppRequestEncodingFilter.doFilter(AppRequestEncodingFilter.java:40)
解决方案:
jsp页面中包含一些隐藏域出现问题。
相关文章推荐
- Eclipse 3.2 + lomboz + Tomcat 5.5 开发Struts 项目时遇到的问题
- struts2+hibernate+spring整合过程中遇到的问题
- 使用spring4.1 hibernate4.1 struts2.1 Tomcat8 部署项目异常解决方法
- springboot中整合activiti流程设计器时遇到访问项目需要输入tomcat用户名和密码的问题
- id to load is required for loading 对Struts,Hibernate,Spring整合开发中遇到问题
- id to load is required for loading 对Struts,Hibernate,Spring整合开发中遇到问题
- 用spring+struts2+hibernate开发的项目放到服务器上时由于服务器不能联网,启动tomcat报错。
- 配置Spring+struts2+hibernate时遇到的问题
- springboot项目打成war包部署到tomcat遇到的一些问题
- 在本地tomcat中调试Spring boot项目遇到的一些问题
- Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(2)
- spring 与struts 和 Hibernate集成时可能遇到的问题
- 采用共享jar包部署struts2+spring集成项目会遇到的问题
- Struts+Spring+Hibernate项目框架构建中的问题及解决方法集锦(1)
- 项目中Struts+Spring+Hibernate的基本流程
- 项目中Struts+Spring+Hibernate的基本流程
- struts+spring+hibernate整合出现的问题解决方法
- struts+spring+hibernate整合问题解决方法
- Struts2.3+Spring2.5.6+JPA(Hibernate3)项目移植入WebLogic12容器,并整合入MyEclipse10 图文详解
- 项目搭建 Struts1.x/Struts2.x+Hibernate+Spring