`
zengbo0710
  • 浏览: 417001 次
社区版块
存档分类
最新评论

用struts+hibernate做网站中遇到的问题与解决过程

阅读更多

1.如果:去除web.xml,或web.xml中
<servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
 写错。
则:报错信息:
javax.servlet.ServletException: Cannot find message resources under key org.apache.struts.action.MESSAGE
web.xml在tomcat启动时读取。

2.net.sf.hibernate.MappingException: Error reading resource: hibernate/Hello_Bean.hbm.xml
如果出现这行错误说明你的hibernate的XML配置文件有错


3.net.sf.hibernate.MappingException: Resource: hibernate/Hello_Bean.hbm.xml not found
如果出现这行错误说明hibernate的XML配置文件没有找到,你应该把XML文件放在与你的类文件同个目录下,本文中是放在hibernate\classes\hibernate\目录下,也就是跟Hello_Bean.c

lass类文件一起。

4.net.sf.hibernate.PropertyNotFoundException: Could not find a setter for property name in class hibernate.Hello_Bean
如果出现这行错误说明你的xml文件里设置的字段名name的值与Hello_Bean.java类里的getXXX或setXXX方法不一致。

5.net.sf.hibernate.HibernateException: JDBC Driver class not found: org.gjt.mm.mysql.Driver
如果出现这行错误说明你的MYSQL驱动没有加进JB库里或者不在CLASSPATH里。

6.报错:
javax.servlet.ServletException: Exception creating bean of class cn.org.sppc.ipmanager.struts.form.LoginForm: {1}
分析:
在WEB-INF/classes中找不到相对应的LoginForm文件,或者LoginForm没有继承ActionForm类。

7.报错:
javax.servlet.ServletException: persistent class not found: User
分析:
类名User没有在User.hbm.xml文件中写上包名全称,或类持久化类没有找到。


8.报错:
javax.servlet.ServletException: JDBC Driver class not found: org.gjt.mm.mysql.Driver

[WARN] SessionFactoryImpl - -No dialect set - using GenericDialect: Dialect class not found:
   net.sf.hibernate.dialect.MySQLDialect
  
[FATAL] DriverManagerConnectionProvider - -JDBC Driver class not found:
   org.gjt.mm.mysql.Driver
  
[WARN] RequestProcessor - -Unhandled Exception thrown: class net.sf.hibernate.HibernateException

 将hibernate.cfg.xml: <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
  改成:<property name="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property>

9.报错:
javax.servlet.ServletException: Cannot find bean articles in any scope
分析:
可能的原因:
1。和tomcat/common/lib/数据库连接jar有关
2。和tomcat/conf/server.xml数据库连接参数有关,ip地址,数据库名称,用户名,密码错误
3。和数据库用户权限更改,权限缩小有关。******重要关系
4。和连接数据库专用class有关。
5。和hibernate.properties中的参数有关。数据库名称,用户名,密码错误。

10.报错:
[FATAL] DatasourceConnectionProvider - -Could not find datasource: java:comp/env/jdbc/soos <javax.naming.NameNotFoundException: Name jdbc is not bound in this

Context>javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
分析:
和tomcat/conf/server.xml数据库连接参数有关。ip地址,数据库名称,用户名,密码错误。


11.javax.servlet.ServletException: Servlet execution threw an exception
[FATAL] DatasourceConnectionProvider - -Could not find datasource: java:comp/env/jdbc/soos <javax.naming.NameNotFoundException: Name jdbc is not bound in this

Context>javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
分析:
和tomcat/conf/server.xml数据库连接参数有关。ip地址,数据库名称,用户名,密码错误。
和tomcat/conf/server.xml中的<Context path="/soos" docBase="soos">有关


12.net.sf.hibernate.QueryException: could not resolve property type: username [select user.password from cn.org.sppc.ipmanager.User user where user.username=?]
解决方法:username在Form类中、在Hibernate的xml文件中和相对应的PO对象中名称都要保持一致(包括大小写)。包括struts-config.xml中的。


13.javax.servlet.jsp.JspException: No getter method for property username of bean org.apache.struts.taglib.html.BEAN
username名称在jsp文件中和在Form类中的不一致。包括struts-config.xml中的。


14.[ERROR] ManagerBase - -IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException:
org.apache.commons.logging.impl.SimpleLog <java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException:
org.apache.commons.logging.impl.SimpleLog>java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException:
org.apache.commons.logging.impl.SimpleLog
Caused by: java.io.NotSerializableException: org.apache.commons.logging.impl.SimpleLog

[ERROR] ManagerBase - -Exception loading sessions from persistent storage <java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: org.apache.commons.logging.impl.SimpleLog>java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: org.apache.commons.logging.impl.SimpleLog
Caused by: java.io.NotSerializableException: org.apache.commons.logging.impl.SimpleLog

和其他web服务中有logging服务有关。


15.问题:从jsp表单中提交的中文到了action 中从ActionForm中获得的,以及从request.getParameter()中获得的都是乱码的问题。
解决:虽然打印在tomcat console上的是乱码,但是写到数据库中的却是正确的。

16.Missing message for key  XXXX.XXXX
1.检查 struts-config.xml中是否包含
 <message-resources parameter="com.abcde.ApplicationResources" />
2.在WEB-INF/classes/com/abcde/ApplicationResources.properties是否存在。注意在struts-config.xml中没有properties。
3.检查ApplicationResources.properties是否存在XXX.XXX,我就是因为名字太长没仔细看,一直以为写的是正确的,其实有一个字母写错。查了老半天。
总结:
在没有软件检查语法的地方,首先要仔细检查单词是否写错。例如eclipse不检查非java的代码,除非你装了某个插件。
即使是java代码,eclipse不会告诉你,request.getParameter()中的string参数是否正确,
不会告诉你sql语句是否正确。


17.自己程序中的log.trace, log.info, log.warn等,都没有显示在console中。
原因:发现eclipse没有保存时候自动编译,修改eclipse设置。


18.
<%
String s="ttt.ddd.txt";
String fileNameArray[]=s.split(".");

out.println(fileNameArray.length);
for (int i = 0;i<fileNameArray.length;i++)
{
 out.println(fileNameArray[i]);
}
%>
想把文件名分别保存,做了以上的jsp程序,发现不行。想了老半天原来应该这么写。
<%
String s="ttt.txt.abc.yyy.ssdsd";
String fileNameArray[]=s.split("\\.");

out.println(fileNameArray.length);
for (int i = 0;i<fileNameArray.length;i++)
{
 out.println(fileNameArray[i]);
}
%>
以后玩字符串的时候要注意一些字符的转义了。


19.No action instance for path /dispatchwebshow could be created
解决方法:
struts.config.xml中的相关action 有名称写错,例如:type参数的值有错误。


20.在mysql数据库里定义index这种sql语句关键字作为数据库字段出错。

21.[DEBUG] RequestProcessor - - Looking for Action instance for class cn.org.sppc.ipmanager.struts.action.LogonAction
javax.naming.NameNotFoundException: Name hibernate_connection_factory is not bound in this Context

估计是修改*.hbm.xml文件后发生*.hbm.xml文件语法错误。
研究后发现是hbm.xml和Java之间的不匹配。
子类xml文件中的many-to-one 中name应该写子类中对应的父类属性,class=父类。
子类Java文件中应该定义 父类,和 父类的id号,
父类xml文件中的set中name应该是子类的集合。
父类java文件中应该定义 子类的集合属性.
否则就可能报以上错误。

22.hibernate 2个表联合查询的问题。
在编程过程中发现需要修改表结构,对某个表增加一个id来关联另一个表的主键。
表结构修改后,就开始写hibernate HQL语句,然后取出联合查询的结果,发现另一个表里的数据没有读出,老是报错:java.lang.NullPointException。
我一直以为要么是HQL语句语法错误,要么是HQL语句逻辑上写错,造成读出null数据来。
断断续续对着HQL语句写法搞了一天,终于查出原因,原本新建的用来关联另一个表的主键id,还没有手工添加数据,查出数据来倒真的成了怪事了。
看来还是HQL语句不熟练的问题,否则早就应该自信的想到是其他原因。

23.
HQL语法正确: 
String queryString = "select type.typeid, type.typeName, type.comment, type.index, " +
   " type.parentTypeid, type.department.departmentName " +
   " ,type" + //有没有此对象都可以读出其他数据
   " from  cn.org.sppc.ipmanager.hibernate.Type as type " +        
   " inner join type.department as department " +
   " where type.parentTypeid=? "+
   //" and type.department.departmentid=type.departmentid "+//此处错误
   " order by type.index";

以下HQL也能得到同样的数据
   String queryString="select type,type.department " +
    " from cn.org.sppc.ipmanager.hibernate.Type as type"+
    " where type.parentTypeid=? "+
    " order by type.index " ;

 

分享到:
评论

相关推荐

    图书管理系统spring+struts+hibernate

    《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...

    struts+hibernate 项目

    这个“Struts+Hibernate项目”旨在为开发者提供一个学习和实践的平台,帮助他们快速理解这两种框架的集成使用,并应用于实际项目开发。 Struts是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于...

    简单struts+spring+hibernate搭建,配置

    简单struts+spring+hibernate搭建,配置,适合初学者

    jsp+JavaScript+struts+hibernate+css+mysql的网上书店

    【标题】"jsp+JavaScript+struts+hibernate+css+mysql的网上书店"是一个基于Java技术栈的Web应用程序示例,它整合了多种技术来实现一个完整的网上书店系统。这个项目涉及到的主要技术包括: 1. **JSP(JavaServer ...

    JAVA struts+hibernate实现的网络购物系统.zip

    JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA ...

    AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架)

    AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架) AJAX实现用户登录注册(Struts+Spring+Hibernate+Ajax框架)

    struts+hibernate整合jar包

    Struts和Hibernate是两个在Java Web开发中广泛使用的开源框架。Struts主要负责MVC(Model-View-Controller)架构的实现,提供控制层的功能,而Hibernate则是一个强大的对象关系映射(ORM)工具,用于简化数据库操作...

    Struts+Hibernate增删改查

    因项目还在开发,所以本人只拿出一块单独的struts+hibernate增、删、改、查来演示,具体的一些包一看就知道; 项目直接在MyEclipse6.0运行,环境是里面自带的,用过的人都知道。本人测试没有问题。 具体的页面...

    论坛系统项目(Struts 2+Hibernate+Spring实现)

    论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    如何整合这4个开源框架进行J2EE开发,如何基于MyEclipseIDE进行开发,J2EE开发的基础和基础环境搭配,Struts、Hibernate、Spring、Eclipse四个框架的使用,如何整合Struts+Hibernate+Spring+Eclipse框架。...

    一个spring+struts+hibernate的例子

    一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流

    JSP-车辆管理系统(struts+hibernate+spring+oracle)

    JSP-车辆管理系统(struts+hibernate+spring+oracle) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! JSP-车辆管理系统(struts+hibernate+spring+oracle) JSP-车辆管理系统(struts+hibernate+spring+oracle) ...

    基于struts+hibernate+spring的用户管理系统

    【基于Struts+Hibernate+Spring的用户管理系统】是一种常见的企业级Web应用架构,它整合了三个主流的Java技术框架,以构建高效、可维护性高的系统。Struts提供了MVC(Model-View-Controller)设计模式,使得业务逻辑...

    整合Struts+Hibernate+Spring应用开发详解

    本光盘是《整合Struts+Hibernate+Spring应用开发详解》一书的配书光盘,书中的代码按章存放, 即第二章所使用的代码放在codes文件夹的02文件夹下,依次类推。 本光盘根目录下有11个文件夹,其内容和含义说明如下: ...

    开发者突击·Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)源码

    在《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit技术。 随书附赠光盘内容包括《开发者突击:Java Web主流框架整合开发(J2EE+...

    车辆管理系统(struts+hibernate+spring+oracle).rar

    这个系统的核心架构是使用了经典的Java企业级开发框架组合:Struts、Hibernate、Spring以及Oracle数据库。接下来,我们将详细讨论这些技术在车辆管理系统中的作用和相关知识点。 1. Struts: Struts是Apache组织...

    网上图书系统(Struts+Hibernate+Jsp)

    网上图书系统是一个基于Web的应用程序,它整合了Struts、Hibernate和JSP三大技术,用于实现在线图书管理和销售的功能。这个系统通常包含用户界面、业务逻辑层和数据持久化层,下面将详细介绍这三个核心技术及其在...

    struts+hibernate做的商城

    Struts和Hibernate是两种在Java Web开发中广泛使用的开源框架,它们共同构成了许多企业级应用的基础。本项目是一个基于Struts和Hibernate实现的在线商城系统,具有完整的功能和良好的架构设计。 Struts是一个用于...

    计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle)

    计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle) 计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+hibernate+spring+oracle) 计算机毕业设计成品 JAVA JSP 车辆管理系统(struts+...

    DWR+Struts+spring+hibernate的订货系统

    DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能

Global site tag (gtag.js) - Google Analytics