您的位置:首页 > 运维架构 > Tomcat

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页面中包含一些隐藏域出现问题。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息